0s autopkgtest [05:54:17]: starting date and time: 2025-05-02 05:54:17+0000 0s autopkgtest [05:54:17]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production' 0s autopkgtest [05:54:17]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.fmqo2wn2/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python-azure --apt-upgrade ansible --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python-azure/20250401+git-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-arm64-8.secgroup --name adt-questing-arm64-ansible-20250502-055417-juju-7f2275-prod-proposed-migration-environment-15-005b8f7f-258c-4af9-a52e-5f760073aa20 --image adt/ubuntu-questing-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 133s autopkgtest [05:56:30]: testbed dpkg architecture: arm64 134s autopkgtest [05:56:31]: testbed apt version: 3.0.0 134s autopkgtest [05:56:31]: @@@@@@@@@@@@@@@@@@@@ test bed setup 134s autopkgtest [05:56:31]: testbed release detected to be: None 135s autopkgtest [05:56:32]: updating testbed package index (apt update) 135s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 135s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 135s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 136s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 136s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [184 kB] 136s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [57.4 kB] 136s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2202 kB] 136s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main arm64 Packages [227 kB] 136s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe arm64 Packages [1472 kB] 136s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse arm64 Packages [16.5 kB] 136s Fetched 4269 kB in 1s (3479 kB/s) 137s Reading package lists... 138s autopkgtest [05:56:35]: upgrading testbed (apt dist-upgrade and autopurge) 138s Reading package lists... 138s Building dependency tree... 138s Reading state information... 139s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 139s Starting 2 pkgProblemResolver with broken count: 0 139s Done 140s Entering ResolveByKeep 140s 140s Calculating upgrade... 141s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 141s Reading package lists... 141s Building dependency tree... 141s Reading state information... 141s Starting pkgProblemResolver with broken count: 0 141s Starting 2 pkgProblemResolver with broken count: 0 141s Done 142s Solving dependencies... 142s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 145s autopkgtest [05:56:42]: testbed running kernel: Linux 6.14.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Sun Apr 6 14:37:51 UTC 2025 145s autopkgtest [05:56:42]: @@@@@@@@@@@@@@@@@@@@ apt-source ansible 149s Get:1 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (dsc) [3353 B] 149s Get:2 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (tar) [26.7 MB] 149s Get:3 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (diff) [32.9 kB] 149s gpgv: Signature made Thu Feb 27 17:38:46 2025 UTC 149s gpgv: using RSA key D847C62510A9C2FF242CE02CD604A1C4823EE0F8 149s gpgv: Can't check signature: No public key 149s dpkg-source: warning: cannot verify inline signature for ./ansible_11.2.0+dfsg-1.dsc: no acceptable signature found 153s autopkgtest [05:56:50]: testing package ansible version 11.2.0+dfsg-1 153s autopkgtest [05:56:50]: build not needed 168s autopkgtest [05:57:05]: test unit-tests-stable.py: preparing testbed 168s Reading package lists... 168s Building dependency tree... 168s Reading state information... 168s Starting pkgProblemResolver with broken count: 0 169s Starting 2 pkgProblemResolver with broken count: 0 169s Done 169s The following NEW packages will be installed: 169s ansible ansible-core fontconfig-config fonts-dejavu-core fonts-dejavu-mono 169s gir1.2-secret-1 git git-man libcairo-gobject2 libcairo2 liberror-perl 169s libfontconfig1 libpixman-1-0 libsecret-1-0 libsecret-common libsodium23 169s libxcb-render0 libxcb-shm0 libxrender1 libxslt1.1 python3-adal 169s python3-aiohappyeyeballs python3-aiohttp python3-aiosignal 169s python3-async-timeout python3-avro python3-azure python3-azure-storage 169s python3-boto3 python3-botocore python3-cachetools python3-cairo 169s python3-click python3-colorama python3-dateutil python3-deprecated 169s python3-dnspython python3-execnet python3-flake8 python3-freezegun 169s python3-frozenlist python3-gi-cairo python3-gitlab python3-google-auth 169s python3-httmock python3-hvac python3-iniconfig python3-isodate 169s python3-jmespath python3-joblib python3-kubernetes python3-lxml 169s python3-marshmallow python3-mccabe python3-mock python3-msal 169s python3-msal-extensions python3-msrest python3-msrestazure python3-multidict 169s python3-nacl python3-nltk python3-packaging python3-paramiko 169s python3-pathspec python3-pluggy python3-portalocker python3-proxmoxer 169s python3-psutil python3-py python3-pyasn1 python3-pyasn1-modules 169s python3-pycodestyle python3-pydash python3-pyflakes python3-pyhcl 169s python3-pytest python3-pytest-forked python3-pytest-mock 169s python3-pytest-xdist python3-pyu2f python3-pyvmomi python3-redis 169s python3-regex python3-requests-oauthlib python3-requests-toolbelt 169s python3-resolvelib python3-responses python3-rsa python3-ruamel.yaml 169s python3-ruamel.yaml.clib python3-s3transfer python3-six python3-strictyaml 169s python3-textfsm python3-tqdm python3-websocket python3-wrapt 169s python3-xmltodict python3-yarl yamllint 169s 0 upgraded, 101 newly installed, 0 to remove and 0 not upgraded. 169s Need to get 58.8 MB of archives. 169s After this operation, 992 MB of additional disk space will be used. 169s Get:1 http://ftpmaster.internal/ubuntu questing/main arm64 python3-packaging all 24.2-1 [51.5 kB] 170s Get:2 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-resolvelib all 1.1.0-1 [25.8 kB] 170s Get:3 http://ftpmaster.internal/ubuntu questing/main arm64 libsodium23 arm64 1.0.18-1build3 [119 kB] 170s Get:4 http://ftpmaster.internal/ubuntu questing/main arm64 python3-nacl arm64 1.5.0-7 [56.2 kB] 170s Get:5 http://ftpmaster.internal/ubuntu questing/main arm64 python3-paramiko all 3.5.1-2ubuntu1 [147 kB] 170s Get:6 http://ftpmaster.internal/ubuntu questing/main arm64 python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 170s Get:7 http://ftpmaster.internal/ubuntu questing/universe arm64 ansible-core all 2.18.1-4ubuntu1 [1273 kB] 170s Get:8 http://ftpmaster.internal/ubuntu questing/universe arm64 ansible all 11.2.0+dfsg-1 [18.1 MB] 170s Get:9 http://ftpmaster.internal/ubuntu questing/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 170s Get:10 http://ftpmaster.internal/ubuntu questing/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 171s Get:11 http://ftpmaster.internal/ubuntu questing/main arm64 fontconfig-config arm64 2.15.0-2.2ubuntu1 [37.9 kB] 171s Get:12 http://ftpmaster.internal/ubuntu questing/main arm64 libsecret-common all 0.21.7-1 [5160 B] 171s Get:13 http://ftpmaster.internal/ubuntu questing/main arm64 libsecret-1-0 arm64 0.21.7-1 [116 kB] 171s Get:14 http://ftpmaster.internal/ubuntu questing/main arm64 gir1.2-secret-1 arm64 0.21.7-1 [9380 B] 171s Get:15 http://ftpmaster.internal/ubuntu questing/main arm64 liberror-perl all 0.17030-1 [23.5 kB] 171s Get:16 http://ftpmaster.internal/ubuntu questing/main arm64 git-man all 1:2.48.1-0ubuntu1 [1148 kB] 171s Get:17 http://ftpmaster.internal/ubuntu questing/main arm64 git arm64 1:2.48.1-0ubuntu1 [4219 kB] 171s Get:18 http://ftpmaster.internal/ubuntu questing/main arm64 libfontconfig1 arm64 2.15.0-2.2ubuntu1 [144 kB] 171s Get:19 http://ftpmaster.internal/ubuntu questing/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 171s Get:20 http://ftpmaster.internal/ubuntu questing/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 171s Get:21 http://ftpmaster.internal/ubuntu questing/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 171s Get:22 http://ftpmaster.internal/ubuntu questing/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 171s Get:23 http://ftpmaster.internal/ubuntu questing/main arm64 libcairo2 arm64 1.18.4-1 [560 kB] 171s Get:24 http://ftpmaster.internal/ubuntu questing/main arm64 libcairo-gobject2 arm64 1.18.4-1 [127 kB] 171s Get:25 http://ftpmaster.internal/ubuntu questing/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu4 [168 kB] 171s Get:26 http://ftpmaster.internal/ubuntu questing/main arm64 python3-dateutil all 2.9.0-4 [80.3 kB] 171s Get:27 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-adal all 1.2.7-5 [33.0 kB] 171s Get:28 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-aiohappyeyeballs all 2.6.1-1 [11.1 kB] 171s Get:29 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-multidict arm64 6.2.0-2 [35.4 kB] 171s Get:30 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-yarl arm64 1.13.1-1build2 [93.8 kB] 171s Get:31 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-async-timeout all 5.0.1-1 [6830 B] 171s Get:32 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-frozenlist arm64 1.5.0-1build2 [48.2 kB] 171s Get:33 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-aiosignal all 1.3.2-1 [5182 B] 171s Get:34 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-aiohttp arm64 3.10.11-1build1 [298 kB] 171s Get:35 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-avro all 1.12.0+dfsg-1 [75.3 kB] 171s Get:36 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-isodate all 0.7.0-1 [18.6 kB] 171s Get:37 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 171s Get:38 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-msrest all 0.6.21-5 [48.7 kB] 171s Get:39 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-msrestazure all 0.6.4-4 [27.1 kB] 171s Get:40 http://ftpmaster.internal/ubuntu questing-proposed/universe arm64 python3-azure-storage all 20250401+git-1 [300 kB] 171s Get:41 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-colorama all 0.4.6-4 [32.1 kB] 171s Get:42 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-marshmallow all 3.26.1-0.2 [47.5 kB] 171s Get:43 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-msal all 1.32.0-1 [100 kB] 171s Get:44 http://ftpmaster.internal/ubuntu questing/main arm64 python3-cairo arm64 1.27.0-2 [122 kB] 171s Get:45 http://ftpmaster.internal/ubuntu questing/main arm64 python3-gi-cairo arm64 3.50.0-4build1 [7960 B] 171s Get:46 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-portalocker all 2.2.1-1 [17.2 kB] 171s Get:47 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-msal-extensions all 1.3.1-1 [18.2 kB] 171s Get:48 http://ftpmaster.internal/ubuntu questing/main arm64 python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 171s Get:49 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-joblib all 1.4.2-3 [205 kB] 171s Get:50 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-regex arm64 0.1.20241106-1build1 [287 kB] 171s Get:51 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-tqdm all 4.67.1-3 [91.6 kB] 171s Get:52 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-nltk all 3.9.1-2 [1006 kB] 171s Get:53 http://ftpmaster.internal/ubuntu questing/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 171s Get:54 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pydash all 8.0.3-3 [93.0 kB] 171s Get:55 http://ftpmaster.internal/ubuntu questing/main arm64 python3-six all 1.17.0-1 [13.2 kB] 171s Get:56 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-ruamel.yaml.clib arm64 0.2.12+ds-1build1 [138 kB] 171s Get:57 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 171s Get:58 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-strictyaml all 1.6.1-3 [89.1 kB] 171s Get:59 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-websocket all 1.8.0-2 [38.5 kB] 171s Get:60 http://ftpmaster.internal/ubuntu questing-proposed/universe arm64 python3-azure all 20250401+git-1 [16.0 MB] 172s Get:61 http://ftpmaster.internal/ubuntu questing/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 172s Get:62 http://ftpmaster.internal/ubuntu questing/main arm64 python3-botocore all 1.37.9+repack-1 [6982 kB] 172s Get:63 http://ftpmaster.internal/ubuntu questing/main arm64 python3-s3transfer all 0.11.2-2 [55.5 kB] 172s Get:64 http://ftpmaster.internal/ubuntu questing/main arm64 python3-boto3 all 1.37.9-1 [73.0 kB] 172s Get:65 http://ftpmaster.internal/ubuntu questing/main arm64 python3-cachetools all 5.3.3-1 [10.3 kB] 172s Get:66 http://ftpmaster.internal/ubuntu questing/main arm64 python3-wrapt arm64 1.15.0-4build1 [34.2 kB] 172s Get:67 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-deprecated all 1.2.18-1 [10.6 kB] 172s Get:68 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-execnet all 2.1.1-1 [33.4 kB] 172s Get:69 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 172s Get:70 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pycodestyle all 2.12.1-2 [30.2 kB] 172s Get:71 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pyflakes all 3.2.0-3 [53.0 kB] 172s Get:72 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-flake8 all 7.1.1-3 [44.0 kB] 172s Get:73 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-freezegun all 1.5.1-1.2 [15.9 kB] 172s Get:74 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-requests-toolbelt all 1.0.0-4 [37.0 kB] 172s Get:75 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-gitlab all 1:4.9.0-1 [75.0 kB] 172s Get:76 http://ftpmaster.internal/ubuntu questing/main arm64 python3-pyasn1 all 0.6.1-1 [56.4 kB] 172s Get:77 http://ftpmaster.internal/ubuntu questing/main arm64 python3-pyasn1-modules all 0.4.1-2 [80.3 kB] 172s Get:78 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pyu2f all 0.1.5-4 [22.9 kB] 172s Get:79 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-responses all 0.25.6-1 [40.5 kB] 172s Get:80 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-rsa all 4.9-2 [28.2 kB] 172s Get:81 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-google-auth all 2.28.2-3 [91.0 kB] 172s Get:82 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-httmock all 1.4.0-5 [6544 B] 172s Get:83 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pyhcl all 0.4.4-6 [43.1 kB] 172s Get:84 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-hvac all 2.3.0-3 [88.1 kB] 172s Get:85 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 172s Get:86 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-kubernetes all 30.1.0-2 [385 kB] 172s Get:87 http://ftpmaster.internal/ubuntu questing/main arm64 python3-lxml arm64 5.3.2-1 [1258 kB] 172s Get:88 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pathspec all 0.12.1-1 [24.5 kB] 172s Get:89 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 172s Get:90 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-proxmoxer all 2.2.0-1 [16.2 kB] 172s Get:91 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-py all 1.11.0-4 [72.7 kB] 172s Get:92 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pytest all 8.3.5-1 [252 kB] 172s Get:93 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pytest-forked all 1.6.0-3 [7470 B] 172s Get:94 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pytest-mock all 3.14.0-2 [11.7 kB] 172s Get:95 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pytest-xdist all 3.6.1-1 [33.8 kB] 172s Get:96 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pyvmomi all 8.0.3.0.1-1 [532 kB] 172s Get:97 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-redis all 4.3.4-4 [166 kB] 172s Get:98 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-textfsm all 1.1.3-3 [29.3 kB] 172s Get:99 http://ftpmaster.internal/ubuntu questing/main arm64 python3-xmltodict all 0.13.0-1 [13.4 kB] 172s Get:100 http://ftpmaster.internal/ubuntu questing/universe arm64 yamllint all 1.35.1-2 [43.6 kB] 172s Get:101 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-mock all 5.1.0-1 [64.1 kB] 173s Fetched 58.8 MB in 3s (20.8 MB/s) 173s Selecting previously unselected package python3-packaging. 173s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 117820 files and directories currently installed.) 173s Preparing to unpack .../000-python3-packaging_24.2-1_all.deb ... 173s Unpacking python3-packaging (24.2-1) ... 173s Selecting previously unselected package python3-resolvelib. 173s Preparing to unpack .../001-python3-resolvelib_1.1.0-1_all.deb ... 173s Unpacking python3-resolvelib (1.1.0-1) ... 173s Selecting previously unselected package libsodium23:arm64. 173s Preparing to unpack .../002-libsodium23_1.0.18-1build3_arm64.deb ... 173s Unpacking libsodium23:arm64 (1.0.18-1build3) ... 173s Selecting previously unselected package python3-nacl. 173s Preparing to unpack .../003-python3-nacl_1.5.0-7_arm64.deb ... 173s Unpacking python3-nacl (1.5.0-7) ... 173s Selecting previously unselected package python3-paramiko. 173s Preparing to unpack .../004-python3-paramiko_3.5.1-2ubuntu1_all.deb ... 173s Unpacking python3-paramiko (3.5.1-2ubuntu1) ... 173s Selecting previously unselected package python3-dnspython. 173s Preparing to unpack .../005-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 173s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 173s Selecting previously unselected package ansible-core. 173s Preparing to unpack .../006-ansible-core_2.18.1-4ubuntu1_all.deb ... 173s Unpacking ansible-core (2.18.1-4ubuntu1) ... 173s Selecting previously unselected package ansible. 173s Preparing to unpack .../007-ansible_11.2.0+dfsg-1_all.deb ... 173s Unpacking ansible (11.2.0+dfsg-1) ... 176s Selecting previously unselected package fonts-dejavu-mono. 176s Preparing to unpack .../008-fonts-dejavu-mono_2.37-8_all.deb ... 176s Unpacking fonts-dejavu-mono (2.37-8) ... 176s Selecting previously unselected package fonts-dejavu-core. 176s Preparing to unpack .../009-fonts-dejavu-core_2.37-8_all.deb ... 176s Unpacking fonts-dejavu-core (2.37-8) ... 176s Selecting previously unselected package fontconfig-config. 176s Preparing to unpack .../010-fontconfig-config_2.15.0-2.2ubuntu1_arm64.deb ... 176s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ... 176s Selecting previously unselected package libsecret-common. 176s Preparing to unpack .../011-libsecret-common_0.21.7-1_all.deb ... 176s Unpacking libsecret-common (0.21.7-1) ... 176s Selecting previously unselected package libsecret-1-0:arm64. 176s Preparing to unpack .../012-libsecret-1-0_0.21.7-1_arm64.deb ... 176s Unpacking libsecret-1-0:arm64 (0.21.7-1) ... 176s Selecting previously unselected package gir1.2-secret-1:arm64. 176s Preparing to unpack .../013-gir1.2-secret-1_0.21.7-1_arm64.deb ... 176s Unpacking gir1.2-secret-1:arm64 (0.21.7-1) ... 176s Selecting previously unselected package liberror-perl. 176s Preparing to unpack .../014-liberror-perl_0.17030-1_all.deb ... 176s Unpacking liberror-perl (0.17030-1) ... 176s Selecting previously unselected package git-man. 176s Preparing to unpack .../015-git-man_1%3a2.48.1-0ubuntu1_all.deb ... 176s Unpacking git-man (1:2.48.1-0ubuntu1) ... 176s Selecting previously unselected package git. 176s Preparing to unpack .../016-git_1%3a2.48.1-0ubuntu1_arm64.deb ... 176s Unpacking git (1:2.48.1-0ubuntu1) ... 177s Selecting previously unselected package libfontconfig1:arm64. 177s Preparing to unpack .../017-libfontconfig1_2.15.0-2.2ubuntu1_arm64.deb ... 177s Unpacking libfontconfig1:arm64 (2.15.0-2.2ubuntu1) ... 177s Selecting previously unselected package libpixman-1-0:arm64. 177s Preparing to unpack .../018-libpixman-1-0_0.44.0-3_arm64.deb ... 177s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 177s Selecting previously unselected package libxcb-render0:arm64. 177s Preparing to unpack .../019-libxcb-render0_1.17.0-2_arm64.deb ... 177s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 177s Selecting previously unselected package libxcb-shm0:arm64. 177s Preparing to unpack .../020-libxcb-shm0_1.17.0-2_arm64.deb ... 177s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 177s Selecting previously unselected package libxrender1:arm64. 177s Preparing to unpack .../021-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 177s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 177s Selecting previously unselected package libcairo2:arm64. 177s Preparing to unpack .../022-libcairo2_1.18.4-1_arm64.deb ... 177s Unpacking libcairo2:arm64 (1.18.4-1) ... 177s Selecting previously unselected package libcairo-gobject2:arm64. 177s Preparing to unpack .../023-libcairo-gobject2_1.18.4-1_arm64.deb ... 177s Unpacking libcairo-gobject2:arm64 (1.18.4-1) ... 177s Selecting previously unselected package libxslt1.1:arm64. 177s Preparing to unpack .../024-libxslt1.1_1.1.39-0exp1ubuntu4_arm64.deb ... 177s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu4) ... 177s Selecting previously unselected package python3-dateutil. 177s Preparing to unpack .../025-python3-dateutil_2.9.0-4_all.deb ... 177s Unpacking python3-dateutil (2.9.0-4) ... 177s Selecting previously unselected package python3-adal. 177s Preparing to unpack .../026-python3-adal_1.2.7-5_all.deb ... 177s Unpacking python3-adal (1.2.7-5) ... 177s Selecting previously unselected package python3-aiohappyeyeballs. 177s Preparing to unpack .../027-python3-aiohappyeyeballs_2.6.1-1_all.deb ... 177s Unpacking python3-aiohappyeyeballs (2.6.1-1) ... 177s Selecting previously unselected package python3-multidict. 177s Preparing to unpack .../028-python3-multidict_6.2.0-2_arm64.deb ... 177s Unpacking python3-multidict (6.2.0-2) ... 177s Selecting previously unselected package python3-yarl. 177s Preparing to unpack .../029-python3-yarl_1.13.1-1build2_arm64.deb ... 177s Unpacking python3-yarl (1.13.1-1build2) ... 177s Selecting previously unselected package python3-async-timeout. 177s Preparing to unpack .../030-python3-async-timeout_5.0.1-1_all.deb ... 177s Unpacking python3-async-timeout (5.0.1-1) ... 177s Selecting previously unselected package python3-frozenlist. 177s Preparing to unpack .../031-python3-frozenlist_1.5.0-1build2_arm64.deb ... 177s Unpacking python3-frozenlist (1.5.0-1build2) ... 177s Selecting previously unselected package python3-aiosignal. 177s Preparing to unpack .../032-python3-aiosignal_1.3.2-1_all.deb ... 177s Unpacking python3-aiosignal (1.3.2-1) ... 177s Selecting previously unselected package python3-aiohttp. 177s Preparing to unpack .../033-python3-aiohttp_3.10.11-1build1_arm64.deb ... 177s Unpacking python3-aiohttp (3.10.11-1build1) ... 177s Selecting previously unselected package python3-avro. 177s Preparing to unpack .../034-python3-avro_1.12.0+dfsg-1_all.deb ... 177s Unpacking python3-avro (1.12.0+dfsg-1) ... 178s Selecting previously unselected package python3-isodate. 178s Preparing to unpack .../035-python3-isodate_0.7.0-1_all.deb ... 178s Unpacking python3-isodate (0.7.0-1) ... 178s Selecting previously unselected package python3-requests-oauthlib. 178s Preparing to unpack .../036-python3-requests-oauthlib_1.3.1-1_all.deb ... 178s Unpacking python3-requests-oauthlib (1.3.1-1) ... 178s Selecting previously unselected package python3-msrest. 178s Preparing to unpack .../037-python3-msrest_0.6.21-5_all.deb ... 178s Unpacking python3-msrest (0.6.21-5) ... 178s Selecting previously unselected package python3-msrestazure. 178s Preparing to unpack .../038-python3-msrestazure_0.6.4-4_all.deb ... 178s Unpacking python3-msrestazure (0.6.4-4) ... 178s Selecting previously unselected package python3-azure-storage. 178s Preparing to unpack .../039-python3-azure-storage_20250401+git-1_all.deb ... 178s Unpacking python3-azure-storage (20250401+git-1) ... 178s Selecting previously unselected package python3-colorama. 178s Preparing to unpack .../040-python3-colorama_0.4.6-4_all.deb ... 178s Unpacking python3-colorama (0.4.6-4) ... 178s Selecting previously unselected package python3-marshmallow. 178s Preparing to unpack .../041-python3-marshmallow_3.26.1-0.2_all.deb ... 178s Unpacking python3-marshmallow (3.26.1-0.2) ... 178s Selecting previously unselected package python3-msal. 178s Preparing to unpack .../042-python3-msal_1.32.0-1_all.deb ... 178s Unpacking python3-msal (1.32.0-1) ... 178s Selecting previously unselected package python3-cairo. 178s Preparing to unpack .../043-python3-cairo_1.27.0-2_arm64.deb ... 178s Unpacking python3-cairo (1.27.0-2) ... 178s Selecting previously unselected package python3-gi-cairo. 178s Preparing to unpack .../044-python3-gi-cairo_3.50.0-4build1_arm64.deb ... 178s Unpacking python3-gi-cairo (3.50.0-4build1) ... 178s Selecting previously unselected package python3-portalocker. 178s Preparing to unpack .../045-python3-portalocker_2.2.1-1_all.deb ... 178s Unpacking python3-portalocker (2.2.1-1) ... 178s Selecting previously unselected package python3-msal-extensions. 178s Preparing to unpack .../046-python3-msal-extensions_1.3.1-1_all.deb ... 178s Unpacking python3-msal-extensions (1.3.1-1) ... 178s Selecting previously unselected package python3-click. 178s Preparing to unpack .../047-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 178s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 178s Selecting previously unselected package python3-joblib. 178s Preparing to unpack .../048-python3-joblib_1.4.2-3_all.deb ... 178s Unpacking python3-joblib (1.4.2-3) ... 179s Selecting previously unselected package python3-regex. 179s Preparing to unpack .../049-python3-regex_0.1.20241106-1build1_arm64.deb ... 179s Unpacking python3-regex (0.1.20241106-1build1) ... 179s Selecting previously unselected package python3-tqdm. 179s Preparing to unpack .../050-python3-tqdm_4.67.1-3_all.deb ... 179s Unpacking python3-tqdm (4.67.1-3) ... 179s Selecting previously unselected package python3-nltk. 179s Preparing to unpack .../051-python3-nltk_3.9.1-2_all.deb ... 179s Unpacking python3-nltk (3.9.1-2) ... 179s Selecting previously unselected package python3-psutil. 179s Preparing to unpack .../052-python3-psutil_5.9.8-2build3_arm64.deb ... 179s Unpacking python3-psutil (5.9.8-2build3) ... 179s Selecting previously unselected package python3-pydash. 179s Preparing to unpack .../053-python3-pydash_8.0.3-3_all.deb ... 179s Unpacking python3-pydash (8.0.3-3) ... 179s Selecting previously unselected package python3-six. 179s Preparing to unpack .../054-python3-six_1.17.0-1_all.deb ... 179s Unpacking python3-six (1.17.0-1) ... 179s Selecting previously unselected package python3-ruamel.yaml.clib. 179s Preparing to unpack .../055-python3-ruamel.yaml.clib_0.2.12+ds-1build1_arm64.deb ... 179s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 179s Selecting previously unselected package python3-ruamel.yaml. 179s Preparing to unpack .../056-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 179s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 179s Selecting previously unselected package python3-strictyaml. 179s Preparing to unpack .../057-python3-strictyaml_1.6.1-3_all.deb ... 179s Unpacking python3-strictyaml (1.6.1-3) ... 179s Selecting previously unselected package python3-websocket. 179s Preparing to unpack .../058-python3-websocket_1.8.0-2_all.deb ... 179s Unpacking python3-websocket (1.8.0-2) ... 179s Selecting previously unselected package python3-azure. 179s Preparing to unpack .../059-python3-azure_20250401+git-1_all.deb ... 179s Unpacking python3-azure (20250401+git-1) ... 183s Selecting previously unselected package python3-jmespath. 183s Preparing to unpack .../060-python3-jmespath_1.0.1-1_all.deb ... 183s Unpacking python3-jmespath (1.0.1-1) ... 183s Selecting previously unselected package python3-botocore. 183s Preparing to unpack .../061-python3-botocore_1.37.9+repack-1_all.deb ... 183s Unpacking python3-botocore (1.37.9+repack-1) ... 184s Selecting previously unselected package python3-s3transfer. 184s Preparing to unpack .../062-python3-s3transfer_0.11.2-2_all.deb ... 184s Unpacking python3-s3transfer (0.11.2-2) ... 184s Selecting previously unselected package python3-boto3. 184s Preparing to unpack .../063-python3-boto3_1.37.9-1_all.deb ... 184s Unpacking python3-boto3 (1.37.9-1) ... 184s Selecting previously unselected package python3-cachetools. 184s Preparing to unpack .../064-python3-cachetools_5.3.3-1_all.deb ... 184s Unpacking python3-cachetools (5.3.3-1) ... 184s Selecting previously unselected package python3-wrapt. 184s Preparing to unpack .../065-python3-wrapt_1.15.0-4build1_arm64.deb ... 184s Unpacking python3-wrapt (1.15.0-4build1) ... 184s Selecting previously unselected package python3-deprecated. 184s Preparing to unpack .../066-python3-deprecated_1.2.18-1_all.deb ... 184s Unpacking python3-deprecated (1.2.18-1) ... 184s Selecting previously unselected package python3-execnet. 184s Preparing to unpack .../067-python3-execnet_2.1.1-1_all.deb ... 184s Unpacking python3-execnet (2.1.1-1) ... 184s Selecting previously unselected package python3-mccabe. 184s Preparing to unpack .../068-python3-mccabe_0.7.0-1_all.deb ... 184s Unpacking python3-mccabe (0.7.0-1) ... 184s Selecting previously unselected package python3-pycodestyle. 184s Preparing to unpack .../069-python3-pycodestyle_2.12.1-2_all.deb ... 184s Unpacking python3-pycodestyle (2.12.1-2) ... 184s Selecting previously unselected package python3-pyflakes. 185s Preparing to unpack .../070-python3-pyflakes_3.2.0-3_all.deb ... 185s Unpacking python3-pyflakes (3.2.0-3) ... 185s Selecting previously unselected package python3-flake8. 185s Preparing to unpack .../071-python3-flake8_7.1.1-3_all.deb ... 185s Unpacking python3-flake8 (7.1.1-3) ... 185s Selecting previously unselected package python3-freezegun. 185s Preparing to unpack .../072-python3-freezegun_1.5.1-1.2_all.deb ... 185s Unpacking python3-freezegun (1.5.1-1.2) ... 185s Selecting previously unselected package python3-requests-toolbelt. 185s Preparing to unpack .../073-python3-requests-toolbelt_1.0.0-4_all.deb ... 185s Unpacking python3-requests-toolbelt (1.0.0-4) ... 185s Selecting previously unselected package python3-gitlab. 185s Preparing to unpack .../074-python3-gitlab_1%3a4.9.0-1_all.deb ... 185s Unpacking python3-gitlab (1:4.9.0-1) ... 185s Selecting previously unselected package python3-pyasn1. 185s Preparing to unpack .../075-python3-pyasn1_0.6.1-1_all.deb ... 185s Unpacking python3-pyasn1 (0.6.1-1) ... 185s Selecting previously unselected package python3-pyasn1-modules. 185s Preparing to unpack .../076-python3-pyasn1-modules_0.4.1-2_all.deb ... 185s Unpacking python3-pyasn1-modules (0.4.1-2) ... 185s Selecting previously unselected package python3-pyu2f. 185s Preparing to unpack .../077-python3-pyu2f_0.1.5-4_all.deb ... 185s Unpacking python3-pyu2f (0.1.5-4) ... 185s Selecting previously unselected package python3-responses. 185s Preparing to unpack .../078-python3-responses_0.25.6-1_all.deb ... 185s Unpacking python3-responses (0.25.6-1) ... 185s Selecting previously unselected package python3-rsa. 185s Preparing to unpack .../079-python3-rsa_4.9-2_all.deb ... 185s Unpacking python3-rsa (4.9-2) ... 185s Selecting previously unselected package python3-google-auth. 185s Preparing to unpack .../080-python3-google-auth_2.28.2-3_all.deb ... 185s Unpacking python3-google-auth (2.28.2-3) ... 185s Selecting previously unselected package python3-httmock. 185s Preparing to unpack .../081-python3-httmock_1.4.0-5_all.deb ... 185s Unpacking python3-httmock (1.4.0-5) ... 185s Selecting previously unselected package python3-pyhcl. 185s Preparing to unpack .../082-python3-pyhcl_0.4.4-6_all.deb ... 185s Unpacking python3-pyhcl (0.4.4-6) ... 185s Selecting previously unselected package python3-hvac. 185s Preparing to unpack .../083-python3-hvac_2.3.0-3_all.deb ... 185s Unpacking python3-hvac (2.3.0-3) ... 185s Selecting previously unselected package python3-iniconfig. 185s Preparing to unpack .../084-python3-iniconfig_1.1.1-2_all.deb ... 185s Unpacking python3-iniconfig (1.1.1-2) ... 185s Selecting previously unselected package python3-kubernetes. 186s Preparing to unpack .../085-python3-kubernetes_30.1.0-2_all.deb ... 186s Unpacking python3-kubernetes (30.1.0-2) ... 186s Selecting previously unselected package python3-lxml:arm64. 186s Preparing to unpack .../086-python3-lxml_5.3.2-1_arm64.deb ... 186s Unpacking python3-lxml:arm64 (5.3.2-1) ... 186s Selecting previously unselected package python3-pathspec. 186s Preparing to unpack .../087-python3-pathspec_0.12.1-1_all.deb ... 186s Unpacking python3-pathspec (0.12.1-1) ... 186s Selecting previously unselected package python3-pluggy. 186s Preparing to unpack .../088-python3-pluggy_1.5.0-1_all.deb ... 186s Unpacking python3-pluggy (1.5.0-1) ... 186s Selecting previously unselected package python3-proxmoxer. 186s Preparing to unpack .../089-python3-proxmoxer_2.2.0-1_all.deb ... 186s Unpacking python3-proxmoxer (2.2.0-1) ... 186s Selecting previously unselected package python3-py. 186s Preparing to unpack .../090-python3-py_1.11.0-4_all.deb ... 186s Unpacking python3-py (1.11.0-4) ... 186s Selecting previously unselected package python3-pytest. 186s Preparing to unpack .../091-python3-pytest_8.3.5-1_all.deb ... 186s Unpacking python3-pytest (8.3.5-1) ... 186s Selecting previously unselected package python3-pytest-forked. 186s Preparing to unpack .../092-python3-pytest-forked_1.6.0-3_all.deb ... 186s Unpacking python3-pytest-forked (1.6.0-3) ... 186s Selecting previously unselected package python3-pytest-mock. 186s Preparing to unpack .../093-python3-pytest-mock_3.14.0-2_all.deb ... 186s Unpacking python3-pytest-mock (3.14.0-2) ... 186s Selecting previously unselected package python3-pytest-xdist. 186s Preparing to unpack .../094-python3-pytest-xdist_3.6.1-1_all.deb ... 186s Unpacking python3-pytest-xdist (3.6.1-1) ... 186s Selecting previously unselected package python3-pyvmomi. 186s Preparing to unpack .../095-python3-pyvmomi_8.0.3.0.1-1_all.deb ... 186s Unpacking python3-pyvmomi (8.0.3.0.1-1) ... 187s Selecting previously unselected package python3-redis. 187s Preparing to unpack .../096-python3-redis_4.3.4-4_all.deb ... 187s Unpacking python3-redis (4.3.4-4) ... 187s Selecting previously unselected package python3-textfsm. 187s Preparing to unpack .../097-python3-textfsm_1.1.3-3_all.deb ... 187s Unpacking python3-textfsm (1.1.3-3) ... 187s Selecting previously unselected package python3-xmltodict. 187s Preparing to unpack .../098-python3-xmltodict_0.13.0-1_all.deb ... 187s Unpacking python3-xmltodict (0.13.0-1) ... 187s Selecting previously unselected package yamllint. 187s Preparing to unpack .../099-yamllint_1.35.1-2_all.deb ... 187s Unpacking yamllint (1.35.1-2) ... 187s Selecting previously unselected package python3-mock. 187s Preparing to unpack .../100-python3-mock_5.1.0-1_all.deb ... 187s Unpacking python3-mock (5.1.0-1) ... 187s Setting up python3-iniconfig (1.1.1-2) ... 187s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 187s Setting up libsodium23:arm64 (1.0.18-1build3) ... 187s Setting up python3-requests-toolbelt (1.0.0-4) ... 187s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 187s Setting up python3-py (1.11.0-4) ... 187s Setting up python3-joblib (1.4.2-3) ... 188s Setting up python3-cachetools (5.3.3-1) ... 188s Setting up python3-colorama (0.4.6-4) ... 188s Setting up libxcb-render0:arm64 (1.17.0-2) ... 188s Setting up python3-tqdm (4.67.1-3) ... 188s Setting up python3-pyflakes (3.2.0-3) ... 188s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 188s Setting up python3-resolvelib (1.1.0-1) ... 188s Setting up python3-msal (1.32.0-1) ... 189s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 189s Setting up python3-httmock (1.4.0-5) ... 189s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 189s Setting up python3-psutil (5.9.8-2build3) ... 189s Setting up python3-multidict (6.2.0-2) ... 189s Setting up python3-frozenlist (1.5.0-1build2) ... 189s Setting up python3-aiosignal (1.3.2-1) ... 189s Setting up python3-mock (5.1.0-1) ... 190s Setting up python3-async-timeout (5.0.1-1) ... 190s Setting up liberror-perl (0.17030-1) ... 190s Setting up python3-six (1.17.0-1) ... 190s Setting up python3-responses (0.25.6-1) ... 190s Setting up python3-pyvmomi (8.0.3.0.1-1) ... 191s Setting up python3-isodate (0.7.0-1) ... 191s Setting up python3-pycodestyle (2.12.1-2) ... 191s Setting up python3-xmltodict (0.13.0-1) ... 191s Setting up python3-packaging (24.2-1) ... 191s Setting up python3-pyu2f (0.1.5-4) ... 191s Setting up python3-avro (1.12.0+dfsg-1) ... 193s Setting up python3-jmespath (1.0.1-1) ... 193s Setting up fonts-dejavu-mono (2.37-8) ... 193s Setting up python3-wrapt (1.15.0-4build1) ... 193s Setting up fonts-dejavu-core (2.37-8) ... 193s Setting up python3-aiohappyeyeballs (2.6.1-1) ... 193s Setting up python3-regex (0.1.20241106-1build1) ... 193s Setting up python3-pluggy (1.5.0-1) ... 193s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 193s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 193s Setting up python3-portalocker (2.2.1-1) ... 193s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu4) ... 193s Setting up python3-pyasn1 (0.6.1-1) ... 193s Setting up python3-proxmoxer (2.2.0-1) ... 193s Setting up git-man (1:2.48.1-0ubuntu1) ... 193s Setting up python3-dateutil (2.9.0-4) ... 193s Setting up python3-textfsm (1.1.3-3) ... 193s Setting up python3-mccabe (0.7.0-1) ... 194s Setting up python3-execnet (2.1.1-1) ... 194s Setting up python3-pathspec (0.12.1-1) ... 194s Setting up python3-pydash (8.0.3-3) ... 194s Setting up python3-nltk (3.9.1-2) ... 195s Setting up python3-yarl (1.13.1-1build2) ... 195s Setting up python3-pyhcl (0.4.4-6) ... 195s Setting up python3-gitlab (1:4.9.0-1) ... 196s Setting up python3-websocket (1.8.0-2) ... 196s Setting up python3-deprecated (1.2.18-1) ... 196s Setting up libsecret-common (0.21.7-1) ... 196s Setting up python3-freezegun (1.5.1-1.2) ... 196s Setting up python3-nacl (1.5.0-7) ... 196s Setting up python3-requests-oauthlib (1.3.1-1) ... 197s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ... 197s Setting up python3-pytest (8.3.5-1) ... 197s Setting up python3-aiohttp (3.10.11-1build1) ... 197s Setting up python3-marshmallow (3.26.1-0.2) ... 198s Setting up ansible-core (2.18.1-4ubuntu1) ... 199s Setting up python3-flake8 (7.1.1-3) ... 199s Setting up python3-msrest (0.6.21-5) ... 199s Setting up python3-pytest-forked (1.6.0-3) ... 199s Setting up python3-strictyaml (1.6.1-3) ... 199s Setting up libsecret-1-0:arm64 (0.21.7-1) ... 199s Setting up yamllint (1.35.1-2) ... 200s Setting up gir1.2-secret-1:arm64 (0.21.7-1) ... 200s Setting up python3-pyasn1-modules (0.4.1-2) ... 200s Setting up python3-botocore (1.37.9+repack-1) ... 200s Setting up python3-hvac (2.3.0-3) ... 200s Setting up git (1:2.48.1-0ubuntu1) ... 200s Setting up python3-redis (4.3.4-4) ... 201s Setting up python3-adal (1.2.7-5) ... 201s Setting up python3-pytest-mock (3.14.0-2) ... 201s Setting up python3-lxml:arm64 (5.3.2-1) ... 201s Setting up python3-rsa (4.9-2) ... 201s Setting up libfontconfig1:arm64 (2.15.0-2.2ubuntu1) ... 201s Setting up python3-msrestazure (0.6.4-4) ... 201s Setting up ansible (11.2.0+dfsg-1) ... 222s Setting up python3-paramiko (3.5.1-2ubuntu1) ... 223s Setting up python3-pytest-xdist (3.6.1-1) ... 223s Setting up python3-s3transfer (0.11.2-2) ... 223s Setting up libcairo2:arm64 (1.18.4-1) ... 223s Setting up python3-google-auth (2.28.2-3) ... 223s Setting up python3-boto3 (1.37.9-1) ... 223s Setting up libcairo-gobject2:arm64 (1.18.4-1) ... 223s Setting up python3-cairo (1.27.0-2) ... 223s Setting up python3-kubernetes (30.1.0-2) ... 225s Setting up python3-gi-cairo (3.50.0-4build1) ... 225s Setting up python3-msal-extensions (1.3.1-1) ... 225s Setting up python3-azure-storage (20250401+git-1) ... 226s Setting up python3-azure (20250401+git-1) ... 239s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:80: SyntaxWarning: invalid escape sequence '\ ' 239s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example, 239s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:405: SyntaxWarning: invalid escape sequence '\ ' 239s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example, 241s /usr/lib/python3/dist-packages/azure/appconfiguration/_generated/models/_models.py:238: SyntaxWarning: invalid escape sequence '\ ' 241s """An error, available when the status is ``Failed``\ , describing why the operation 241s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9067: SyntaxWarning: invalid escape sequence '\ ' 241s """The source port ranges to match for the rule. Valid values are '\ *' (for all ports 0 - 65535), 241s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9235: SyntaxWarning: invalid escape sequence '\ ' 241s using brackets (for example abc[\ *] would match a file named abc*\ ). Note that both and / are 242s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2326: SyntaxWarning: invalid escape sequence '\ ' 242s payload to scoring rule. If not set, a job's labels (sent in the payload as ``job``\ ) and a 242s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2346: SyntaxWarning: invalid escape sequence '\ ' 242s If not set, a job's labels (sent in the payload as ``job``\ ) and a job's worker selectors 246s /usr/lib/python3/dist-packages/azure/mgmt/advisor/aio/operations/_recommendations_operations.py:190: SyntaxWarning: invalid escape sequence '\ ' 246s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category 246s /usr/lib/python3/dist-packages/azure/mgmt/advisor/operations/_recommendations_operations.py:303: SyntaxWarning: invalid escape sequence '\ ' 246s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category 246s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:3917: SyntaxWarning: invalid escape sequence '\ ' 246s Possible Values::code:`
`:code:`
` **Standard**\ :code:`
`:code:`
` 246s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10212: SyntaxWarning: invalid escape sequence '\ ' 246s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 246s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10255: SyntaxWarning: invalid escape sequence '\ ' 246s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 246s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10284: SyntaxWarning: invalid escape sequence '\ ' 246s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 246s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10320: SyntaxWarning: invalid escape sequence '\ ' 246s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 246s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10342: SyntaxWarning: invalid escape sequence '\ ' 246s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 246s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10375: SyntaxWarning: invalid escape sequence '\ ' 246s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 246s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10396: SyntaxWarning: invalid escape sequence '\ ' 246s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 246s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10429: SyntaxWarning: invalid escape sequence '\ ' 246s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 246s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14746: SyntaxWarning: invalid escape sequence '\ ' 246s :ivar allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ , 246s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14771: SyntaxWarning: invalid escape sequence '\ ' 246s :keyword allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ , 250s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:1420: SyntaxWarning: invalid escape sequence '\ ' 250s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\ 250s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:2310: SyntaxWarning: invalid escape sequence '\ ' 250s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\ 250s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:1547: SyntaxWarning: invalid escape sequence '\ ' 250s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\ 250s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:2524: SyntaxWarning: invalid escape sequence '\ ' 250s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\ 255s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:624: SyntaxWarning: invalid escape sequence '\ ' 255s and Screenshot to diagnose VM status. **NOTE**\ : If storageUri is being 255s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:3707: SyntaxWarning: invalid escape sequence '\W' 255s characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) 260s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16843: SyntaxWarning: invalid escape sequence '\S' 260s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required. 260s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16916: SyntaxWarning: invalid escape sequence '\S' 260s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required. 262s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:63: SyntaxWarning: invalid escape sequence '\w' 262s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 262s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:130: SyntaxWarning: invalid escape sequence '\w' 262s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 262s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:224: SyntaxWarning: invalid escape sequence '\w' 262s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 262s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:312: SyntaxWarning: invalid escape sequence '\w' 262s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 262s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:398: SyntaxWarning: invalid escape sequence '\w' 262s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 262s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:543: SyntaxWarning: invalid escape sequence '\w' 262s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 262s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:612: SyntaxWarning: invalid escape sequence '\w' 262s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 262s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:675: SyntaxWarning: invalid escape sequence '\w' 262s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 262s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:738: SyntaxWarning: invalid escape sequence '\w' 262s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 262s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:807: SyntaxWarning: invalid escape sequence '\w' 262s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 266s /usr/lib/python3/dist-packages/azure/mgmt/hybridnetwork/models/_models_py3.py:6032: SyntaxWarning: invalid escape sequence '\ ' 266s :ivar provisioning_state: The provisioning state of the site resource. **TODO**\ : Confirm if 268s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3866: SyntaxWarning: invalid escape sequence '\ ' 268s pattern set glob-style pattern (e.g., '\ *', 'clients/*\ '). Required.""" 268s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3868: SyntaxWarning: invalid escape sequence '\ ' 268s """Give access for ``Read``\ , ``Write`` and ``ReadWrite`` access level. Required. Known values 270s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:169: SyntaxWarning: invalid escape sequence '\ ' 270s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\ 270s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:1032: SyntaxWarning: invalid escape sequence '\ ' 270s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\ 277s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2542: SyntaxWarning: invalid escape sequence '\R' 277s """Execute Reverse Replication\Reprotect. 277s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2583: SyntaxWarning: invalid escape sequence '\R' 277s """Execute Reverse Replication\Reprotect. 277s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2622: SyntaxWarning: invalid escape sequence '\R' 277s """Execute Reverse Replication\Reprotect. 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5397: SyntaxWarning: invalid escape sequence '\L' 278s :ivar lun_id: Ordinal\LunId of the disk for the Azure VM. 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5448: SyntaxWarning: invalid escape sequence '\L' 278s :keyword lun_id: Ordinal\LunId of the disk for the Azure VM. 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8836: SyntaxWarning: invalid escape sequence '\S' 278s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8978: SyntaxWarning: invalid escape sequence '\S' 278s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9510: SyntaxWarning: invalid escape sequence '\S' 278s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9675: SyntaxWarning: invalid escape sequence '\S' 278s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11412: SyntaxWarning: invalid escape sequence '\S' 278s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11541: SyntaxWarning: invalid escape sequence '\S' 278s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12193: SyntaxWarning: invalid escape sequence '\S' 278s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12516: SyntaxWarning: invalid escape sequence '\S' 278s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26323: SyntaxWarning: invalid escape sequence '\S' 278s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26382: SyntaxWarning: invalid escape sequence '\S' 278s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3476: SyntaxWarning: invalid escape sequence '\R' 278s """Execute Reverse Replication\Reprotect. 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3517: SyntaxWarning: invalid escape sequence '\R' 278s """Execute Reverse Replication\Reprotect. 278s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3556: SyntaxWarning: invalid escape sequence '\R' 278s """Execute Reverse Replication\Reprotect. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_azure_reservation_api_operations.py:163: SyntaxWarning: invalid escape sequence '\ ' 278s """Get list of applicable ``Reservation``\ s. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:377: SyntaxWarning: invalid escape sequence '\ ' 278s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:407: SyntaxWarning: invalid escape sequence '\ ' 278s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:437: SyntaxWarning: invalid escape sequence '\ ' 278s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:583: SyntaxWarning: invalid escape sequence '\ ' 278s """Merges two ``Reservation``\ s. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:614: SyntaxWarning: invalid escape sequence '\ ' 278s """Merges two ``Reservation``\ s. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:645: SyntaxWarning: invalid escape sequence '\ ' 278s """Merges two ``Reservation``\ s. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:721: SyntaxWarning: invalid escape sequence '\ ' 278s """Get ``Reservation``\ s in a given reservation Order. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_order_operations.py:183: SyntaxWarning: invalid escape sequence '\ ' 278s """Get all ``ReservationOrder``\ s. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3172: SyntaxWarning: invalid escape sequence '\ ' 278s """List of ``Reservation``\ s. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3288: SyntaxWarning: invalid escape sequence '\ ' 278s """List of ``ReservationOrder``\ s. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_azure_reservation_api_operations.py:239: SyntaxWarning: invalid escape sequence '\ ' 278s """Get list of applicable ``Reservation``\ s. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:662: SyntaxWarning: invalid escape sequence '\ ' 278s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:692: SyntaxWarning: invalid escape sequence '\ ' 278s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:722: SyntaxWarning: invalid escape sequence '\ ' 278s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:868: SyntaxWarning: invalid escape sequence '\ ' 278s """Merges two ``Reservation``\ s. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:899: SyntaxWarning: invalid escape sequence '\ ' 278s """Merges two ``Reservation``\ s. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:930: SyntaxWarning: invalid escape sequence '\ ' 278s """Merges two ``Reservation``\ s. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:1006: SyntaxWarning: invalid escape sequence '\ ' 278s """Get ``Reservation``\ s in a given reservation Order. 278s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_order_operations.py:299: SyntaxWarning: invalid escape sequence '\ ' 278s """Get all ``ReservationOrder``\ s. 282s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:68: SyntaxWarning: invalid escape sequence '\ ' 282s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end`` 282s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:90: SyntaxWarning: invalid escape sequence '\ ' 282s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after 282s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1141: SyntaxWarning: invalid escape sequence '\ ' 282s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end`` 282s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1163: SyntaxWarning: invalid escape sequence '\ ' 282s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after 286s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2858: SyntaxWarning: invalid escape sequence '\ ' 286s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client 286s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2925: SyntaxWarning: invalid escape sequence '\ ' 286s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client 288s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_functions_operations.py:595: SyntaxWarning: invalid escape sequence '\ ' 288s properties to include in the response, or "\ *" to include all properties. By default, all 288s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_inputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ ' 288s properties to include in the response, or "\ *" to include all properties. By default, all 288s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_outputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ ' 288s properties to include in the response, or "\ *" to include all properties. By default, all 288s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/models/_stream_analytics_management_client_enums.py:14: SyntaxWarning: invalid escape sequence '\ ' 288s """Authentication Mode. Valid modes are ``ConnectionString``\ , ``Msi`` and 'UserToken'.""" 288s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_functions_operations.py:859: SyntaxWarning: invalid escape sequence '\ ' 288s properties to include in the response, or "\ *" to include all properties. By default, all 288s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_inputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ ' 288s properties to include in the response, or "\ *" to include all properties. By default, all 289s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_outputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ ' 289s properties to include in the response, or "\ *" to include all properties. By default, all 289s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_no_subscription_operations.py:193: SyntaxWarning: invalid escape sequence '\ ' 289s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 289s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_operations.py:194: SyntaxWarning: invalid escape sequence '\ ' 289s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 289s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:177: SyntaxWarning: invalid escape sequence '\ ' 289s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the 289s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:540: SyntaxWarning: invalid escape sequence '\ ' 289s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 289s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:582: SyntaxWarning: invalid escape sequence '\ ' 289s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 289s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:622: SyntaxWarning: invalid escape sequence '\ ' 289s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 289s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_no_subscription_operations.py:308: SyntaxWarning: invalid escape sequence '\ ' 289s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 289s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_operations.py:326: SyntaxWarning: invalid escape sequence '\ ' 289s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 289s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:319: SyntaxWarning: invalid escape sequence '\ ' 289s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the 289s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:681: SyntaxWarning: invalid escape sequence '\ ' 289s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 289s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:723: SyntaxWarning: invalid escape sequence '\ ' 289s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 289s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:763: SyntaxWarning: invalid escape sequence '\ ' 289s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 289s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6232: SyntaxWarning: invalid escape sequence '\ ' 289s :ivar maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60}, 289s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6288: SyntaxWarning: invalid escape sequence '\ ' 289s :keyword maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60}, 294s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2909: SyntaxWarning: invalid escape sequence '\W' 294s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 294s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2954: SyntaxWarning: invalid escape sequence '\W' 294s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 294s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:1980: SyntaxWarning: invalid escape sequence '\W' 294s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 294s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:2025: SyntaxWarning: invalid escape sequence '\W' 294s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 295s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:2732: SyntaxWarning: invalid escape sequence '\:' 295s attr:\:code:``=:code:``. 295s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:3537: SyntaxWarning: invalid escape sequence '\:' 295s attr:\:code:``=\:code:``. 295s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:4216: SyntaxWarning: invalid escape sequence '\:' 295s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:`` 295s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:6219: SyntaxWarning: invalid escape sequence '\:' 295s attr:\:code:``=:code:``. 295s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7024: SyntaxWarning: invalid escape sequence '\:' 295s attr:\:code:``=\:code:``. 295s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7703: SyntaxWarning: invalid escape sequence '\:' 295s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:`` 296s /usr/lib/python3/dist-packages/azure/servicemanagement/schedulermanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m' 296s CURRENT_USER\my\CertificateName format. 296s /usr/lib/python3/dist-packages/azure/servicemanagement/servicebusmanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m' 296s CURRENT_USER\my\CertificateName format. 296s /usr/lib/python3/dist-packages/azure/servicemanagement/servicemanagementservice.py:81: SyntaxWarning: invalid escape sequence '\m' 296s CURRENT_USER\my\CertificateName format. 296s /usr/lib/python3/dist-packages/azure/servicemanagement/sqldatabasemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m' 296s CURRENT_USER\my\CertificateName format. 296s /usr/lib/python3/dist-packages/azure/servicemanagement/websitemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m' 296s CURRENT_USER\my\CertificateName format. 296s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:110: SyntaxWarning: invalid escape sequence '\d' 296s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 296s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:1328: SyntaxWarning: invalid escape sequence '\d' 296s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..). 296s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4218: SyntaxWarning: invalid escape sequence '\d' 296s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 296s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4280: SyntaxWarning: invalid escape sequence '\d' 296s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 296s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:18198: SyntaxWarning: invalid escape sequence '\d' 296s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 296s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19096: SyntaxWarning: invalid escape sequence '\d' 296s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with 296s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19185: SyntaxWarning: invalid escape sequence '\d' 296s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 296s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19749: SyntaxWarning: invalid escape sequence '\d' 296s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 297s Processing triggers for libc-bin (2.41-6ubuntu1) ... 297s Processing triggers for man-db (2.13.0-1) ... 299s autopkgtest [05:59:16]: test unit-tests-stable.py: [----------------------- 300s Skipping ansible_collections/infoblox/nios_modules 300s 300s 300s 300s ############################################################ 300s ############################################################ 300s #### Running tests in ansible_collections/kubevirt/core 300s ############################################################ 300s ############################################################ 300s Unit test controller with Python 3.13 303s ============================= test session starts ============================== 303s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 303s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/kubevirt/core 303s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 303s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 303s created: 2/2 workers 303s 2 workers [190 items] 303s 303s ........................................................................ [ 37%] 304s ........................................................................ [ 75%] 305s .............................................. [100%] 305s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/kubevirt/core/tests/output/junit/python3.13-controller-units.xml - 305s ============================= 190 passed in 4.06s ============================== 306s 306s 306s 306s ############################################################ 306s ############################################################ 306s #### Running tests in ansible_collections/ibm/spectrum_virtualize 306s ############################################################ 306s ############################################################ 306s Unit test modules with Python 3.13 308s ============================= test session starts ============================== 308s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 308s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ibm/spectrum_virtualize 308s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 308s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 308s created: 2/2 workers 308s 2 workers [613 items] 308s 309s ........................................................................ [ 11%] 310s ........................................................................ [ 23%] 311s ........................................................................ [ 35%] 311s ........................................................................ [ 46%] 312s ........................................................................ [ 58%] 314s ........................................................................ [ 70%] 314s ........................................................................ [ 82%] 316s ........................................................................ [ 93%] 317s ..................................... [100%] 317s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ibm/spectrum_virtualize/tests/output/junit/python3.13-modules-units.xml - 317s ============================= 613 passed in 10.63s ============================= 317s Unit test module_utils with Python 3.13 318s ============================= test session starts ============================== 318s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 318s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ibm/spectrum_virtualize 318s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 318s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 318s created: 2/2 workers 318s 2 workers [9 items] 318s 318s ......... [100%] 318s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ibm/spectrum_virtualize/tests/output/junit/python3.13-module_utils-units.xml - 318s ============================== 9 passed in 0.89s =============================== 318s 318s 318s 318s ############################################################ 318s ############################################################ 318s #### Running tests in ansible_collections/ibm/qradar 318s ############################################################ 318s ############################################################ 319s Unit test controller with Python 3.13 320s ============================= test session starts ============================== 320s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 320s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ibm/qradar 320s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 320s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 320s created: 2/2 workers 320s 2 workers [5 items] 320s 320s ..... [100%] 320s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ibm/qradar/tests/output/junit/python3.13-controller-units.xml - 320s ============================== 5 passed in 1.15s =============================== 320s 320s 320s 320s ############################################################ 320s ############################################################ 320s #### Running tests in ansible_collections/ibm/storage_virtualize 320s ############################################################ 320s ############################################################ 321s Unit test modules with Python 3.13 323s ============================= test session starts ============================== 323s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 323s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ibm/storage_virtualize 323s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 323s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 323s created: 2/2 workers 323s 2 workers [762 items] 323s 324s ........................................................................ [ 9%] 326s ........................................................................ [ 18%] 326s ........................................................................ [ 28%] 327s ........................................................................ [ 37%] 329s ........................................................................ [ 47%] 331s ........................................................................ [ 56%] 332s ........................................................................ [ 66%] 333s ........................................................................ [ 75%] 334s ........................................................................ [ 85%] 335s ........................................................................ [ 94%] 336s .......................................... [100%] 336s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ibm/storage_virtualize/tests/output/junit/python3.13-modules-units.xml - 336s ============================= 762 passed in 14.63s ============================= 336s Unit test module_utils with Python 3.13 337s ============================= test session starts ============================== 337s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 337s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ibm/storage_virtualize 337s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 337s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 337s created: 2/2 workers 337s 2 workers [12 items] 337s 337s ............ [100%] 337s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ibm/storage_virtualize/tests/output/junit/python3.13-module_utils-units.xml - 337s ============================== 12 passed in 1.03s ============================== 337s 337s 337s 337s ############################################################ 337s ############################################################ 337s #### Running tests in ansible_collections/cyberark/conjur 337s ############################################################ 337s ############################################################ 338s Unit test controller with Python 3.13 339s ============================= test session starts ============================== 339s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 339s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cyberark/conjur 339s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 339s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 339s created: 2/2 workers 339s 2 workers [21 items] 339s 339s ..................... [100%] 339s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cyberark/conjur/tests/output/junit/python3.13-controller-units.xml - 339s ============================== 21 passed in 1.18s ============================== 339s 339s 339s 339s ############################################################ 339s ############################################################ 339s #### Running tests in ansible_collections/dellemc/enterprise_sonic 339s ############################################################ 339s ############################################################ 340s Unit test controller with Python 3.13 342s ============================= test session starts ============================== 342s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 342s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/enterprise_sonic 342s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 342s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 342s created: 2/2 workers 342s 2 workers [404 items] 342s 345s ........................................................................ [ 17%] 348s ........................................................................ [ 35%] 353s ........................................................................ [ 53%] 357s ........................................................................ [ 71%] 364s ........................................................................ [ 89%] 365s ............................................ [100%] 365s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/enterprise_sonic/tests/output/junit/python3.13-controller-units.xml - 365s ============================= 404 passed in 25.44s ============================= 366s 366s 366s 366s ############################################################ 366s ############################################################ 366s #### Running tests in ansible_collections/dellemc/openmanage 366s ############################################################ 366s ############################################################ 366s Unit test modules with Python 3.13 371s ============================= test session starts ============================== 371s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 371s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/openmanage 371s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 371s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 371s created: 2/2 workers 371s 2 workers [2636 items] 371s 373s ........................................................................ [ 2%] 374s ........................................................................ [ 5%] 375s ........................................................................ [ 8%] 376s ........................................................................ [ 10%] 377s ........................................................................ [ 13%] 378s ........................................................................ [ 16%] 380s ........................................................................ [ 19%] 382s ........................................................................ [ 21%] 383s ........................................................................ [ 24%] 386s ........................................................................ [ 27%] 387s ........................................................................ [ 30%] 393s ........................................................................ [ 32%] 395s ........................................................................ [ 35%] 396s ........................................................................ [ 38%] 398s ........................................................................ [ 40%] 400s ........................................................................ [ 43%] 401s ........................................................................ [ 46%] 403s ........................................................................ [ 49%] 405s ........................................................................ [ 51%] 406s ........................................................................ [ 54%] 408s ........................................................................ [ 57%] 410s ........................................................................ [ 60%] 413s ........................................................................ [ 62%] 415s ........................................................................ [ 65%] 416s ........................................................................ [ 68%] 418s ........................................................................ [ 71%] 420s ........................................................................ [ 73%] 422s ........................................................................ [ 76%] 424s ........................................................................ [ 79%] 426s ........................................................................ [ 81%] 428s ........................................................................ [ 84%] 429s ........................................................................ [ 87%] 445s ........................................................................ [ 90%] 447s ........................................................................ [ 92%] 449s ........................................................................ [ 95%] 450s ........................................................................ [ 98%] 452s ............................................ [100%] 452s =============================== warnings summary =============================== 452s tests/unit/plugins/modules/test_idrac_support_assist.py: 30 warnings 452s tests/unit/plugins/modules/test_idrac_system_erase.py: 6 warnings 452s tests/unit/plugins/modules/test_idrac_diagnostics.py: 19 warnings 452s tests/unit/plugins/modules/test_idrac_firmware_info.py: 6 warnings 452s tests/unit/plugins/modules/test_ome_application_network_proxy.py: 1 warning 452s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/openmanage/plugins/module_utils/utils.py:117: DeprecationWarning: 'count' is passed as positional argument 452s ipv6_short = re.sub(r'(:0)+', ':', tempstr, 1) 452s 452s tests/unit/plugins/modules/test_idrac_server_config_profile.py::TestServerConfigProfile::test_compare_custom_default_configs[params0] 452s tests/unit/plugins/modules/test_idrac_server_config_profile.py::TestServerConfigProfile::test_compare_custom_default_configs[params0] 452s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/openmanage/plugins/modules/idrac_server_config_profile.py:861: DeprecationWarning: Testing an element's truth value will always return True in future versions. Use specific 'len(elem)' or 'elem is not None' test instead. 452s if component: 452s 452s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 452s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/openmanage/tests/output/junit/python3.13-modules-units.xml - 452s =========================== short test summary info ============================ 452s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_configure_idrac_eventing.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_configure_idrac_services.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_idrac_lc_attributes.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_idrac_storage_volume.py:22: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_system_lockdown_mode.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_idrac_firmware.py:27: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_job_status_info.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_jobs.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_logs.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_status_info.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_idrac_network.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_idrac_os_deployment.py:22: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_idrac_syslog.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_idrac_system_info.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s SKIPPED [1] tests/unit/plugins/modules/test_idrac_timezone_ntp.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk' 452s =========== 2636 passed, 15 skipped, 64 warnings in 85.62s (0:01:25) =========== 452s Unit test module_utils with Python 3.13 453s ============================= test session starts ============================== 453s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 453s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/openmanage 453s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 453s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 453s created: 2/2 workers 453s 2 workers [121 items] 453s 454s ........................................................................ [ 59%] 455s ................................................. [100%] 455s =============================== warnings summary =============================== 455s tests/unit/plugins/module_utils/test_idrac_redfish.py::TestIdracRedfishRest::test_invoke_request_without_session 455s tests/unit/plugins/module_utils/test_ome.py::TestOMERest::test_invoke_request_with_session 455s tests/unit/plugins/module_utils/test_redfish.py::TestRedfishRest::test_invoke_request_without_session 455s tests/unit/plugins/module_utils/test_rest_api.py::TestRestAPI::test_invoke_request_with_session 455s tests/unit/plugins/module_utils/test_session_utils.py::TestSessionRest::test_invoke_request_without_session 455s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/openmanage/plugins/module_utils/utils.py:117: DeprecationWarning: 'count' is passed as positional argument 455s ipv6_short = re.sub(r'(:0)+', ':', tempstr, 1) 455s 455s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 455s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/openmanage/tests/output/junit/python3.13-module_utils-units.xml - 455s ======================= 121 passed, 5 warnings in 2.35s ======================== 455s 455s 455s 455s ############################################################ 455s ############################################################ 455s #### Running tests in ansible_collections/dellemc/powerflex 455s ############################################################ 455s ############################################################ 455s Unit test modules with Python 3.13 457s ============================= test session starts ============================== 457s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 457s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/powerflex 457s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 457s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 457s created: 2/2 workers 457s 2 workers [405 items] 457s 458s ........................................................................ [ 17%] 459s ........................................................................ [ 35%] 460s ........................................................................ [ 53%] 460s ........................................................................ [ 71%] 461s ........................................................................ [ 88%] 462s ............................................. [100%] 462s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/powerflex/tests/output/junit/python3.13-modules-units.xml - 462s ============================= 405 passed in 6.21s ============================== 462s 462s 462s 462s ############################################################ 462s ############################################################ 462s #### Running tests in ansible_collections/dellemc/unity 462s ############################################################ 462s ############################################################ 462s Unit test modules with Python 3.13 464s ============================= test session starts ============================== 464s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 464s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/unity 464s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 464s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 464s created: 2/2 workers 464s 2 workers [92 items] 464s 465s ........................................................................ [ 78%] 465s .................... [100%] 465s =============================== warnings summary =============================== 465s plugins/module_utils/storage/dell/utils.py:72 465s plugins/module_utils/storage/dell/utils.py:72 465s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/unity/plugins/module_utils/storage/dell/utils.py:72: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html 465s from pkg_resources import parse_version 465s 465s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 465s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/dellemc/unity/tests/output/junit/python3.13-modules-units.xml - 465s ======================== 92 passed, 2 warnings in 2.54s ======================== 465s 465s 465s 465s ############################################################ 465s ############################################################ 465s #### Running tests in ansible_collections/cloud/common 465s ############################################################ 465s ############################################################ 466s Unit test module_utils with Python 3.13 467s ============================= test session starts ============================== 467s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 467s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cloud/common 467s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 467s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 467s created: 2/2 workers 467s 2 workers [19 items] 467s 468s ................... [100%] 468s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cloud/common/tests/output/junit/python3.13-module_utils-units.xml - 468s ============================== 19 passed in 2.20s ============================== 469s 469s 469s 469s ############################################################ 469s ############################################################ 469s #### Running tests in ansible_collections/netbox/netbox 469s ############################################################ 469s ############################################################ 469s Unit test controller with Python 3.13 470s ============================= test session starts ============================== 470s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 470s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netbox/netbox 470s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 470s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 470s created: 2/2 workers 470s 2 workers [208 items] 470s 471s ........................................................................ [ 34%] 472s ........................................................................ [ 69%] 472s ................................................................ [100%] 472s =============================== warnings summary =============================== 472s tests/unit/inventory/test_nb_inventory.py::test_refresh_lookups 472s /usr/lib/python3/dist-packages/_pytest/threadexception.py:82: PytestUnhandledThreadExceptionWarning: Exception in thread Thread-2 (wrapper) 472s 472s Traceback (most recent call last): 472s File "/usr/lib/python3.13/threading.py", line 1041, in _bootstrap_inner 472s self.run() 472s ~~~~~~~~^^ 472s File "/usr/lib/python3.13/threading.py", line 992, in run 472s self._target(*self._args, **self._kwargs) 472s ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 472s File "/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netbox/netbox/plugins/inventory/nb_inventory.py", line 1569, in wrapper 472s raise e 472s File "/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netbox/netbox/plugins/inventory/nb_inventory.py", line 1564, in wrapper 473s lookup() 473s ~~~~~~^^ 473s File "/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netbox/netbox/tests/unit/inventory/test_nb_inventory.py", line 154, in raises_exception 473s raise Exception("Error from within a thread") 473s Exception: Error from within a thread 473s 473s warnings.warn(pytest.PytestUnhandledThreadExceptionWarning(msg)) 473s 473s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 473s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netbox/netbox/tests/output/junit/python3.13-controller-units.xml - 473s ======================== 208 passed, 1 warning in 3.29s ======================== 473s 473s 473s 473s ############################################################ 473s ############################################################ 473s #### Running tests in ansible_collections/vyos/vyos 473s ############################################################ 473s ############################################################ 473s Unit test controller with Python 3.13 474s ============================= test session starts ============================== 474s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 474s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vyos/vyos 474s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 474s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 474s created: 2/2 workers 474s 2 workers [212 items] 474s 476s ........................................................................ [ 33%] 477s ........................................................................ [ 67%] 480s .................................................................... [100%] 480s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vyos/vyos/tests/output/junit/python3.13-controller-units.xml - 480s ============================= 212 passed in 7.07s ============================== 481s 481s 481s 481s ############################################################ 481s ############################################################ 481s #### Running tests in ansible_collections/arista/eos 481s ############################################################ 481s ############################################################ 481s Unit test controller with Python 3.13 482s ============================= test session starts ============================== 482s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 482s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/arista/eos 482s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 482s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 482s created: 2/2 workers 482s 2 workers [307 items] 482s 484s ........................................................................ [ 23%] 485s ........................................................................ [ 46%] 487s ........................................................................ [ 70%] 490s ........................................................................ [ 93%] 490s ................... [100%] 490s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/arista/eos/tests/output/junit/python3.13-controller-units.xml - 490s ============================= 307 passed in 8.84s ============================== 490s 490s 490s 490s ############################################################ 490s ############################################################ 490s #### Running tests in ansible_collections/community/digitalocean 490s ############################################################ 490s ############################################################ 491s Unit test modules with Python 3.13 492s ============================= test session starts ============================== 492s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 492s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/digitalocean 492s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 492s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 492s created: 2/2 workers 492s 2 workers [32 items] 492s 492s ................................ [100%] 492s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/digitalocean/tests/output/junit/python3.13-modules-units.xml - 492s ============================== 32 passed in 1.35s ============================== 492s Unit test controller with Python 3.13 493s ============================= test session starts ============================== 493s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 493s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/digitalocean 493s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 493s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 493s created: 2/2 workers 493s 2 workers [14 items] 493s 494s .............. [100%] 494s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/digitalocean/tests/output/junit/python3.13-controller-units.xml - 494s ============================== 14 passed in 1.36s ============================== 494s 494s 494s 494s ############################################################ 494s ############################################################ 494s #### Running tests in ansible_collections/community/libvirt 494s ############################################################ 494s ############################################################ 494s Unit test controller with Python 3.13 496s ============================= test session starts ============================== 496s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 496s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/libvirt 496s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 496s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 496s created: 2/2 workers 496s 2 workers [4 items] 496s 496s .... [100%] 496s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/libvirt/tests/output/junit/python3.13-controller-units.xml - 496s ============================== 4 passed in 0.73s =============================== 496s 496s 496s 496s ############################################################ 496s ############################################################ 496s #### Running tests in ansible_collections/community/aws 496s ############################################################ 496s ############################################################ 496s Unit test modules with Python 3.13 497s ============================= test session starts ============================== 497s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 497s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/aws 497s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 497s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 497s created: 2/2 workers 497s 2 workers [33 items] 497s 498s ................................. [100%] 498s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/aws/tests/output/junit/python3.13-modules-units.xml - 498s =========================== short test summary info ============================ 498s SKIPPED [1] ../../amazon/aws/tests/unit/utils/amazon_placebo_fixtures.py:16: could not import 'placebo': No module named 'placebo' 498s ======================== 33 passed, 1 skipped in 1.46s ========================= 498s Unit test controller with Python 3.13 499s ============================= test session starts ============================== 499s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 499s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/aws 499s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 499s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 499s created: 2/2 workers 499s 2 workers [52 items] 499s 500s .................................................... [100%] 500s =============================== warnings summary =============================== 500s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_start_session 500s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:85: PytestUnraisableExceptionWarning: Exception ignored in: 500s 500s Traceback (most recent call last): 500s File "/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/aws/plugins/connection/aws_ssm.py", line 496, in __del__ 500s self.close() 500s ~~~~~~~~~~^^ 500s File "/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/aws/plugins/connection/aws_ssm.py", line 961, in close 500s self._vvv(f"CLOSING SSM CONNECTION TO: {self.instance_id}") 500s ^^^^^^^^^^^^^^^^ 500s AttributeError: 'Connection' object has no attribute 'instance_id' 500s 500s warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) 500s 500s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_exec_command 500s /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_exec_command returned ('a', 'b', ), which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`? 500s warnings.warn( 500s 500s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_wrap_command 500s /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_wrap_command returned 'windows1', which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`? 500s warnings.warn( 500s 500s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_post_process 500s /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_post_process returned (0, ), which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`? 500s warnings.warn( 500s 500s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 500s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/aws/tests/output/junit/python3.13-controller-units.xml - 500s ======================== 52 passed, 4 warnings in 1.86s ======================== 500s 500s 500s 500s ############################################################ 500s ############################################################ 500s #### Running tests in ansible_collections/community/mysql 500s ############################################################ 500s ############################################################ 501s Unit test modules with Python 3.13 502s ============================= test session starts ============================== 502s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 502s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/mysql 502s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 502s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 502s created: 2/2 workers 502s 2 workers [43 items] 502s 502s ........................................... [100%] 502s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/mysql/tests/output/junit/python3.13-modules-units.xml - 502s ============================== 43 passed in 1.25s ============================== 502s Unit test module_utils with Python 3.13 503s ============================= test session starts ============================== 503s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 503s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/mysql 503s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 503s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 503s created: 2/2 workers 503s 2 workers [84 items] 503s 504s ........................................................................ [ 85%] 504s ............ [100%] 504s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/mysql/tests/output/junit/python3.13-module_utils-units.xml - 504s ============================== 84 passed in 1.53s ============================== 504s 504s 504s 504s ############################################################ 504s ############################################################ 504s #### Running tests in ansible_collections/community/network 504s ############################################################ 504s ############################################################ 505s Unit test modules with Python 3.13 509s ============================= test session starts ============================== 509s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 509s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/network 509s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 509s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 509s created: 2/2 workers 509s 2 workers [930 items] 509s 510s ........................................................................ [ 7%] 511s ........................................................................ [ 15%] 512s ........................................................................ [ 23%] 513s ........................................................................ [ 30%] 514s ........................................................................ [ 38%] 515s ........................................................................ [ 46%] 517s ........................................................................ [ 54%] 519s ........................................................................ [ 61%] 521s ...............................................................ss.sss.ss [ 69%] 521s .sss.sss.ss.sss.ss.sss.ss.ss.ss.s.ss.ss.s.ss.ss.s.ss.ss.s.ss.ss.s.ss.ss. [ 77%] 522s s.s......ss.s.ss........................................................ [ 85%] 523s ........................................................................ [ 92%] 525s .................................................................. [100%] 525s =============================== warnings summary =============================== 525s tests/unit/plugins/modules/test_ce_is_is_instance.py::TestCloudEngineLacpModule::test_isis_instance_present 525s tests/unit/plugins/modules/test_ce_is_is_instance.py::TestCloudEngineLacpModule::test_isis_instance_present 525s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/network/plugins/modules/ce_is_is_instance.py:196: DeprecationWarning: Testing an element's truth value will always return True in future versions. Use specific 'len(elem)' or 'elem is not None' test instead. 525s if glb: 525s 525s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_absent 525s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_absent 525s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_present 525s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_present 525s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/network/plugins/modules/ce_is_is_interface.py:513: DeprecationWarning: Testing an element's truth value will always return True in future versions. Use specific 'len(elem)' or 'elem is not None' test instead. 525s if glb: 525s 525s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 525s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/network/tests/output/junit/python3.13-modules-units.xml - 525s =========================== short test summary info ============================ 525s SKIPPED [61] tests/unit/plugins/modules/test_nuage_vspk.py: Nuage Ansible modules requires Python 2.7 525s ================= 869 passed, 61 skipped, 6 warnings in 19.58s ================= 525s Unit test module_utils with Python 3.13 526s ============================= test session starts ============================== 526s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 526s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/network 526s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 526s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 526s created: 2/2 workers 526s 2 workers [172 items] 526s 527s ........................................................................ [ 41%] 528s ........................................................................ [ 83%] 528s ............................ [100%] 528s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/network/tests/output/junit/python3.13-module_utils-units.xml - 528s ============================= 172 passed in 3.13s ============================== 528s Unit test controller with Python 3.13 530s ============================= test session starts ============================== 530s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 530s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/network 530s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 530s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 530s created: 2/2 workers 530s 2 workers [50 items] 530s 530s .................................................. [100%] 530s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/network/tests/output/junit/python3.13-controller-units.xml - 530s ============================== 50 passed in 1.60s ============================== 531s 531s 531s 531s ############################################################ 531s ############################################################ 531s #### Running tests in ansible_collections/community/postgresql 531s ############################################################ 531s ############################################################ 531s Unit test modules with Python 3.13 532s ============================= test session starts ============================== 532s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 532s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/postgresql 532s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 532s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 532s created: 2/2 workers 532s 2 workers [30 items] 532s 532s .............................. [100%] 532s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/postgresql/tests/output/junit/python3.13-modules-units.xml - 532s ============================== 30 passed in 1.03s ============================== 532s Unit test module_utils with Python 3.13 533s ============================= test session starts ============================== 533s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 533s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/postgresql 533s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 533s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 533s created: 2/2 workers 533s 2 workers [41 items] 533s 534s ......................................... [100%] 534s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/postgresql/tests/output/junit/python3.13-module_utils-units.xml - 534s ============================== 41 passed in 1.08s ============================== 534s Skipping ansible_collections/community/hrobot 534s 534s 534s 534s ############################################################ 534s ############################################################ 534s #### Running tests in ansible_collections/community/docker 534s ############################################################ 534s ############################################################ 534s Unit test modules with Python 3.13 535s ============================= test session starts ============================== 535s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 535s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/docker 535s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 535s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 535s created: 2/2 workers 535s 2 workers [27 items] 535s 538s ........................... [100%] 538s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/docker/tests/output/junit/python3.13-modules-units.xml - 538s ============================== 27 passed in 3.19s ============================== 538s Unit test module_utils with Python 3.13 539s ============================= test session starts ============================== 539s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 539s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/docker 539s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 539s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 539s created: 2/2 workers 539s 2 workers [551 items] 539s 540s ................................................s.ss.s.s.s.s.s.......... [ 13%] 541s .......s.s.s.s.s........s............................................... [ 26%] 541s ............s...................................................s....... [ 39%] 542s ...............................s........................................ [ 52%] 543s ........................................................................ [ 65%] 543s ........................................................................ [ 78%] 544s ........................................................................ [ 91%] 545s ............................................... [100%] 545s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/docker/tests/output/junit/python3.13-module_utils-units.xml - 545s =========================== short test summary info ============================ 545s SKIPPED [8] tests/unit/plugins/module_utils/_api/api/test_client.py: This test requires starting a networking server and tries to access it. This does not work with network separation with Docker-based unit tests, but it does work with podman-based unit tests. 545s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:99: match_hostname is not available 545s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:92: match_hostname is not available 545s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:95: match_hostname is not available 545s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:86: match_hostname is not available 545s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:89: match_hostname is not available 545s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_build.py:254: Backslash patterns only on Windows 545s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_build.py:276: Backslash patterns only on Windows 545s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_config.py:76: condition: sys.platform != 'win32' 545s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_utils.py:471: shlex doesn't support bytes in py3 545s ======================= 534 passed, 17 skipped in 6.58s ======================== 545s Unit test controller with Python 3.13 546s ============================= test session starts ============================== 546s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 546s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/docker 546s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 546s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 546s created: 2/2 workers 546s 2 workers [16 items] 546s 547s ................ [100%] 547s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/docker/tests/output/junit/python3.13-controller-units.xml - 547s ============================== 16 passed in 1.37s ============================== 547s 547s 547s 547s ############################################################ 547s ############################################################ 547s #### Running tests in ansible_collections/community/vmware 547s ############################################################ 547s ############################################################ 547s Unit test controller with Python 3.13 548s ============================= test session starts ============================== 548s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 548s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/vmware 548s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 548s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 548s created: 2/2 workers 548s 2 workers [32 items] 548s 549s ................................ [100%] 549s =============================== warnings summary =============================== 549s tests/unit/module_utils/test_vmware.py::test_required_params[validate_certs] 549s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module0-testcase0] 549s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module5-testcase5] 549s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module7-testcase7] 549s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/vmware/plugins/module_utils/vmware.py:752: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 549s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) 549s 549s tests/unit/module_utils/test_vmware.py::test_required_params[valid_http_proxy] 549s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module6-testcase6] 549s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/vmware/plugins/module_utils/vmware.py:757: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 549s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) 549s 549s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 549s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/vmware/tests/output/junit/python3.13-controller-units.xml - 549s ======================== 32 passed, 6 warnings in 1.33s ======================== 549s 549s 549s 549s ############################################################ 549s ############################################################ 549s #### Running tests in ansible_collections/community/hashi_vault 549s ############################################################ 549s ############################################################ 549s Unit test modules with Python 3.13 551s ============================= test session starts ============================== 551s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 551s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hashi_vault 551s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 551s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 551s created: 2/2 workers 551s 2 workers [281 items] 551s 552s ........................................................................ [ 25%] 553s ........................................................................ [ 51%] 555s ........................................................................ [ 76%] 555s ................................................................. [100%] 555s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-modules-units.xml - 555s ============================= 281 passed in 5.50s ============================== 555s Unit test module_utils with Python 3.13 557s ============================= test session starts ============================== 557s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 557s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hashi_vault 557s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 557s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 557s created: 2/2 workers 557s 2 workers [1436 items] 557s 558s ........................................................................ [ 5%] 558s ........................................................................ [ 10%] 559s ........................................................................ [ 15%] 560s ........................................................................ [ 20%] 561s ........................................................................ [ 25%] 562s ........................................................................ [ 30%] 563s ........................................................................ [ 35%] 564s ........................................................................ [ 40%] 565s ........................................................................ [ 45%] 565s ........................................................................ [ 50%] 566s ........................................................................ [ 55%] 567s ........................................................................ [ 60%] 567s ........................................................................ [ 65%] 568s ........................................................................ [ 70%] 568s ........................................................................ [ 75%] 569s ........................................................................ [ 80%] 569s ........................................................................ [ 85%] 570s ........................................................................ [ 90%] 571s ........................................................................ [ 95%] 572s .................................................................... [100%] 572s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-module_utils-units.xml - 572s ============================ 1436 passed in 15.62s ============================= 572s Unit test controller with Python 3.13 573s ============================= test session starts ============================== 573s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 573s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hashi_vault 573s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 573s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 573s created: 2/2 workers 573s 2 workers [619 items] 573s 575s ........................................................................ [ 11%] 576s ........................................................................ [ 23%] 577s ........................................................................ [ 34%] 578s ........................................................................ [ 46%] 580s ........................................................................ [ 58%] 582s ........................................................................ [ 69%] 582s ........................................................................ [ 81%] 583s ........................................................................ [ 93%] 584s ........................................... [100%] 584s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-controller-units.xml - 584s ============================= 619 passed in 11.22s ============================= 584s 584s 584s 584s ############################################################ 584s ############################################################ 584s #### Running tests in ansible_collections/community/sap_libs 584s ############################################################ 584s ############################################################ 584s Unit test modules with Python 3.13 585s ============================= test session starts ============================== 585s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 585s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/sap_libs 585s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 585s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 585s created: 2/2 workers 585s 2 workers [49 items] 585s 586s ................................................. [100%] 586s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/sap_libs/tests/output/junit/python3.13-modules-units.xml - 586s ============================== 49 passed in 1.35s ============================== 586s 586s 586s 586s ############################################################ 586s ############################################################ 586s #### Running tests in ansible_collections/community/routeros 586s ############################################################ 586s ############################################################ 586s Unit test modules with Python 3.13 587s ============================= test session starts ============================== 587s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 587s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/routeros 587s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 587s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 587s created: 2/2 workers 587s 2 workers [115 items] 587s 588s ........................................................................ [ 62%] 589s ........................................... [100%] 589s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/routeros/tests/output/junit/python3.13-modules-units.xml - 589s ============================= 115 passed in 2.29s ============================== 589s Unit test module_utils with Python 3.13 590s ============================= test session starts ============================== 590s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 590s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/routeros 590s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 590s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 590s created: 2/2 workers 590s 2 workers [146 items] 590s 590s ........................................................................ [ 49%] 591s ........................................................................ [ 98%] 591s .. [100%] 591s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/routeros/tests/output/junit/python3.13-module_utils-units.xml - 591s ============================= 146 passed in 1.93s ============================== 591s 591s 591s 591s ############################################################ 591s ############################################################ 591s #### Running tests in ansible_collections/community/rabbitmq 591s ############################################################ 591s ############################################################ 592s Unit test controller with Python 3.13 593s ============================= test session starts ============================== 593s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 593s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/rabbitmq 593s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 593s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 593s created: 2/2 workers 593s 2 workers [30 items] 593s 593s .............................. [100%] 593s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/rabbitmq/tests/output/junit/python3.13-controller-units.xml - 593s ============================== 30 passed in 1.17s ============================== 593s Skipping ansible_collections/community/dns 593s 593s 593s 593s ############################################################ 593s ############################################################ 593s #### Running tests in ansible_collections/community/grafana 593s ############################################################ 593s ############################################################ 594s Unit test controller with Python 3.13 595s ============================= test session starts ============================== 595s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 595s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/grafana 595s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 595s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 595s created: 2/2 workers 595s 2 workers [31 items] 595s 595s ............................... [100%] 595s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/grafana/tests/output/junit/python3.13-controller-units.xml - 595s ============================== 31 passed in 1.08s ============================== 595s 595s 595s 595s ############################################################ 595s ############################################################ 595s #### Running tests in ansible_collections/community/windows 595s ############################################################ 595s ############################################################ 595s Unit test controller with Python 3.13 596s ============================= test session starts ============================== 596s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 596s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/windows 596s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 596s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 596s created: 2/2 workers 596s 2 workers [32 items] 596s 597s ................................ [100%] 597s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/windows/tests/output/junit/python3.13-controller-units.xml - 597s ============================== 32 passed in 1.59s ============================== 597s 597s 597s 597s ############################################################ 597s ############################################################ 597s #### Running tests in ansible_collections/community/okd 597s ############################################################ 597s ############################################################ 598s Unit test modules with Python 3.13 599s ============================= test session starts ============================== 599s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 599s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/okd 599s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 599s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 599s created: 2/2 workers 599s 2 workers [13 items] 599s 599s ............. [100%] 599s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/okd/tests/output/junit/python3.13-modules-units.xml - 599s ============================== 13 passed in 1.34s ============================== 599s Unit test module_utils with Python 3.13 600s ============================= test session starts ============================== 600s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 600s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/okd 600s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 600s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 600s created: 2/2 workers 600s 2 workers [15 items] 600s 601s .s.s........... [100%] 601s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/okd/tests/output/junit/python3.13-module_utils-units.xml - 601s =========================== short test summary info ============================ 601s SKIPPED [2] tests/unit/plugins/module_utils/test_ldap_dn.py: This test requires the python-ldap library 601s ======================== 13 passed, 2 skipped in 0.77s ========================= 601s 601s 601s 601s ############################################################ 601s ############################################################ 601s #### Running tests in ansible_collections/community/crypto 601s ############################################################ 601s ############################################################ 601s Unit test modules with Python 3.13 602s ============================= test session starts ============================== 602s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 602s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto 602s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 602s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 602s created: 2/2 workers 602s 2 workers [76 items] 602s 603s ........................................................................ [ 94%] 603s .... [100%] 603s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/tests/output/junit/python3.13-modules-units.xml - 603s ============================== 76 passed in 1.40s ============================== 603s Unit test module_utils with Python 3.13 604s ============================= test session starts ============================== 604s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 604s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto 604s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 604s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 604s created: 2/2 workers 604s 2 workers [520 items] 604s 607s ........................................................................ [ 13%] 609s ...........................................sssss.s.s.................... [ 27%] 610s ........................................................................ [ 41%] 610s ...............................s.s.s.s.s.s.s.s.......................... [ 55%] 612s ........................................................................ [ 69%] 617s ........................................................................ [ 83%] 622s ........................................................................ [ 96%] 622s ................ [100%] 622s =============================== warnings summary =============================== 622s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_default_key_params[dsa-None-None-None] 622s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:151: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release 622s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment) 622s 622s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_default_key_params[dsa-None-None-None] 622s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:153: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release 622s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment) 622s 622s tests/unit/plugins/module_utils/test_time.py: 16 warnings 622s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/plugins/module_utils/time.py:95: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 622s return datetime.datetime.utcfromtimestamp(timestamp) 622s 622s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_valid_user_key_params[dsa-1024-change_me-comment] 622s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:169: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release 622s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment) 622s 622s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 622s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:351: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release 622s assert OpensshKeypair.generate() != OpensshKeypair.generate(keytype='dsa') 622s 622s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 622s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:363: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release 622s 'pair': OpensshKeypair.generate(keytype='dsa', passphrase='change_me'.encode('UTF-8')), 622s 622s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 622s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/plugins/module_utils/openssh/cryptography.py:560: CryptographyDeprecationWarning: SSH DSA keys are deprecated and will be removed in a future release. 622s privatekey = privatekey_loader( 622s 622s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 622s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/plugins/module_utils/openssh/cryptography.py:615: CryptographyDeprecationWarning: SSH DSA keys are deprecated and will be removed in a future release. 622s publickey = publickey_loader( 622s 622s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 622s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:380: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release 622s loaded_dsa_key = OpensshKeypair.load(path=keys['dsa']['filename'], passphrase='change_me'.encode('UTF-8')) 622s 622s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 622s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:383: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release 622s loaded_dsa_key.update_passphrase('change_me_again'.encode('UTF-8')) 622s 622s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 622s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:386: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release 622s loaded_dsa_key.update_passphrase('change_me'.encode('UTF-8')) 622s 622s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 622s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/crypto/tests/output/junit/python3.13-module_utils-units.xml - 622s =========================== short test summary info ============================ 622s SKIPPED [15] tests/unit/plugins/module_utils/crypto/test_asn1.py:78: unconditional skip 622s ================ 505 passed, 15 skipped, 26 warnings in 19.11s ================= 623s Skipping ansible_collections/community/library_inventory_filtering_v1 623s Skipping ansible_collections/community/general 623s 623s 623s 623s ############################################################ 623s ############################################################ 623s #### Running tests in ansible_collections/community/ciscosmb 623s ############################################################ 623s ############################################################ 623s Unit test modules with Python 3.13 624s ============================= test session starts ============================== 624s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 624s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/ciscosmb 624s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 624s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 624s created: 2/2 workers 624s 2 workers [56 items] 624s 625s ........................................................ [100%] 625s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/ciscosmb/tests/output/junit/python3.13-modules-units.xml - 625s ============================== 56 passed in 1.36s ============================== 625s Skipping ansible_collections/netapp_eseries/santricity 625s Skipping ansible_collections/sensu/sensu_go 625s 625s 625s 625s ############################################################ 625s ############################################################ 625s #### Running tests in ansible_collections/amazon/aws 625s ############################################################ 625s ############################################################ 625s Unit test modules with Python 3.13 627s ============================= test session starts ============================== 627s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 627s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/amazon/aws 627s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 627s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 627s created: 2/2 workers 627s 2 workers [348 items] 627s 627s ........................................................................ [ 20%] 628s ........................................................................ [ 41%] 629s ........................................................................ [ 62%] 630s ........................................................................ [ 82%] 631s ............................................................ [100%] 631s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/amazon/aws/tests/output/junit/python3.13-modules-units.xml - 631s =========================== short test summary info ============================ 631s SKIPPED [1] tests/unit/utils/amazon_placebo_fixtures.py:16: could not import 'placebo': No module named 'placebo' 631s ======================== 348 passed, 1 skipped in 5.18s ======================== 631s Unit test controller with Python 3.13 633s ============================= test session starts ============================== 633s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 633s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/amazon/aws 633s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 633s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 633s created: 2/2 workers 633s 2 workers [1252 items] 633s 634s ........................................................................ [ 5%] 635s ........................................................................ [ 11%] 636s ........................................................................ [ 17%] 637s ........................................................................ [ 23%] 639s ........................................................................ [ 28%] 642s ........................................................................ [ 34%] 655s ........................................................................ [ 40%] 656s ........................................................................ [ 46%] 657s ........................................................................ [ 51%] 659s ........................................................................ [ 57%] 660s ........................................................................ [ 63%] 662s ........................................................................ [ 69%] 663s ........................................................................ [ 74%] 665s ........................................................................ [ 80%] 666s ........................................................................ [ 86%] 668s ........................................................................ [ 92%] 864s ........................................................................ [ 97%] 865s ............................ [100%] 865s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/amazon/aws/tests/output/junit/python3.13-controller-units.xml - 865s ======================= 1252 passed in 233.96s (0:03:53) ======================= 865s Skipping ansible_collections/vmware/vmware 865s 865s 865s 865s ############################################################ 865s ############################################################ 865s #### Running tests in ansible_collections/google/cloud 865s ############################################################ 865s ############################################################ 866s Unit test controller with Python 3.13 867s ============================= test session starts ============================== 867s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 867s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/google/cloud 867s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 867s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 867s created: 2/2 workers 867s 2 workers [17 items] 867s 867s ................. [100%] 867s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/google/cloud/tests/output/junit/python3.13-controller-units.xml - 867s ============================== 17 passed in 0.98s ============================== 867s 867s 867s 867s ############################################################ 867s ############################################################ 867s #### Running tests in ansible_collections/microsoft/ad 867s ############################################################ 867s ############################################################ 867s Unit test controller with Python 3.13 868s ============================= test session starts ============================== 868s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 868s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/microsoft/ad 868s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 868s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 868s created: 2/2 workers 868s 2 workers [118 items] 868s 869s ........................................................................ [ 61%] 877s ..................ss.......................... [100%] 877s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/microsoft/ad/tests/output/junit/python3.13-controller-units.xml - 877s =========================== short test summary info ============================ 877s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_laps.py:9: could not import 'dpapi_ng': No module named 'dpapi_ng' 877s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_schema.py:8: could not import 'sansldap': No module named 'sansldap' 877s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_certificate.py:179: Hash algorithm is unavailable: Hash algorithm "md5" not supported for signatures 877s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_certificate.py:179: Hash algorithm is unavailable: Hash algorithm "sha1" not supported for signatures 877s ======================== 116 passed, 4 skipped in 9.59s ======================== 877s 877s 877s 877s ############################################################ 877s ############################################################ 877s #### Running tests in ansible_collections/kubernetes/core 877s ############################################################ 877s ############################################################ 878s Unit test controller with Python 3.13 880s ============================= test session starts ============================== 880s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 880s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/kubernetes/core 880s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 880s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 880s created: 2/2 workers 880s 2 workers [172 items] 880s 880s ........................................................................ [ 41%] 886s ........................................................................ [ 83%] 891s ............................ [100%] 891s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/kubernetes/core/tests/output/junit/python3.13-controller-units.xml - 891s ============================= 172 passed in 12.69s ============================= 891s 891s 891s 891s ############################################################ 891s ############################################################ 891s #### Running tests in ansible_collections/netapp/cloudmanager 891s ############################################################ 891s ############################################################ 891s Unit test modules with Python 3.13 893s ============================= test session starts ============================== 893s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 893s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/cloudmanager 893s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 893s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 893s created: 2/2 workers 893s 2 workers [106 items] 893s 909s ........................................................................ [ 67%] 940s .................................. [100%] 940s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/cloudmanager/tests/output/junit/python3.13-modules-units.xml - 940s ============================= 106 passed in 48.69s ============================= 940s Unit test module_utils with Python 3.13 941s ============================= test session starts ============================== 941s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 941s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/cloudmanager 941s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 941s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 941s created: 2/2 workers 941s 2 workers [52 items] 941s 942s .................................................... [100%] 942s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/cloudmanager/tests/output/junit/python3.13-module_utils-units.xml - 942s ============================== 52 passed in 1.46s ============================== 942s Skipping ansible_collections/netapp/ontap 942s 942s 942s 942s ############################################################ 942s ############################################################ 942s #### Running tests in ansible_collections/netapp/storagegrid 942s ############################################################ 942s ############################################################ 942s Unit test modules with Python 3.13 944s ============================= test session starts ============================== 944s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 944s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/storagegrid 944s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 944s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 944s created: 2/2 workers 944s 2 workers [154 items] 944s 944s ........................................................................ [ 46%] 945s ........................................................................ [ 93%] 946s .......... [100%] 946s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/storagegrid/tests/output/junit/python3.13-modules-units.xml - 946s ============================= 154 passed in 2.76s ============================== 946s 946s 946s 946s ############################################################ 946s ############################################################ 946s #### Running tests in ansible_collections/ansible/netcommon 946s ############################################################ 946s ############################################################ 946s Unit test controller with Python 3.13 947s ============================= test session starts ============================== 947s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 947s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/netcommon 947s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 947s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 947s created: 2/2 workers 947s 2 workers [162 items] 947s 949s ........................................................................ [ 44%] 952s .............................x...............x.......................x.. [ 88%] 952s .................. [100%] 952s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/netcommon/tests/output/junit/python3.13-controller-units.xml - 952s =========================== short test summary info ============================ 952s SKIPPED [1] tests/unit/plugins/cli_parsers/test_pyats_parser.py:21: could not import 'pyats': No module named 'pyats' 952s SKIPPED [1] tests/unit/plugins/connection/test_libssh.py:23: could not import 'pylibsshext': No module named 'pylibsshext' 952s SKIPPED [1] tests/unit/plugins/connection/test_netconf.py:19: could not import 'ncclient': No module named 'ncclient' 952s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[paramiko-response2] 952s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[libssh-response2] 952s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[auto-response2] 952s ================== 159 passed, 3 skipped, 3 xfailed in 5.58s =================== 952s Skipping ansible_collections/ansible/utils 952s 952s 952s 952s ############################################################ 952s ############################################################ 952s #### Running tests in ansible_collections/ansible/posix 952s ############################################################ 952s ############################################################ 952s Unit test controller with Python 3.13 954s ============================= test session starts ============================== 954s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 954s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/posix 954s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 954s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 954s created: 2/2 workers 954s 2 workers [14 items] 954s 954s .............. [100%] 954s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/posix/tests/output/junit/python3.13-controller-units.xml - 954s ============================== 14 passed in 1.06s ============================== 954s 954s 954s 954s ############################################################ 954s ############################################################ 954s #### Running tests in ansible_collections/ansible/windows 954s ############################################################ 954s ############################################################ 954s Unit test controller with Python 3.13 956s ============================= test session starts ============================== 956s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 956s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/windows 956s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 956s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 956s created: 2/2 workers 956s 2 workers [50 items] 956s 956s .................................................. [100%] 956s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/windows/tests/output/junit/python3.13-controller-units.xml - 956s ============================== 50 passed in 1.68s ============================== 956s 956s 956s 956s ############################################################ 956s ############################################################ 956s #### Running tests in ansible_collections/wti/remote 956s ############################################################ 956s ############################################################ 957s Unit test controller with Python 3.13 957s ============================= test session starts ============================== 957s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 957s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/wti/remote 957s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 957s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 957s created: 2/2 workers 957s 2 workers [1 item] 957s 958s . [100%] 958s =============================== warnings summary =============================== 958s tests/unit/test_example.py::test_example 958s /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but tests/unit/test_example.py::test_example returned 1, which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`? 958s warnings.warn( 958s 958s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 958s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/wti/remote/tests/output/junit/python3.13-controller-units.xml - 958s ========================= 1 passed, 1 warning in 0.53s ========================= 958s 958s 958s 958s ############################################################ 958s ############################################################ 958s #### Running tests in ansible_collections/containers/podman 958s ############################################################ 958s ############################################################ 958s Unit test modules with Python 3.13 959s ============================= test session starts ============================== 959s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 959s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/containers/podman 959s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 959s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 959s created: 2/2 workers 959s 2 workers [10 items] 959s 959s .......... [100%] 959s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/containers/podman/tests/output/junit/python3.13-modules-units.xml - 959s ============================== 10 passed in 0.74s ============================== 959s 959s 959s 959s ############################################################ 959s ############################################################ 959s #### Running tests in ansible_collections/hetzner/hcloud 959s ############################################################ 959s ############################################################ 959s Unit test controller with Python 3.13 961s ============================= test session starts ============================== 961s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 961s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/hetzner/hcloud 961s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 961s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 961s created: 2/2 workers 961s 2 workers [30 items] 961s 961s .............................. [100%] 961s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/hetzner/hcloud/tests/output/junit/python3.13-controller-units.xml - 961s ============================== 30 passed in 1.38s ============================== 961s Skipping ansible_collections/splunk/es 961s Skipping ansible_collections/junipernetworks/junos 961s 961s 961s 961s ############################################################ 961s ############################################################ 961s #### Running tests in ansible_collections/cisco/asa 961s ############################################################ 961s ############################################################ 962s Unit test controller with Python 3.13 963s ============================= test session starts ============================== 963s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 963s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/asa 963s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 963s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 963s created: 2/2 workers 963s 2 workers [21 items] 963s 969s ..................... [100%] 969s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/asa/tests/output/junit/python3.13-controller-units.xml - 969s ============================== 21 passed in 6.50s ============================== 969s 969s 969s 969s ############################################################ 969s ############################################################ 969s #### Running tests in ansible_collections/cisco/ios 969s ############################################################ 969s ############################################################ 969s Unit test controller with Python 3.13 971s ============================= test session starts ============================== 971s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 971s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/ios 971s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 971s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 971s created: 2/2 workers 971s 2 workers [425 items] 971s 973s ........................................................................ [ 16%] 976s ........................................................................ [ 33%] 979s ........................................................................ [ 50%] 986s ........................................................................ [ 67%] 990s ........................................................................ [ 84%] 1024s ................................................................. [100%] 1024s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/ios/tests/output/junit/python3.13-controller-units.xml - 1024s ============================= 425 passed in 54.71s ============================= 1024s Skipping ansible_collections/cisco/dnac 1024s 1024s 1024s 1024s ############################################################ 1024s ############################################################ 1024s #### Running tests in ansible_collections/cisco/nxos 1024s ############################################################ 1024s ############################################################ 1025s Unit test controller with Python 3.13 1027s ============================= test session starts ============================== 1027s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1027s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/nxos 1027s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1027s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1027s created: 2/2 workers 1027s 2 workers [773 items] 1027s 1029s ........................................................................ [ 9%] 1032s ........................................................................ [ 18%] 1034s ........................................................................ [ 27%] 1041s ........................................................................ [ 37%] 1043s ........................................................................ [ 46%] 1045s ........................................................................ [ 55%] 1047s ........................................................................ [ 65%] 1050s ........................................................................ [ 74%] 1053s ........................................................................ [ 83%] 1054s ........................................................................ [ 93%] 1056s ..................................................... [100%] 1056s =============================== warnings summary =============================== 1056s tests/unit/modules/network/nxos/test_nxos_acls.py: 91 warnings 1056s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:270: DeprecationWarning: 'count' is passed as positional argument 1056s ace = re.sub(seq, "", ace, 1) 1056s 1056s tests/unit/modules/network/nxos/test_nxos_acls.py: 84 warnings 1056s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:279: DeprecationWarning: 'count' is passed as positional argument 1056s ace = re.sub(grant, "", ace, 1) 1056s 1056s tests/unit/modules/network/nxos/test_nxos_acls.py: 84 warnings 1056s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:287: DeprecationWarning: 'count' is passed as positional argument 1056s ace = re.sub(pro, "", ace, 1) 1056s 1056s tests/unit/modules/network/nxos/test_nxos_acls.py: 168 warnings 1056s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:117: DeprecationWarning: 'count' is passed as positional argument 1056s ace = re.sub(option, "", ace, 1) 1056s 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges 1056s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:142: DeprecationWarning: 'count' is passed as positional argument 1056s ace = re.sub(range_substring, "", ace, 1) 1056s 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered 1056s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:116: DeprecationWarning: 'count' is passed as positional argument 1056s ace = re.sub("{0}".format(wb), "", ace, 1) 1056s 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark 1056s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:126: DeprecationWarning: 'count' is passed as positional argument 1056s ace = re.sub(port_pro.group(1), "", ace, 1) 1056s 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark 1056s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark 1056s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:127: DeprecationWarning: 'count' is passed as positional argument 1056s ace = re.sub(port_pro.group(2), "", ace, 1) 1056s 1056s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1056s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/nxos/tests/output/junit/python3.13-controller-units.xml - 1056s ====================== 773 passed, 440 warnings in 30.51s ====================== 1056s 1056s 1056s 1056s ############################################################ 1056s ############################################################ 1056s #### Running tests in ansible_collections/cisco/iosxr 1056s ############################################################ 1056s ############################################################ 1056s Unit test controller with Python 3.13 1058s ============================= test session starts ============================== 1058s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1058s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/iosxr 1058s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1058s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1058s created: 2/2 workers 1058s 2 workers [310 items] 1058s 1060s ........................................................................ [ 23%] 1062s ........................................................................ [ 46%] 1064s ........................................................................ [ 69%] 1067s ........................................................................ [ 92%] 1068s ...................... [100%] 1068s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/iosxr/tests/output/junit/python3.13-controller-units.xml - 1068s ============================= 310 passed in 11.02s ============================= 1068s Skipping ansible_collections/cisco/aci 1068s Skipping ansible_collections/ngine_io/cloudstack 1068s 1068s 1068s 1068s ############################################################ 1068s ############################################################ 1068s #### Running tests in ansible_collections/vultr/cloud 1068s ############################################################ 1068s ############################################################ 1068s Unit test controller with Python 3.13 1070s ============================= test session starts ============================== 1070s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1070s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vultr/cloud 1070s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1070s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1070s created: 2/2 workers 1070s 2 workers [15 items] 1070s 1070s ............... [100%] 1070s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vultr/cloud/tests/output/junit/python3.13-controller-units.xml - 1070s ============================== 15 passed in 1.92s ============================== 1071s autopkgtest [06:12:08]: test unit-tests-stable.py: -----------------------] 1071s autopkgtest [06:12:08]: test unit-tests-stable.py: - - - - - - - - - - results - - - - - - - - - - 1071s unit-tests-stable.py PASS 1072s autopkgtest [06:12:09]: test unit-tests-flaky.py: preparing testbed 1386s autopkgtest [06:17:22]: testbed dpkg architecture: arm64 1386s autopkgtest [06:17:23]: testbed apt version: 3.0.0 1386s autopkgtest [06:17:23]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1386s autopkgtest [06:17:23]: testbed release detected to be: questing 1387s autopkgtest [06:17:24]: updating testbed package index (apt update) 1388s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 1388s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 1388s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 1388s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 1388s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2202 kB] 1388s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [57.4 kB] 1388s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [184 kB] 1388s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main arm64 Packages [227 kB] 1388s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe arm64 Packages [1472 kB] 1388s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse arm64 Packages [16.5 kB] 1389s Fetched 4269 kB in 1s (3188 kB/s) 1390s Reading package lists... 1391s autopkgtest [06:17:28]: upgrading testbed (apt dist-upgrade and autopurge) 1391s Reading package lists... 1392s Building dependency tree... 1392s Reading state information... 1393s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1393s Starting 2 pkgProblemResolver with broken count: 0 1393s Done 1394s Entering ResolveByKeep 1395s 1395s Calculating upgrade... 1395s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1396s Reading package lists... 1396s Building dependency tree... 1396s Reading state information... 1397s Starting pkgProblemResolver with broken count: 0 1398s Starting 2 pkgProblemResolver with broken count: 0 1398s Done 1399s Solving dependencies... 1400s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1403s Reading package lists... 1403s Building dependency tree... 1403s Reading state information... 1404s Starting pkgProblemResolver with broken count: 0 1404s Starting 2 pkgProblemResolver with broken count: 0 1404s Done 1406s The following NEW packages will be installed: 1406s ansible ansible-core fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1406s gir1.2-secret-1 git git-man libcairo-gobject2 libcairo2 liberror-perl 1406s libfontconfig1 libpixman-1-0 libsecret-1-0 libsecret-common libsodium23 1406s libxcb-render0 libxcb-shm0 libxrender1 libxslt1.1 python3-adal 1406s python3-aiohappyeyeballs python3-aiohttp python3-aiosignal 1406s python3-async-timeout python3-avro python3-azure python3-azure-storage 1406s python3-boto3 python3-botocore python3-cachetools python3-cairo 1406s python3-click python3-colorama python3-dateutil python3-deprecated 1406s python3-dnspython python3-execnet python3-flake8 python3-freezegun 1406s python3-frozenlist python3-gi-cairo python3-gitlab python3-google-auth 1406s python3-httmock python3-hvac python3-iniconfig python3-isodate 1406s python3-jmespath python3-joblib python3-kubernetes python3-lxml 1406s python3-marshmallow python3-mccabe python3-mock python3-msal 1406s python3-msal-extensions python3-msrest python3-msrestazure python3-multidict 1406s python3-nacl python3-nltk python3-packaging python3-paramiko 1406s python3-pathspec python3-pluggy python3-portalocker python3-proxmoxer 1406s python3-psutil python3-py python3-pyasn1 python3-pyasn1-modules 1406s python3-pycodestyle python3-pydash python3-pyflakes python3-pyhcl 1406s python3-pytest python3-pytest-forked python3-pytest-mock 1406s python3-pytest-xdist python3-pyu2f python3-pyvmomi python3-redis 1406s python3-regex python3-requests-oauthlib python3-requests-toolbelt 1406s python3-resolvelib python3-responses python3-rsa python3-ruamel.yaml 1406s python3-ruamel.yaml.clib python3-s3transfer python3-six python3-strictyaml 1406s python3-textfsm python3-tqdm python3-websocket python3-wrapt 1406s python3-xmltodict python3-yarl yamllint 1406s 0 upgraded, 101 newly installed, 0 to remove and 0 not upgraded. 1406s Need to get 58.8 MB of archives. 1406s After this operation, 992 MB of additional disk space will be used. 1406s Get:1 http://ftpmaster.internal/ubuntu questing/main arm64 python3-packaging all 24.2-1 [51.5 kB] 1406s Get:2 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-resolvelib all 1.1.0-1 [25.8 kB] 1406s Get:3 http://ftpmaster.internal/ubuntu questing/main arm64 libsodium23 arm64 1.0.18-1build3 [119 kB] 1406s Get:4 http://ftpmaster.internal/ubuntu questing/main arm64 python3-nacl arm64 1.5.0-7 [56.2 kB] 1406s Get:5 http://ftpmaster.internal/ubuntu questing/main arm64 python3-paramiko all 3.5.1-2ubuntu1 [147 kB] 1406s Get:6 http://ftpmaster.internal/ubuntu questing/main arm64 python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 1407s Get:7 http://ftpmaster.internal/ubuntu questing/universe arm64 ansible-core all 2.18.1-4ubuntu1 [1273 kB] 1407s Get:8 http://ftpmaster.internal/ubuntu questing/universe arm64 ansible all 11.2.0+dfsg-1 [18.1 MB] 1410s Get:9 http://ftpmaster.internal/ubuntu questing/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 1410s Get:10 http://ftpmaster.internal/ubuntu questing/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 1410s Get:11 http://ftpmaster.internal/ubuntu questing/main arm64 fontconfig-config arm64 2.15.0-2.2ubuntu1 [37.9 kB] 1410s Get:12 http://ftpmaster.internal/ubuntu questing/main arm64 libsecret-common all 0.21.7-1 [5160 B] 1410s Get:13 http://ftpmaster.internal/ubuntu questing/main arm64 libsecret-1-0 arm64 0.21.7-1 [116 kB] 1410s Get:14 http://ftpmaster.internal/ubuntu questing/main arm64 gir1.2-secret-1 arm64 0.21.7-1 [9380 B] 1410s Get:15 http://ftpmaster.internal/ubuntu questing/main arm64 liberror-perl all 0.17030-1 [23.5 kB] 1410s Get:16 http://ftpmaster.internal/ubuntu questing/main arm64 git-man all 1:2.48.1-0ubuntu1 [1148 kB] 1410s Get:17 http://ftpmaster.internal/ubuntu questing/main arm64 git arm64 1:2.48.1-0ubuntu1 [4219 kB] 1411s Get:18 http://ftpmaster.internal/ubuntu questing/main arm64 libfontconfig1 arm64 2.15.0-2.2ubuntu1 [144 kB] 1411s Get:19 http://ftpmaster.internal/ubuntu questing/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 1411s Get:20 http://ftpmaster.internal/ubuntu questing/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 1411s Get:21 http://ftpmaster.internal/ubuntu questing/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 1411s Get:22 http://ftpmaster.internal/ubuntu questing/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 1411s Get:23 http://ftpmaster.internal/ubuntu questing/main arm64 libcairo2 arm64 1.18.4-1 [560 kB] 1411s Get:24 http://ftpmaster.internal/ubuntu questing/main arm64 libcairo-gobject2 arm64 1.18.4-1 [127 kB] 1411s Get:25 http://ftpmaster.internal/ubuntu questing/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu4 [168 kB] 1411s Get:26 http://ftpmaster.internal/ubuntu questing/main arm64 python3-dateutil all 2.9.0-4 [80.3 kB] 1411s Get:27 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-adal all 1.2.7-5 [33.0 kB] 1411s Get:28 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-aiohappyeyeballs all 2.6.1-1 [11.1 kB] 1411s Get:29 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-multidict arm64 6.2.0-2 [35.4 kB] 1411s Get:30 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-yarl arm64 1.13.1-1build2 [93.8 kB] 1411s Get:31 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-async-timeout all 5.0.1-1 [6830 B] 1411s Get:32 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-frozenlist arm64 1.5.0-1build2 [48.2 kB] 1411s Get:33 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-aiosignal all 1.3.2-1 [5182 B] 1411s Get:34 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-aiohttp arm64 3.10.11-1build1 [298 kB] 1411s Get:35 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-avro all 1.12.0+dfsg-1 [75.3 kB] 1411s Get:36 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-isodate all 0.7.0-1 [18.6 kB] 1411s Get:37 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 1411s Get:38 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-msrest all 0.6.21-5 [48.7 kB] 1411s Get:39 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-msrestazure all 0.6.4-4 [27.1 kB] 1411s Get:40 http://ftpmaster.internal/ubuntu questing-proposed/universe arm64 python3-azure-storage all 20250401+git-1 [300 kB] 1411s Get:41 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-colorama all 0.4.6-4 [32.1 kB] 1411s Get:42 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-marshmallow all 3.26.1-0.2 [47.5 kB] 1411s Get:43 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-msal all 1.32.0-1 [100 kB] 1411s Get:44 http://ftpmaster.internal/ubuntu questing/main arm64 python3-cairo arm64 1.27.0-2 [122 kB] 1411s Get:45 http://ftpmaster.internal/ubuntu questing/main arm64 python3-gi-cairo arm64 3.50.0-4build1 [7960 B] 1411s Get:46 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-portalocker all 2.2.1-1 [17.2 kB] 1411s Get:47 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-msal-extensions all 1.3.1-1 [18.2 kB] 1411s Get:48 http://ftpmaster.internal/ubuntu questing/main arm64 python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 1411s Get:49 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-joblib all 1.4.2-3 [205 kB] 1411s Get:50 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-regex arm64 0.1.20241106-1build1 [287 kB] 1411s Get:51 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-tqdm all 4.67.1-3 [91.6 kB] 1411s Get:52 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-nltk all 3.9.1-2 [1006 kB] 1411s Get:53 http://ftpmaster.internal/ubuntu questing/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 1411s Get:54 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pydash all 8.0.3-3 [93.0 kB] 1411s Get:55 http://ftpmaster.internal/ubuntu questing/main arm64 python3-six all 1.17.0-1 [13.2 kB] 1411s Get:56 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-ruamel.yaml.clib arm64 0.2.12+ds-1build1 [138 kB] 1411s Get:57 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 1411s Get:58 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-strictyaml all 1.6.1-3 [89.1 kB] 1411s Get:59 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-websocket all 1.8.0-2 [38.5 kB] 1411s Get:60 http://ftpmaster.internal/ubuntu questing-proposed/universe arm64 python3-azure all 20250401+git-1 [16.0 MB] 1412s Get:61 http://ftpmaster.internal/ubuntu questing/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 1412s Get:62 http://ftpmaster.internal/ubuntu questing/main arm64 python3-botocore all 1.37.9+repack-1 [6982 kB] 1412s Get:63 http://ftpmaster.internal/ubuntu questing/main arm64 python3-s3transfer all 0.11.2-2 [55.5 kB] 1412s Get:64 http://ftpmaster.internal/ubuntu questing/main arm64 python3-boto3 all 1.37.9-1 [73.0 kB] 1412s Get:65 http://ftpmaster.internal/ubuntu questing/main arm64 python3-cachetools all 5.3.3-1 [10.3 kB] 1412s Get:66 http://ftpmaster.internal/ubuntu questing/main arm64 python3-wrapt arm64 1.15.0-4build1 [34.2 kB] 1412s Get:67 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-deprecated all 1.2.18-1 [10.6 kB] 1412s Get:68 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-execnet all 2.1.1-1 [33.4 kB] 1412s Get:69 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 1412s Get:70 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pycodestyle all 2.12.1-2 [30.2 kB] 1412s Get:71 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pyflakes all 3.2.0-3 [53.0 kB] 1412s Get:72 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-flake8 all 7.1.1-3 [44.0 kB] 1412s Get:73 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-freezegun all 1.5.1-1.2 [15.9 kB] 1412s Get:74 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-requests-toolbelt all 1.0.0-4 [37.0 kB] 1412s Get:75 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-gitlab all 1:4.9.0-1 [75.0 kB] 1412s Get:76 http://ftpmaster.internal/ubuntu questing/main arm64 python3-pyasn1 all 0.6.1-1 [56.4 kB] 1412s Get:77 http://ftpmaster.internal/ubuntu questing/main arm64 python3-pyasn1-modules all 0.4.1-2 [80.3 kB] 1412s Get:78 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pyu2f all 0.1.5-4 [22.9 kB] 1412s Get:79 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-responses all 0.25.6-1 [40.5 kB] 1412s Get:80 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-rsa all 4.9-2 [28.2 kB] 1412s Get:81 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-google-auth all 2.28.2-3 [91.0 kB] 1412s Get:82 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-httmock all 1.4.0-5 [6544 B] 1412s Get:83 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pyhcl all 0.4.4-6 [43.1 kB] 1412s Get:84 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-hvac all 2.3.0-3 [88.1 kB] 1412s Get:85 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 1412s Get:86 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-kubernetes all 30.1.0-2 [385 kB] 1412s Get:87 http://ftpmaster.internal/ubuntu questing/main arm64 python3-lxml arm64 5.3.2-1 [1258 kB] 1412s Get:88 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pathspec all 0.12.1-1 [24.5 kB] 1412s Get:89 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 1412s Get:90 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-proxmoxer all 2.2.0-1 [16.2 kB] 1412s Get:91 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-py all 1.11.0-4 [72.7 kB] 1412s Get:92 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pytest all 8.3.5-1 [252 kB] 1412s Get:93 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pytest-forked all 1.6.0-3 [7470 B] 1412s Get:94 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pytest-mock all 3.14.0-2 [11.7 kB] 1412s Get:95 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pytest-xdist all 3.6.1-1 [33.8 kB] 1412s Get:96 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-pyvmomi all 8.0.3.0.1-1 [532 kB] 1413s Get:97 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-redis all 4.3.4-4 [166 kB] 1413s Get:98 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-textfsm all 1.1.3-3 [29.3 kB] 1413s Get:99 http://ftpmaster.internal/ubuntu questing/main arm64 python3-xmltodict all 0.13.0-1 [13.4 kB] 1413s Get:100 http://ftpmaster.internal/ubuntu questing/universe arm64 yamllint all 1.35.1-2 [43.6 kB] 1413s Get:101 http://ftpmaster.internal/ubuntu questing/universe arm64 python3-mock all 5.1.0-1 [64.1 kB] 1413s Fetched 58.8 MB in 7s (8739 kB/s) 1413s Selecting previously unselected package python3-packaging. 1414s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 117820 files and directories currently installed.) 1414s Preparing to unpack .../000-python3-packaging_24.2-1_all.deb ... 1414s Unpacking python3-packaging (24.2-1) ... 1414s Selecting previously unselected package python3-resolvelib. 1414s Preparing to unpack .../001-python3-resolvelib_1.1.0-1_all.deb ... 1414s Unpacking python3-resolvelib (1.1.0-1) ... 1414s Selecting previously unselected package libsodium23:arm64. 1414s Preparing to unpack .../002-libsodium23_1.0.18-1build3_arm64.deb ... 1414s Unpacking libsodium23:arm64 (1.0.18-1build3) ... 1414s Selecting previously unselected package python3-nacl. 1414s Preparing to unpack .../003-python3-nacl_1.5.0-7_arm64.deb ... 1414s Unpacking python3-nacl (1.5.0-7) ... 1414s Selecting previously unselected package python3-paramiko. 1414s Preparing to unpack .../004-python3-paramiko_3.5.1-2ubuntu1_all.deb ... 1414s Unpacking python3-paramiko (3.5.1-2ubuntu1) ... 1414s Selecting previously unselected package python3-dnspython. 1414s Preparing to unpack .../005-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 1414s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 1414s Selecting previously unselected package ansible-core. 1414s Preparing to unpack .../006-ansible-core_2.18.1-4ubuntu1_all.deb ... 1414s Unpacking ansible-core (2.18.1-4ubuntu1) ... 1414s Selecting previously unselected package ansible. 1414s Preparing to unpack .../007-ansible_11.2.0+dfsg-1_all.deb ... 1414s Unpacking ansible (11.2.0+dfsg-1) ... 1417s Selecting previously unselected package fonts-dejavu-mono. 1417s Preparing to unpack .../008-fonts-dejavu-mono_2.37-8_all.deb ... 1417s Unpacking fonts-dejavu-mono (2.37-8) ... 1417s Selecting previously unselected package fonts-dejavu-core. 1417s Preparing to unpack .../009-fonts-dejavu-core_2.37-8_all.deb ... 1417s Unpacking fonts-dejavu-core (2.37-8) ... 1417s Selecting previously unselected package fontconfig-config. 1417s Preparing to unpack .../010-fontconfig-config_2.15.0-2.2ubuntu1_arm64.deb ... 1418s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ... 1418s Selecting previously unselected package libsecret-common. 1418s Preparing to unpack .../011-libsecret-common_0.21.7-1_all.deb ... 1418s Unpacking libsecret-common (0.21.7-1) ... 1418s Selecting previously unselected package libsecret-1-0:arm64. 1418s Preparing to unpack .../012-libsecret-1-0_0.21.7-1_arm64.deb ... 1418s Unpacking libsecret-1-0:arm64 (0.21.7-1) ... 1418s Selecting previously unselected package gir1.2-secret-1:arm64. 1418s Preparing to unpack .../013-gir1.2-secret-1_0.21.7-1_arm64.deb ... 1418s Unpacking gir1.2-secret-1:arm64 (0.21.7-1) ... 1418s Selecting previously unselected package liberror-perl. 1418s Preparing to unpack .../014-liberror-perl_0.17030-1_all.deb ... 1418s Unpacking liberror-perl (0.17030-1) ... 1418s Selecting previously unselected package git-man. 1418s Preparing to unpack .../015-git-man_1%3a2.48.1-0ubuntu1_all.deb ... 1418s Unpacking git-man (1:2.48.1-0ubuntu1) ... 1418s Selecting previously unselected package git. 1418s Preparing to unpack .../016-git_1%3a2.48.1-0ubuntu1_arm64.deb ... 1419s Unpacking git (1:2.48.1-0ubuntu1) ... 1419s Selecting previously unselected package libfontconfig1:arm64. 1419s Preparing to unpack .../017-libfontconfig1_2.15.0-2.2ubuntu1_arm64.deb ... 1419s Unpacking libfontconfig1:arm64 (2.15.0-2.2ubuntu1) ... 1419s Selecting previously unselected package libpixman-1-0:arm64. 1419s Preparing to unpack .../018-libpixman-1-0_0.44.0-3_arm64.deb ... 1419s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 1419s Selecting previously unselected package libxcb-render0:arm64. 1419s Preparing to unpack .../019-libxcb-render0_1.17.0-2_arm64.deb ... 1419s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 1419s Selecting previously unselected package libxcb-shm0:arm64. 1419s Preparing to unpack .../020-libxcb-shm0_1.17.0-2_arm64.deb ... 1419s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 1419s Selecting previously unselected package libxrender1:arm64. 1419s Preparing to unpack .../021-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 1419s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 1419s Selecting previously unselected package libcairo2:arm64. 1419s Preparing to unpack .../022-libcairo2_1.18.4-1_arm64.deb ... 1419s Unpacking libcairo2:arm64 (1.18.4-1) ... 1419s Selecting previously unselected package libcairo-gobject2:arm64. 1419s Preparing to unpack .../023-libcairo-gobject2_1.18.4-1_arm64.deb ... 1419s Unpacking libcairo-gobject2:arm64 (1.18.4-1) ... 1419s Selecting previously unselected package libxslt1.1:arm64. 1419s Preparing to unpack .../024-libxslt1.1_1.1.39-0exp1ubuntu4_arm64.deb ... 1419s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu4) ... 1420s Selecting previously unselected package python3-dateutil. 1420s Preparing to unpack .../025-python3-dateutil_2.9.0-4_all.deb ... 1420s Unpacking python3-dateutil (2.9.0-4) ... 1420s Selecting previously unselected package python3-adal. 1420s Preparing to unpack .../026-python3-adal_1.2.7-5_all.deb ... 1420s Unpacking python3-adal (1.2.7-5) ... 1420s Selecting previously unselected package python3-aiohappyeyeballs. 1420s Preparing to unpack .../027-python3-aiohappyeyeballs_2.6.1-1_all.deb ... 1420s Unpacking python3-aiohappyeyeballs (2.6.1-1) ... 1420s Selecting previously unselected package python3-multidict. 1420s Preparing to unpack .../028-python3-multidict_6.2.0-2_arm64.deb ... 1420s Unpacking python3-multidict (6.2.0-2) ... 1420s Selecting previously unselected package python3-yarl. 1420s Preparing to unpack .../029-python3-yarl_1.13.1-1build2_arm64.deb ... 1420s Unpacking python3-yarl (1.13.1-1build2) ... 1420s Selecting previously unselected package python3-async-timeout. 1420s Preparing to unpack .../030-python3-async-timeout_5.0.1-1_all.deb ... 1420s Unpacking python3-async-timeout (5.0.1-1) ... 1420s Selecting previously unselected package python3-frozenlist. 1420s Preparing to unpack .../031-python3-frozenlist_1.5.0-1build2_arm64.deb ... 1420s Unpacking python3-frozenlist (1.5.0-1build2) ... 1420s Selecting previously unselected package python3-aiosignal. 1420s Preparing to unpack .../032-python3-aiosignal_1.3.2-1_all.deb ... 1420s Unpacking python3-aiosignal (1.3.2-1) ... 1420s Selecting previously unselected package python3-aiohttp. 1420s Preparing to unpack .../033-python3-aiohttp_3.10.11-1build1_arm64.deb ... 1420s Unpacking python3-aiohttp (3.10.11-1build1) ... 1420s Selecting previously unselected package python3-avro. 1420s Preparing to unpack .../034-python3-avro_1.12.0+dfsg-1_all.deb ... 1420s Unpacking python3-avro (1.12.0+dfsg-1) ... 1420s Selecting previously unselected package python3-isodate. 1421s Preparing to unpack .../035-python3-isodate_0.7.0-1_all.deb ... 1421s Unpacking python3-isodate (0.7.0-1) ... 1421s Selecting previously unselected package python3-requests-oauthlib. 1421s Preparing to unpack .../036-python3-requests-oauthlib_1.3.1-1_all.deb ... 1421s Unpacking python3-requests-oauthlib (1.3.1-1) ... 1421s Selecting previously unselected package python3-msrest. 1421s Preparing to unpack .../037-python3-msrest_0.6.21-5_all.deb ... 1421s Unpacking python3-msrest (0.6.21-5) ... 1421s Selecting previously unselected package python3-msrestazure. 1421s Preparing to unpack .../038-python3-msrestazure_0.6.4-4_all.deb ... 1421s Unpacking python3-msrestazure (0.6.4-4) ... 1421s Selecting previously unselected package python3-azure-storage. 1421s Preparing to unpack .../039-python3-azure-storage_20250401+git-1_all.deb ... 1421s Unpacking python3-azure-storage (20250401+git-1) ... 1421s Selecting previously unselected package python3-colorama. 1421s Preparing to unpack .../040-python3-colorama_0.4.6-4_all.deb ... 1421s Unpacking python3-colorama (0.4.6-4) ... 1421s Selecting previously unselected package python3-marshmallow. 1421s Preparing to unpack .../041-python3-marshmallow_3.26.1-0.2_all.deb ... 1421s Unpacking python3-marshmallow (3.26.1-0.2) ... 1421s Selecting previously unselected package python3-msal. 1421s Preparing to unpack .../042-python3-msal_1.32.0-1_all.deb ... 1421s Unpacking python3-msal (1.32.0-1) ... 1421s Selecting previously unselected package python3-cairo. 1421s Preparing to unpack .../043-python3-cairo_1.27.0-2_arm64.deb ... 1421s Unpacking python3-cairo (1.27.0-2) ... 1421s Selecting previously unselected package python3-gi-cairo. 1421s Preparing to unpack .../044-python3-gi-cairo_3.50.0-4build1_arm64.deb ... 1421s Unpacking python3-gi-cairo (3.50.0-4build1) ... 1421s Selecting previously unselected package python3-portalocker. 1421s Preparing to unpack .../045-python3-portalocker_2.2.1-1_all.deb ... 1421s Unpacking python3-portalocker (2.2.1-1) ... 1422s Selecting previously unselected package python3-msal-extensions. 1422s Preparing to unpack .../046-python3-msal-extensions_1.3.1-1_all.deb ... 1422s Unpacking python3-msal-extensions (1.3.1-1) ... 1422s Selecting previously unselected package python3-click. 1422s Preparing to unpack .../047-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 1422s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 1422s Selecting previously unselected package python3-joblib. 1422s Preparing to unpack .../048-python3-joblib_1.4.2-3_all.deb ... 1422s Unpacking python3-joblib (1.4.2-3) ... 1422s Selecting previously unselected package python3-regex. 1422s Preparing to unpack .../049-python3-regex_0.1.20241106-1build1_arm64.deb ... 1422s Unpacking python3-regex (0.1.20241106-1build1) ... 1422s Selecting previously unselected package python3-tqdm. 1422s Preparing to unpack .../050-python3-tqdm_4.67.1-3_all.deb ... 1422s Unpacking python3-tqdm (4.67.1-3) ... 1422s Selecting previously unselected package python3-nltk. 1422s Preparing to unpack .../051-python3-nltk_3.9.1-2_all.deb ... 1422s Unpacking python3-nltk (3.9.1-2) ... 1422s Selecting previously unselected package python3-psutil. 1422s Preparing to unpack .../052-python3-psutil_5.9.8-2build3_arm64.deb ... 1422s Unpacking python3-psutil (5.9.8-2build3) ... 1422s Selecting previously unselected package python3-pydash. 1422s Preparing to unpack .../053-python3-pydash_8.0.3-3_all.deb ... 1422s Unpacking python3-pydash (8.0.3-3) ... 1422s Selecting previously unselected package python3-six. 1422s Preparing to unpack .../054-python3-six_1.17.0-1_all.deb ... 1422s Unpacking python3-six (1.17.0-1) ... 1422s Selecting previously unselected package python3-ruamel.yaml.clib. 1422s Preparing to unpack .../055-python3-ruamel.yaml.clib_0.2.12+ds-1build1_arm64.deb ... 1422s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 1423s Selecting previously unselected package python3-ruamel.yaml. 1423s Preparing to unpack .../056-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 1423s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 1423s Selecting previously unselected package python3-strictyaml. 1423s Preparing to unpack .../057-python3-strictyaml_1.6.1-3_all.deb ... 1423s Unpacking python3-strictyaml (1.6.1-3) ... 1423s Selecting previously unselected package python3-websocket. 1423s Preparing to unpack .../058-python3-websocket_1.8.0-2_all.deb ... 1423s Unpacking python3-websocket (1.8.0-2) ... 1423s Selecting previously unselected package python3-azure. 1423s Preparing to unpack .../059-python3-azure_20250401+git-1_all.deb ... 1423s Unpacking python3-azure (20250401+git-1) ... 1428s Selecting previously unselected package python3-jmespath. 1428s Preparing to unpack .../060-python3-jmespath_1.0.1-1_all.deb ... 1428s Unpacking python3-jmespath (1.0.1-1) ... 1428s Selecting previously unselected package python3-botocore. 1429s Preparing to unpack .../061-python3-botocore_1.37.9+repack-1_all.deb ... 1429s Unpacking python3-botocore (1.37.9+repack-1) ... 1429s Selecting previously unselected package python3-s3transfer. 1429s Preparing to unpack .../062-python3-s3transfer_0.11.2-2_all.deb ... 1429s Unpacking python3-s3transfer (0.11.2-2) ... 1429s Selecting previously unselected package python3-boto3. 1430s Preparing to unpack .../063-python3-boto3_1.37.9-1_all.deb ... 1430s Unpacking python3-boto3 (1.37.9-1) ... 1430s Selecting previously unselected package python3-cachetools. 1430s Preparing to unpack .../064-python3-cachetools_5.3.3-1_all.deb ... 1430s Unpacking python3-cachetools (5.3.3-1) ... 1430s Selecting previously unselected package python3-wrapt. 1430s Preparing to unpack .../065-python3-wrapt_1.15.0-4build1_arm64.deb ... 1430s Unpacking python3-wrapt (1.15.0-4build1) ... 1430s Selecting previously unselected package python3-deprecated. 1430s Preparing to unpack .../066-python3-deprecated_1.2.18-1_all.deb ... 1430s Unpacking python3-deprecated (1.2.18-1) ... 1430s Selecting previously unselected package python3-execnet. 1430s Preparing to unpack .../067-python3-execnet_2.1.1-1_all.deb ... 1430s Unpacking python3-execnet (2.1.1-1) ... 1430s Selecting previously unselected package python3-mccabe. 1430s Preparing to unpack .../068-python3-mccabe_0.7.0-1_all.deb ... 1430s Unpacking python3-mccabe (0.7.0-1) ... 1430s Selecting previously unselected package python3-pycodestyle. 1430s Preparing to unpack .../069-python3-pycodestyle_2.12.1-2_all.deb ... 1430s Unpacking python3-pycodestyle (2.12.1-2) ... 1430s Selecting previously unselected package python3-pyflakes. 1430s Preparing to unpack .../070-python3-pyflakes_3.2.0-3_all.deb ... 1430s Unpacking python3-pyflakes (3.2.0-3) ... 1431s Selecting previously unselected package python3-flake8. 1431s Preparing to unpack .../071-python3-flake8_7.1.1-3_all.deb ... 1431s Unpacking python3-flake8 (7.1.1-3) ... 1431s Selecting previously unselected package python3-freezegun. 1431s Preparing to unpack .../072-python3-freezegun_1.5.1-1.2_all.deb ... 1431s Unpacking python3-freezegun (1.5.1-1.2) ... 1431s Selecting previously unselected package python3-requests-toolbelt. 1431s Preparing to unpack .../073-python3-requests-toolbelt_1.0.0-4_all.deb ... 1431s Unpacking python3-requests-toolbelt (1.0.0-4) ... 1431s Selecting previously unselected package python3-gitlab. 1431s Preparing to unpack .../074-python3-gitlab_1%3a4.9.0-1_all.deb ... 1431s Unpacking python3-gitlab (1:4.9.0-1) ... 1431s Selecting previously unselected package python3-pyasn1. 1431s Preparing to unpack .../075-python3-pyasn1_0.6.1-1_all.deb ... 1431s Unpacking python3-pyasn1 (0.6.1-1) ... 1431s Selecting previously unselected package python3-pyasn1-modules. 1431s Preparing to unpack .../076-python3-pyasn1-modules_0.4.1-2_all.deb ... 1431s Unpacking python3-pyasn1-modules (0.4.1-2) ... 1431s Selecting previously unselected package python3-pyu2f. 1431s Preparing to unpack .../077-python3-pyu2f_0.1.5-4_all.deb ... 1431s Unpacking python3-pyu2f (0.1.5-4) ... 1431s Selecting previously unselected package python3-responses. 1431s Preparing to unpack .../078-python3-responses_0.25.6-1_all.deb ... 1431s Unpacking python3-responses (0.25.6-1) ... 1431s Selecting previously unselected package python3-rsa. 1431s Preparing to unpack .../079-python3-rsa_4.9-2_all.deb ... 1431s Unpacking python3-rsa (4.9-2) ... 1431s Selecting previously unselected package python3-google-auth. 1431s Preparing to unpack .../080-python3-google-auth_2.28.2-3_all.deb ... 1431s Unpacking python3-google-auth (2.28.2-3) ... 1431s Selecting previously unselected package python3-httmock. 1432s Preparing to unpack .../081-python3-httmock_1.4.0-5_all.deb ... 1432s Unpacking python3-httmock (1.4.0-5) ... 1432s Selecting previously unselected package python3-pyhcl. 1432s Preparing to unpack .../082-python3-pyhcl_0.4.4-6_all.deb ... 1432s Unpacking python3-pyhcl (0.4.4-6) ... 1432s Selecting previously unselected package python3-hvac. 1432s Preparing to unpack .../083-python3-hvac_2.3.0-3_all.deb ... 1432s Unpacking python3-hvac (2.3.0-3) ... 1432s Selecting previously unselected package python3-iniconfig. 1432s Preparing to unpack .../084-python3-iniconfig_1.1.1-2_all.deb ... 1432s Unpacking python3-iniconfig (1.1.1-2) ... 1432s Selecting previously unselected package python3-kubernetes. 1432s Preparing to unpack .../085-python3-kubernetes_30.1.0-2_all.deb ... 1432s Unpacking python3-kubernetes (30.1.0-2) ... 1432s Selecting previously unselected package python3-lxml:arm64. 1432s Preparing to unpack .../086-python3-lxml_5.3.2-1_arm64.deb ... 1432s Unpacking python3-lxml:arm64 (5.3.2-1) ... 1432s Selecting previously unselected package python3-pathspec. 1432s Preparing to unpack .../087-python3-pathspec_0.12.1-1_all.deb ... 1432s Unpacking python3-pathspec (0.12.1-1) ... 1432s Selecting previously unselected package python3-pluggy. 1432s Preparing to unpack .../088-python3-pluggy_1.5.0-1_all.deb ... 1432s Unpacking python3-pluggy (1.5.0-1) ... 1433s Selecting previously unselected package python3-proxmoxer. 1433s Preparing to unpack .../089-python3-proxmoxer_2.2.0-1_all.deb ... 1433s Unpacking python3-proxmoxer (2.2.0-1) ... 1433s Selecting previously unselected package python3-py. 1433s Preparing to unpack .../090-python3-py_1.11.0-4_all.deb ... 1433s Unpacking python3-py (1.11.0-4) ... 1433s Selecting previously unselected package python3-pytest. 1433s Preparing to unpack .../091-python3-pytest_8.3.5-1_all.deb ... 1433s Unpacking python3-pytest (8.3.5-1) ... 1433s Selecting previously unselected package python3-pytest-forked. 1433s Preparing to unpack .../092-python3-pytest-forked_1.6.0-3_all.deb ... 1433s Unpacking python3-pytest-forked (1.6.0-3) ... 1433s Selecting previously unselected package python3-pytest-mock. 1433s Preparing to unpack .../093-python3-pytest-mock_3.14.0-2_all.deb ... 1433s Unpacking python3-pytest-mock (3.14.0-2) ... 1433s Selecting previously unselected package python3-pytest-xdist. 1433s Preparing to unpack .../094-python3-pytest-xdist_3.6.1-1_all.deb ... 1433s Unpacking python3-pytest-xdist (3.6.1-1) ... 1433s Selecting previously unselected package python3-pyvmomi. 1433s Preparing to unpack .../095-python3-pyvmomi_8.0.3.0.1-1_all.deb ... 1433s Unpacking python3-pyvmomi (8.0.3.0.1-1) ... 1434s Selecting previously unselected package python3-redis. 1434s Preparing to unpack .../096-python3-redis_4.3.4-4_all.deb ... 1434s Unpacking python3-redis (4.3.4-4) ... 1434s Selecting previously unselected package python3-textfsm. 1434s Preparing to unpack .../097-python3-textfsm_1.1.3-3_all.deb ... 1434s Unpacking python3-textfsm (1.1.3-3) ... 1434s Selecting previously unselected package python3-xmltodict. 1434s Preparing to unpack .../098-python3-xmltodict_0.13.0-1_all.deb ... 1434s Unpacking python3-xmltodict (0.13.0-1) ... 1434s Selecting previously unselected package yamllint. 1434s Preparing to unpack .../099-yamllint_1.35.1-2_all.deb ... 1434s Unpacking yamllint (1.35.1-2) ... 1434s Selecting previously unselected package python3-mock. 1434s Preparing to unpack .../100-python3-mock_5.1.0-1_all.deb ... 1434s Unpacking python3-mock (5.1.0-1) ... 1434s Setting up python3-iniconfig (1.1.1-2) ... 1434s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 1434s Setting up libsodium23:arm64 (1.0.18-1build3) ... 1434s Setting up python3-requests-toolbelt (1.0.0-4) ... 1435s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 1435s Setting up python3-py (1.11.0-4) ... 1435s Setting up python3-joblib (1.4.2-3) ... 1436s Setting up python3-cachetools (5.3.3-1) ... 1436s Setting up python3-colorama (0.4.6-4) ... 1436s Setting up libxcb-render0:arm64 (1.17.0-2) ... 1436s Setting up python3-tqdm (4.67.1-3) ... 1436s Setting up python3-pyflakes (3.2.0-3) ... 1437s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 1437s Setting up python3-resolvelib (1.1.0-1) ... 1437s Setting up python3-msal (1.32.0-1) ... 1437s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 1437s Setting up python3-httmock (1.4.0-5) ... 1438s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 1438s Setting up python3-psutil (5.9.8-2build3) ... 1438s Setting up python3-multidict (6.2.0-2) ... 1439s Setting up python3-frozenlist (1.5.0-1build2) ... 1439s Setting up python3-aiosignal (1.3.2-1) ... 1439s Setting up python3-mock (5.1.0-1) ... 1439s Setting up python3-async-timeout (5.0.1-1) ... 1440s Setting up liberror-perl (0.17030-1) ... 1440s Setting up python3-six (1.17.0-1) ... 1440s Setting up python3-responses (0.25.6-1) ... 1440s Setting up python3-pyvmomi (8.0.3.0.1-1) ... 1441s Setting up python3-isodate (0.7.0-1) ... 1441s Setting up python3-pycodestyle (2.12.1-2) ... 1441s Setting up python3-xmltodict (0.13.0-1) ... 1442s Setting up python3-packaging (24.2-1) ... 1442s Setting up python3-pyu2f (0.1.5-4) ... 1442s Setting up python3-avro (1.12.0+dfsg-1) ... 1442s Setting up python3-jmespath (1.0.1-1) ... 1443s Setting up fonts-dejavu-mono (2.37-8) ... 1443s Setting up python3-wrapt (1.15.0-4build1) ... 1443s Setting up fonts-dejavu-core (2.37-8) ... 1443s Setting up python3-aiohappyeyeballs (2.6.1-1) ... 1443s Setting up python3-regex (0.1.20241106-1build1) ... 1444s Setting up python3-pluggy (1.5.0-1) ... 1444s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 1444s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 1445s Setting up python3-portalocker (2.2.1-1) ... 1445s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu4) ... 1445s Setting up python3-pyasn1 (0.6.1-1) ... 1446s Setting up python3-proxmoxer (2.2.0-1) ... 1446s Setting up git-man (1:2.48.1-0ubuntu1) ... 1446s Setting up python3-dateutil (2.9.0-4) ... 1446s Setting up python3-textfsm (1.1.3-3) ... 1446s Setting up python3-mccabe (0.7.0-1) ... 1447s Setting up python3-execnet (2.1.1-1) ... 1447s Setting up python3-pathspec (0.12.1-1) ... 1447s Setting up python3-pydash (8.0.3-3) ... 1448s Setting up python3-nltk (3.9.1-2) ... 1449s Setting up python3-yarl (1.13.1-1build2) ... 1450s Setting up python3-pyhcl (0.4.4-6) ... 1450s Setting up python3-gitlab (1:4.9.0-1) ... 1450s Setting up python3-websocket (1.8.0-2) ... 1451s Setting up python3-deprecated (1.2.18-1) ... 1451s Setting up libsecret-common (0.21.7-1) ... 1451s Setting up python3-freezegun (1.5.1-1.2) ... 1451s Setting up python3-nacl (1.5.0-7) ... 1451s Setting up python3-requests-oauthlib (1.3.1-1) ... 1452s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ... 1452s Setting up python3-pytest (8.3.5-1) ... 1453s Setting up python3-aiohttp (3.10.11-1build1) ... 1453s Setting up python3-marshmallow (3.26.1-0.2) ... 1453s Setting up ansible-core (2.18.1-4ubuntu1) ... 1456s Setting up python3-flake8 (7.1.1-3) ... 1456s Setting up python3-msrest (0.6.21-5) ... 1456s Setting up python3-pytest-forked (1.6.0-3) ... 1457s Setting up python3-strictyaml (1.6.1-3) ... 1457s Setting up libsecret-1-0:arm64 (0.21.7-1) ... 1457s Setting up yamllint (1.35.1-2) ... 1457s Setting up gir1.2-secret-1:arm64 (0.21.7-1) ... 1457s Setting up python3-pyasn1-modules (0.4.1-2) ... 1458s Setting up python3-botocore (1.37.9+repack-1) ... 1458s Setting up python3-hvac (2.3.0-3) ... 1459s Setting up git (1:2.48.1-0ubuntu1) ... 1459s Setting up python3-redis (4.3.4-4) ... 1459s Setting up python3-adal (1.2.7-5) ... 1460s Setting up python3-pytest-mock (3.14.0-2) ... 1460s Setting up python3-lxml:arm64 (5.3.2-1) ... 1460s Setting up python3-rsa (4.9-2) ... 1460s Setting up libfontconfig1:arm64 (2.15.0-2.2ubuntu1) ... 1460s Setting up python3-msrestazure (0.6.4-4) ... 1461s Setting up ansible (11.2.0+dfsg-1) ... 1490s Setting up python3-paramiko (3.5.1-2ubuntu1) ... 1491s Setting up python3-pytest-xdist (3.6.1-1) ... 1491s Setting up python3-s3transfer (0.11.2-2) ... 1491s Setting up libcairo2:arm64 (1.18.4-1) ... 1491s Setting up python3-google-auth (2.28.2-3) ... 1491s Setting up python3-boto3 (1.37.9-1) ... 1491s Setting up libcairo-gobject2:arm64 (1.18.4-1) ... 1491s Setting up python3-cairo (1.27.0-2) ... 1491s Setting up python3-kubernetes (30.1.0-2) ... 1493s Setting up python3-gi-cairo (3.50.0-4build1) ... 1493s Setting up python3-msal-extensions (1.3.1-1) ... 1493s Setting up python3-azure-storage (20250401+git-1) ... 1494s Setting up python3-azure (20250401+git-1) ... 1508s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:80: SyntaxWarning: invalid escape sequence '\ ' 1508s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example, 1508s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:405: SyntaxWarning: invalid escape sequence '\ ' 1508s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example, 1510s /usr/lib/python3/dist-packages/azure/appconfiguration/_generated/models/_models.py:238: SyntaxWarning: invalid escape sequence '\ ' 1510s """An error, available when the status is ``Failed``\ , describing why the operation 1510s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9067: SyntaxWarning: invalid escape sequence '\ ' 1510s """The source port ranges to match for the rule. Valid values are '\ *' (for all ports 0 - 65535), 1510s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9235: SyntaxWarning: invalid escape sequence '\ ' 1510s using brackets (for example abc[\ *] would match a file named abc*\ ). Note that both and / are 1511s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2326: SyntaxWarning: invalid escape sequence '\ ' 1511s payload to scoring rule. If not set, a job's labels (sent in the payload as ``job``\ ) and a 1511s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2346: SyntaxWarning: invalid escape sequence '\ ' 1511s If not set, a job's labels (sent in the payload as ``job``\ ) and a job's worker selectors 1514s /usr/lib/python3/dist-packages/azure/mgmt/advisor/aio/operations/_recommendations_operations.py:190: SyntaxWarning: invalid escape sequence '\ ' 1514s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category 1514s /usr/lib/python3/dist-packages/azure/mgmt/advisor/operations/_recommendations_operations.py:303: SyntaxWarning: invalid escape sequence '\ ' 1514s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category 1515s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:3917: SyntaxWarning: invalid escape sequence '\ ' 1515s Possible Values::code:`
`:code:`
` **Standard**\ :code:`
`:code:`
` 1515s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10212: SyntaxWarning: invalid escape sequence '\ ' 1515s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1515s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10255: SyntaxWarning: invalid escape sequence '\ ' 1515s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1515s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10284: SyntaxWarning: invalid escape sequence '\ ' 1515s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1515s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10320: SyntaxWarning: invalid escape sequence '\ ' 1515s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1515s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10342: SyntaxWarning: invalid escape sequence '\ ' 1515s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1515s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10375: SyntaxWarning: invalid escape sequence '\ ' 1515s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1515s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10396: SyntaxWarning: invalid escape sequence '\ ' 1515s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1515s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10429: SyntaxWarning: invalid escape sequence '\ ' 1515s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1515s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14746: SyntaxWarning: invalid escape sequence '\ ' 1515s :ivar allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ , 1515s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14771: SyntaxWarning: invalid escape sequence '\ ' 1515s :keyword allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ , 1519s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:1420: SyntaxWarning: invalid escape sequence '\ ' 1519s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\ 1519s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:2310: SyntaxWarning: invalid escape sequence '\ ' 1519s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\ 1519s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:1547: SyntaxWarning: invalid escape sequence '\ ' 1519s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\ 1519s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:2524: SyntaxWarning: invalid escape sequence '\ ' 1519s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\ 1524s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:624: SyntaxWarning: invalid escape sequence '\ ' 1524s and Screenshot to diagnose VM status. **NOTE**\ : If storageUri is being 1524s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:3707: SyntaxWarning: invalid escape sequence '\W' 1524s characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) 1529s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16843: SyntaxWarning: invalid escape sequence '\S' 1529s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required. 1529s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16916: SyntaxWarning: invalid escape sequence '\S' 1529s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required. 1531s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:63: SyntaxWarning: invalid escape sequence '\w' 1531s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1531s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:130: SyntaxWarning: invalid escape sequence '\w' 1531s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1531s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:224: SyntaxWarning: invalid escape sequence '\w' 1531s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1531s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:312: SyntaxWarning: invalid escape sequence '\w' 1531s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1531s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:398: SyntaxWarning: invalid escape sequence '\w' 1531s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1531s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:543: SyntaxWarning: invalid escape sequence '\w' 1531s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1531s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:612: SyntaxWarning: invalid escape sequence '\w' 1531s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1531s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:675: SyntaxWarning: invalid escape sequence '\w' 1531s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1531s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:738: SyntaxWarning: invalid escape sequence '\w' 1531s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1531s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:807: SyntaxWarning: invalid escape sequence '\w' 1531s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1535s /usr/lib/python3/dist-packages/azure/mgmt/hybridnetwork/models/_models_py3.py:6032: SyntaxWarning: invalid escape sequence '\ ' 1535s :ivar provisioning_state: The provisioning state of the site resource. **TODO**\ : Confirm if 1536s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3866: SyntaxWarning: invalid escape sequence '\ ' 1536s pattern set glob-style pattern (e.g., '\ *', 'clients/*\ '). Required.""" 1536s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3868: SyntaxWarning: invalid escape sequence '\ ' 1536s """Give access for ``Read``\ , ``Write`` and ``ReadWrite`` access level. Required. Known values 1539s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:169: SyntaxWarning: invalid escape sequence '\ ' 1539s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\ 1539s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:1032: SyntaxWarning: invalid escape sequence '\ ' 1539s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\ 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2542: SyntaxWarning: invalid escape sequence '\R' 1546s """Execute Reverse Replication\Reprotect. 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2583: SyntaxWarning: invalid escape sequence '\R' 1546s """Execute Reverse Replication\Reprotect. 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2622: SyntaxWarning: invalid escape sequence '\R' 1546s """Execute Reverse Replication\Reprotect. 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5397: SyntaxWarning: invalid escape sequence '\L' 1546s :ivar lun_id: Ordinal\LunId of the disk for the Azure VM. 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5448: SyntaxWarning: invalid escape sequence '\L' 1546s :keyword lun_id: Ordinal\LunId of the disk for the Azure VM. 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8836: SyntaxWarning: invalid escape sequence '\S' 1546s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8978: SyntaxWarning: invalid escape sequence '\S' 1546s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9510: SyntaxWarning: invalid escape sequence '\S' 1546s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9675: SyntaxWarning: invalid escape sequence '\S' 1546s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11412: SyntaxWarning: invalid escape sequence '\S' 1546s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11541: SyntaxWarning: invalid escape sequence '\S' 1546s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12193: SyntaxWarning: invalid escape sequence '\S' 1546s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12516: SyntaxWarning: invalid escape sequence '\S' 1546s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26323: SyntaxWarning: invalid escape sequence '\S' 1546s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26382: SyntaxWarning: invalid escape sequence '\S' 1546s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3476: SyntaxWarning: invalid escape sequence '\R' 1546s """Execute Reverse Replication\Reprotect. 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3517: SyntaxWarning: invalid escape sequence '\R' 1546s """Execute Reverse Replication\Reprotect. 1546s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3556: SyntaxWarning: invalid escape sequence '\R' 1546s """Execute Reverse Replication\Reprotect. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_azure_reservation_api_operations.py:163: SyntaxWarning: invalid escape sequence '\ ' 1547s """Get list of applicable ``Reservation``\ s. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:377: SyntaxWarning: invalid escape sequence '\ ' 1547s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:407: SyntaxWarning: invalid escape sequence '\ ' 1547s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:437: SyntaxWarning: invalid escape sequence '\ ' 1547s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:583: SyntaxWarning: invalid escape sequence '\ ' 1547s """Merges two ``Reservation``\ s. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:614: SyntaxWarning: invalid escape sequence '\ ' 1547s """Merges two ``Reservation``\ s. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:645: SyntaxWarning: invalid escape sequence '\ ' 1547s """Merges two ``Reservation``\ s. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:721: SyntaxWarning: invalid escape sequence '\ ' 1547s """Get ``Reservation``\ s in a given reservation Order. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_order_operations.py:183: SyntaxWarning: invalid escape sequence '\ ' 1547s """Get all ``ReservationOrder``\ s. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3172: SyntaxWarning: invalid escape sequence '\ ' 1547s """List of ``Reservation``\ s. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3288: SyntaxWarning: invalid escape sequence '\ ' 1547s """List of ``ReservationOrder``\ s. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_azure_reservation_api_operations.py:239: SyntaxWarning: invalid escape sequence '\ ' 1547s """Get list of applicable ``Reservation``\ s. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:662: SyntaxWarning: invalid escape sequence '\ ' 1547s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:692: SyntaxWarning: invalid escape sequence '\ ' 1547s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:722: SyntaxWarning: invalid escape sequence '\ ' 1547s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:868: SyntaxWarning: invalid escape sequence '\ ' 1547s """Merges two ``Reservation``\ s. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:899: SyntaxWarning: invalid escape sequence '\ ' 1547s """Merges two ``Reservation``\ s. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:930: SyntaxWarning: invalid escape sequence '\ ' 1547s """Merges two ``Reservation``\ s. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:1006: SyntaxWarning: invalid escape sequence '\ ' 1547s """Get ``Reservation``\ s in a given reservation Order. 1547s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_order_operations.py:299: SyntaxWarning: invalid escape sequence '\ ' 1547s """Get all ``ReservationOrder``\ s. 1551s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:68: SyntaxWarning: invalid escape sequence '\ ' 1551s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end`` 1551s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:90: SyntaxWarning: invalid escape sequence '\ ' 1551s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after 1551s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1141: SyntaxWarning: invalid escape sequence '\ ' 1551s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end`` 1551s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1163: SyntaxWarning: invalid escape sequence '\ ' 1551s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after 1554s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2858: SyntaxWarning: invalid escape sequence '\ ' 1554s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client 1554s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2925: SyntaxWarning: invalid escape sequence '\ ' 1554s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client 1557s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_functions_operations.py:595: SyntaxWarning: invalid escape sequence '\ ' 1557s properties to include in the response, or "\ *" to include all properties. By default, all 1557s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_inputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ ' 1557s properties to include in the response, or "\ *" to include all properties. By default, all 1557s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_outputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ ' 1557s properties to include in the response, or "\ *" to include all properties. By default, all 1557s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/models/_stream_analytics_management_client_enums.py:14: SyntaxWarning: invalid escape sequence '\ ' 1557s """Authentication Mode. Valid modes are ``ConnectionString``\ , ``Msi`` and 'UserToken'.""" 1557s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_functions_operations.py:859: SyntaxWarning: invalid escape sequence '\ ' 1557s properties to include in the response, or "\ *" to include all properties. By default, all 1557s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_inputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ ' 1557s properties to include in the response, or "\ *" to include all properties. By default, all 1557s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_outputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ ' 1557s properties to include in the response, or "\ *" to include all properties. By default, all 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_no_subscription_operations.py:193: SyntaxWarning: invalid escape sequence '\ ' 1557s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_operations.py:194: SyntaxWarning: invalid escape sequence '\ ' 1557s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:177: SyntaxWarning: invalid escape sequence '\ ' 1557s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:540: SyntaxWarning: invalid escape sequence '\ ' 1557s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:582: SyntaxWarning: invalid escape sequence '\ ' 1557s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:622: SyntaxWarning: invalid escape sequence '\ ' 1557s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_no_subscription_operations.py:308: SyntaxWarning: invalid escape sequence '\ ' 1557s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_operations.py:326: SyntaxWarning: invalid escape sequence '\ ' 1557s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:319: SyntaxWarning: invalid escape sequence '\ ' 1557s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:681: SyntaxWarning: invalid escape sequence '\ ' 1557s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:723: SyntaxWarning: invalid escape sequence '\ ' 1557s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1557s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:763: SyntaxWarning: invalid escape sequence '\ ' 1557s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1557s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6232: SyntaxWarning: invalid escape sequence '\ ' 1557s :ivar maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60}, 1557s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6288: SyntaxWarning: invalid escape sequence '\ ' 1557s :keyword maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60}, 1563s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2909: SyntaxWarning: invalid escape sequence '\W' 1563s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 1563s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2954: SyntaxWarning: invalid escape sequence '\W' 1563s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 1563s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:1980: SyntaxWarning: invalid escape sequence '\W' 1563s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 1563s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:2025: SyntaxWarning: invalid escape sequence '\W' 1563s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 1563s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:2732: SyntaxWarning: invalid escape sequence '\:' 1563s attr:\:code:``=:code:``. 1563s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:3537: SyntaxWarning: invalid escape sequence '\:' 1563s attr:\:code:``=\:code:``. 1563s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:4216: SyntaxWarning: invalid escape sequence '\:' 1563s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:`` 1563s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:6219: SyntaxWarning: invalid escape sequence '\:' 1563s attr:\:code:``=:code:``. 1563s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7024: SyntaxWarning: invalid escape sequence '\:' 1563s attr:\:code:``=\:code:``. 1563s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7703: SyntaxWarning: invalid escape sequence '\:' 1563s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:`` 1565s /usr/lib/python3/dist-packages/azure/servicemanagement/schedulermanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m' 1565s CURRENT_USER\my\CertificateName format. 1565s /usr/lib/python3/dist-packages/azure/servicemanagement/servicebusmanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m' 1565s CURRENT_USER\my\CertificateName format. 1565s /usr/lib/python3/dist-packages/azure/servicemanagement/servicemanagementservice.py:81: SyntaxWarning: invalid escape sequence '\m' 1565s CURRENT_USER\my\CertificateName format. 1565s /usr/lib/python3/dist-packages/azure/servicemanagement/sqldatabasemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m' 1565s CURRENT_USER\my\CertificateName format. 1565s /usr/lib/python3/dist-packages/azure/servicemanagement/websitemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m' 1565s CURRENT_USER\my\CertificateName format. 1565s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:110: SyntaxWarning: invalid escape sequence '\d' 1565s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1565s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:1328: SyntaxWarning: invalid escape sequence '\d' 1565s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..). 1565s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4218: SyntaxWarning: invalid escape sequence '\d' 1565s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1565s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4280: SyntaxWarning: invalid escape sequence '\d' 1565s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1565s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:18198: SyntaxWarning: invalid escape sequence '\d' 1565s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1565s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19096: SyntaxWarning: invalid escape sequence '\d' 1565s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with 1565s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19185: SyntaxWarning: invalid escape sequence '\d' 1565s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1565s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19749: SyntaxWarning: invalid escape sequence '\d' 1565s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1565s Processing triggers for libc-bin (2.41-6ubuntu1) ... 1566s Processing triggers for man-db (2.13.0-1) ... 1740s autopkgtest [06:23:17]: test unit-tests-flaky.py: [----------------------- 1740s 1740s 1740s 1740s ############################################################ 1740s ############################################################ 1740s #### Running FLAKY tests in ansible_collections/ansible/utils 1740s ############################################################ 1740s ############################################################ 1740s Unit test controller with Python 3.13 1742s ============================= test session starts ============================== 1742s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1742s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/utils 1742s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1742s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1742s created: 2/2 workers 1742s 2 workers [383 items] 1742s 1743s ........................................................................ [ 18%] 1744s ....................................................F................... [ 37%] 1746s ...................................................F...F...F............ [ 56%] 1748s ........................................................................ [ 75%] 1755s ........................................................................ [ 93%] 1757s ....................... [100%] 1757s =================================== FAILURES =================================== 1757s ___________________ TestIpFilter.test_ipaddr_undefined_value ___________________ 1757s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1757s 1757s self = 1757s 1757s def test_ipaddr_undefined_value(self): 1757s """Check ipaddr filter undefined value""" 1757s args = ["", AnsibleUndefined(name="my_ip"), ""] 1757s with pytest.raises( 1757s AnsibleFilterError, 1757s match="Unrecognized type <> for ipaddr filter ", 1757s ): 1757s > _ipaddr(*args) 1757s 1757s tests/unit/plugins/filter/test_ipaddr.py:75: 1757s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1757s 1757s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '') 1757s kwargs = {}, keys = ['value', 'query', 'version', 'alias'] 1757s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')} 1757s 1757s @pass_environment 1757s def _ipaddr(*args, **kwargs): 1757s """This filter is designed to return the input value if a query is True, and False if a query is False""" 1757s keys = ["value", "query", "version", "alias"] 1757s data = dict(zip(keys, args[1:])) 1757s data.update(kwargs) 1757s try: 1757s if isinstance(data["value"], str): 1757s pass 1757s elif isinstance(data["value"], list): 1757s pass 1757s elif isinstance(data["value"], int): 1757s pass 1757s else: 1757s > raise AnsibleFilterError( 1757s "Unrecognized type <{0}> for ipaddr filter <{1}>".format( 1757s type(data["value"]), 1757s "value", 1757s ), 1757s ) 1757s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipaddr filter 1757s 1757s plugins/filter/ipaddr.py:268: AnsibleFilterError 1757s 1757s During handling of the above exception, another exception occurred: 1757s 1757s self = 1757s 1757s def test_ipaddr_undefined_value(self): 1757s """Check ipaddr filter undefined value""" 1757s args = ["", AnsibleUndefined(name="my_ip"), ""] 1757s > with pytest.raises( 1757s AnsibleFilterError, 1757s match="Unrecognized type <> for ipaddr filter ", 1757s ): 1757s E AssertionError: Regex pattern did not match. 1757s E Regex: "Unrecognized type <> for ipaddr filter " 1757s E Input: "Unrecognized type <> for ipaddr filter " 1757s 1757s tests/unit/plugins/filter/test_ipaddr.py:71: AssertionError 1757s ______________________ TestIp4.test_ipv4_undefined_value _______________________ 1757s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1757s 1757s self = 1757s 1757s def test_ipv4_undefined_value(self): 1757s """Check ipv4 filter undefined value""" 1757s args = ["", AnsibleUndefined(name="my_ip"), ""] 1757s with pytest.raises( 1757s AnsibleFilterError, 1757s match="Unrecognized type <> for ipv4 filter ", 1757s ): 1757s > _ipv4(*args) 1757s 1757s tests/unit/plugins/filter/test_ipv4.py:55: 1757s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1757s 1757s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '') 1757s kwargs = {}, keys = ['value', 'query'] 1757s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')} 1757s 1757s @pass_environment 1757s def _ipv4(*args, **kwargs): 1757s """This filter is designed to return the input value if a query is True, and False if a query is False""" 1757s keys = ["value", "query"] 1757s data = dict(zip(keys, args[1:])) 1757s data.update(kwargs) 1757s try: 1757s if isinstance(data["value"], str): 1757s pass 1757s elif isinstance(data["value"], list): 1757s pass 1757s elif isinstance(data["value"], int): 1757s pass 1757s else: 1757s > raise AnsibleFilterError( 1757s "Unrecognized type <{0}> for ipv4 filter <{1}>".format( 1757s type(data["value"]), 1757s "value", 1757s ), 1757s ) 1757s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipv4 filter 1757s 1757s plugins/filter/ipv4.py:143: AnsibleFilterError 1757s 1757s During handling of the above exception, another exception occurred: 1757s 1757s self = 1757s 1757s def test_ipv4_undefined_value(self): 1757s """Check ipv4 filter undefined value""" 1757s args = ["", AnsibleUndefined(name="my_ip"), ""] 1757s > with pytest.raises( 1757s AnsibleFilterError, 1757s match="Unrecognized type <> for ipv4 filter ", 1757s ): 1757s E AssertionError: Regex pattern did not match. 1757s E Regex: "Unrecognized type <> for ipv4 filter " 1757s E Input: "Unrecognized type <> for ipv4 filter " 1757s 1757s tests/unit/plugins/filter/test_ipv4.py:51: AssertionError 1757s ______________________ TestIp6.test_ipv6_undefined_value _______________________ 1757s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1757s 1757s self = 1757s 1757s def test_ipv6_undefined_value(self): 1757s """Check ipv6 filter undefined value""" 1757s args = ["", AnsibleUndefined(name="my_ip"), ""] 1757s with pytest.raises( 1757s AnsibleFilterError, 1757s match="Unrecognized type <> for ipv6 filter ", 1757s ): 1757s > _ipv6(*args) 1757s 1757s tests/unit/plugins/filter/test_ipv6.py:58: 1757s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1757s 1757s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '') 1757s kwargs = {}, keys = ['value', 'query'] 1757s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')} 1757s 1757s @pass_environment 1757s def _ipv6(*args, **kwargs): 1757s """This filter is designed to return the input value if a query is True, and False if a query is False""" 1757s keys = ["value", "query"] 1757s data = dict(zip(keys, args[1:])) 1757s data.update(kwargs) 1757s try: 1757s if isinstance(data["value"], str): 1757s pass 1757s elif isinstance(data["value"], list): 1757s pass 1757s elif isinstance(data["value"], int): 1757s pass 1757s else: 1757s > raise AnsibleFilterError( 1757s "Unrecognized type <{0}> for ipv6 filter <{1}>".format( 1757s type(data["value"]), 1757s "value", 1757s ), 1757s ) 1757s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipv6 filter 1757s 1757s plugins/filter/ipv6.py:161: AnsibleFilterError 1757s 1757s During handling of the above exception, another exception occurred: 1757s 1757s self = 1757s 1757s def test_ipv6_undefined_value(self): 1757s """Check ipv6 filter undefined value""" 1757s args = ["", AnsibleUndefined(name="my_ip"), ""] 1757s > with pytest.raises( 1757s AnsibleFilterError, 1757s match="Unrecognized type <> for ipv6 filter ", 1757s ): 1757s E AssertionError: Regex pattern did not match. 1757s E Regex: "Unrecognized type <> for ipv6 filter " 1757s E Input: "Unrecognized type <> for ipv6 filter " 1757s 1757s tests/unit/plugins/filter/test_ipv6.py:54: AssertionError 1757s ____________________ TestIpWrap.test_ipwrap_undefined_value ____________________ 1757s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1757s 1757s self = 1757s 1757s def test_ipwrap_undefined_value(self): 1757s """Check ipwrap filter undefined value""" 1757s args = ["", AnsibleUndefined(name="my_ip"), ""] 1757s with pytest.raises( 1757s AnsibleFilterError, 1757s match="Unrecognized type <> for ipwrap filter ", 1757s ): 1757s > _ipwrap(*args) 1757s 1757s tests/unit/plugins/filter/test_ipwrap.py:60: 1757s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1757s 1757s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '') 1757s kwargs = {}, keys = ['value'] 1757s data = {'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')} 1757s 1757s @pass_environment 1757s def _ipwrap(*args, **kwargs): 1757s """This filter is designed to Wrap IPv6 addresses in [ ] brackets.""" 1757s keys = ["value"] 1757s data = dict(zip(keys, args[1:])) 1757s data.update(kwargs) 1757s try: 1757s if isinstance(data["value"], str): 1757s pass 1757s elif isinstance(data["value"], list): 1757s pass 1757s elif isinstance(data["value"], bool): 1757s pass 1757s else: 1757s > raise AnsibleFilterError( 1757s "Unrecognized type <{0}> for ipwrap filter <{1}>".format( 1757s type(data["value"]), 1757s "value", 1757s ), 1757s ) 1757s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipwrap filter 1757s 1757s plugins/filter/ipwrap.py:162: AnsibleFilterError 1757s 1757s During handling of the above exception, another exception occurred: 1757s 1757s self = 1757s 1757s def test_ipwrap_undefined_value(self): 1757s """Check ipwrap filter undefined value""" 1757s args = ["", AnsibleUndefined(name="my_ip"), ""] 1757s > with pytest.raises( 1757s AnsibleFilterError, 1757s match="Unrecognized type <> for ipwrap filter ", 1757s ): 1757s E AssertionError: Regex pattern did not match. 1757s E Regex: "Unrecognized type <> for ipwrap filter " 1757s E Input: "Unrecognized type <> for ipwrap filter " 1757s 1757s tests/unit/plugins/filter/test_ipwrap.py:56: AssertionError 1757s =============================== warnings summary =============================== 1757s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_disabled_format_with_invalid_data 1757s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_format 1757s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_format_with_invalid_data 1757s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/utils/plugins/sub_plugins/validate/jsonschema.py:241: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. 1757s validator_class = jsonschema.validators.validator_for(criteria) 1757s 1757s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1757s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/utils/tests/output/junit/python3.13-controller-units.xml - 1757s =========================== short test summary info ============================ 1757s SKIPPED [1] tests/unit/plugins/sub_plugins/cli_parsers/test_ttp_parser.py:18: could not import 'ttp': No module named 'ttp' 1757s FAILED tests/unit/plugins/filter/test_ipaddr.py::TestIpFilter::test_ipaddr_undefined_value 1757s FAILED tests/unit/plugins/filter/test_ipv4.py::TestIp4::test_ipv4_undefined_value 1757s FAILED tests/unit/plugins/filter/test_ipv6.py::TestIp6::test_ipv6_undefined_value 1757s FAILED tests/unit/plugins/filter/test_ipwrap.py::TestIpWrap::test_ipwrap_undefined_value 1757s ============ 4 failed, 379 passed, 1 skipped, 3 warnings in 16.28s ============= 1757s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/utils/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/utils --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/utils tests/unit/module_utils/test_argspec_validate.py tests/unit/module_utils/test_dict_merge.py tests/unit/module_utils/test_get_path.py tests/unit/module_utils/test_sort_list.py tests/unit/module_utils/test_to_paths.py tests/unit/plugins/action/test_cli_parse.py tests/unit/plugins/action/test_fact_diff.py tests/unit/plugins/action/test_update_fact.py tests/unit/plugins/action/test_validate.py tests/unit/plugins/filter/test_cidr_merge.py tests/unit/plugins/filter/test_consolidate.py tests/unit/plugins/filter/test_fact_diff.py tests/unit/plugins/filter/test_from_xml.py tests/unit/plugins/filter/test_hwaddr.py tests/unit/plugins/filter/test_ip4_hex.py tests/unit/plugins/filter/test_ipaddr.py tests/unit/plugins/filter/test_ipcut.py tests/unit/plugins/filter/test_ipmath.py tests/unit/plugins/filter/test_ipsubnet.py tests/unit/plugins/filter/test_ipv4.py tests/unit/plugins/filter/test_ipv6.py tests/unit/plugins/filter/test_ipv6form.py tests/unit/plugins/filter/test_ipwrap.py tests/unit/plugins/filter/test_keep_keys.py tests/unit/plugins/filter/test_macaddr.py tests/unit/plugins/filter/test_network_in_network.py tests/unit/plugins/filter/test_network_in_usable.py tests/unit/plugins/filter/test_next_nth_usable.py tests/unit/plugins/filter/test_nthhost.py tests/unit/plugins/filter/test_param_list_compare.py tests/unit/plugins/filter/test_previous_nth_usable.py tests/unit/plugins/filter/test_reduce_on_network.py tests/unit/plugins/filter/test_remove_keys.py tests/unit/plugins/filter/test_replace_keys.py tests/unit/plugins/filter/test_slaac.py tests/unit/plugins/filter/test_to_xml.py tests/unit/plugins/filter/test_usable_range.py tests/unit/plugins/filter/test_validate.py tests/unit/plugins/lookup/test_validate.py tests/unit/plugins/plugin_utils/test_index_of.py tests/unit/plugins/sub_plugins/cli_parsers/test_json_parser.py tests/unit/plugins/sub_plugins/cli_parsers/test_textfsm_parser.py tests/unit/plugins/sub_plugins/cli_parsers/test_ttp_parser.py tests/unit/plugins/sub_plugins/cli_parsers/test_xml_parser.py tests/unit/plugins/sub_plugins/validate/test_config.py tests/unit/plugins/test/test_in_any_network.py tests/unit/plugins/test/test_in_network.py tests/unit/plugins/test/test_in_one_network.py tests/unit/plugins/test/test_ip.py tests/unit/plugins/test/test_ip_address.py tests/unit/plugins/test/test_ipv4.py tests/unit/plugins/test/test_ipv4_address.py tests/unit/plugins/test/test_ipv4_hostmask.py tests/unit/plugins/test/test_ipv4_netmask.py tests/unit/plugins/test/test_ipv6.py tests/unit/plugins/test/test_ipv6_address.py tests/unit/plugins/test/test_ipv6_ipv4_mapped.py tests/unit/plugins/test/test_ipv6_sixtofour.py tests/unit/plugins/test/test_ipv6_teredo.py tests/unit/plugins/test/test_loopback.py tests/unit/plugins/test/test_mac.py tests/unit/plugins/test/test_multicast.py tests/unit/plugins/test/test_private.py tests/unit/plugins/test/test_public.py tests/unit/plugins/test/test_reserved.py tests/unit/plugins/test/test_resolvable.py tests/unit/plugins/test/test_subnet_of.py tests/unit/plugins/test/test_supernet_of.py tests/unit/plugins/test/test_unspecified.py tests/unit/plugins/test/test_validate.py" returned exit status 1. 1757s ## return code is 1 1757s 1757s 1757s 1757s ############################################################ 1757s ############################################################ 1757s #### Running FLAKY tests in ansible_collections/cisco/aci 1757s ############################################################ 1757s ############################################################ 1757s Unit test controller with Python 3.13 1758s ============================= test session starts ============================== 1758s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1758s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/aci 1758s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1758s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1758s created: 2/2 workers 1758s 2 workers [5 items] 1758s 1759s .F.F. [100%] 1759s =================================== FAILURES =================================== 1759s __________________________ AciRest.test_invalid_input __________________________ 1759s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1759s 1759s self = 1759s 1759s def test_invalid_input(self): 1759s self.maxDiff = None 1759s 1759s error = dict( 1759s code="401", 1759s text=("Username or password is incorrect - " "FAILED local authentication"), 1759s ) 1759s 1759s imdata = [ 1759s { 1759s "error": { 1759s "attributes": { 1759s "code": "401", 1759s "text": ("Username or password is incorrect - " "FAILED local authentication"), 1759s }, 1759s }, 1759s } 1759s ] 1759s 1759s totalCount = 1 1759s 1759s json_response = '{"totalCount":"1","imdata":[{"error":{"attributes":{"code":"401","text":"Username or password is incorrect - FAILED local authentication"}}}]}' # NOQA 1759s aci.response_json(json_response) 1759s self.assertEqual(aci.error, error) 1759s self.assertEqual(aci.imdata, imdata) 1759s self.assertEqual(aci.totalCount, totalCount) 1759s 1759s # Python 2.7+ is needed for xmljson 1759s if sys.version_info < (2, 7): 1759s return 1759s 1759s xml_response = """ 1759s 1759s 1759s """ 1759s aci.response_xml(xml_response) 1759s > self.assertEqual(aci.error, error) 1759s E AssertionError: {'code': -1, 'text': "Unable to parse output as XM[45 chars]ned"} != {'code': '401', 'text': 'Username or password is i[35 chars]ion'} 1759s E - {'code': -1, 1759s E ? ^ 1759s E 1759s E + {'code': '401', 1759s E ? ^^^ + 1759s E 1759s E + 'text': 'Username or password is incorrect - FAILED local authentication'} 1759s E - 'text': "Unable to parse output as XML, see 'raw' output. name 'cobra' is not " 1759s E - 'defined'} 1759s 1759s tests/unit/module_utils/test_aci.py:237: AssertionError 1759s ________________________ AciRest.test_invalid_aci_login ________________________ 1759s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1759s 1759s self = 1759s 1759s def test_invalid_aci_login(self): 1759s self.maxDiff = None 1759s 1759s error = dict( 1759s code="401", 1759s text=("Username or password is incorrect - " "FAILED local authentication"), 1759s ) 1759s 1759s imdata = [ 1759s { 1759s "error": { 1759s "attributes": { 1759s "code": "401", 1759s "text": ("Username or password is incorrect - " "FAILED local authentication"), 1759s }, 1759s }, 1759s } 1759s ] 1759s 1759s totalCount = 1 1759s 1759s json_response = '{"totalCount":"1","imdata":[{"error":{"attributes":{"code":"401","text":"Username or password is incorrect - FAILED local authentication"}}}]}' # NOQA 1759s aci.response_json(json_response) 1759s self.assertEqual(aci.error, error) 1759s self.assertEqual(aci.imdata, imdata) 1759s self.assertEqual(aci.totalCount, totalCount) 1759s 1759s # Python 2.7+ is needed for xmljson 1759s if sys.version_info < (2, 7): 1759s return 1759s 1759s xml_response = """ 1759s 1759s 1759s 1759s """ 1759s aci.response_xml(xml_response) 1759s > self.assertEqual(aci.error, error) 1759s E AssertionError: {'code': -1, 'text': "Unable to parse output as XM[45 chars]ned"} != {'code': '401', 'text': 'Username or password is i[35 chars]ion'} 1759s E - {'code': -1, 1759s E ? ^ 1759s E 1759s E + {'code': '401', 1759s E ? ^^^ + 1759s E 1759s E + 'text': 'Username or password is incorrect - FAILED local authentication'} 1759s E - 'text': "Unable to parse output as XML, see 'raw' output. name 'cobra' is not " 1759s E - 'defined'} 1759s 1759s tests/unit/module_utils/test_aci.py:89: AssertionError 1759s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/aci/tests/output/junit/python3.13-controller-units.xml - 1759s =========================== short test summary info ============================ 1759s FAILED tests/unit/module_utils/test_aci.py::AciRest::test_invalid_input - Ass... 1759s FAILED tests/unit/module_utils/test_aci.py::AciRest::test_invalid_aci_login 1759s ========================= 2 failed, 3 passed in 0.90s ========================== 1759s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/aci/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/aci --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/aci tests/unit/module_utils/test_aci.py" returned exit status 1. 1759s ## return code is 1 1759s 1759s 1759s 1759s ############################################################ 1759s ############################################################ 1759s #### Running FLAKY tests in ansible_collections/cisco/dnac 1759s ############################################################ 1759s ############################################################ 1759s Unit test controller with Python 3.13 1761s ============================= test session starts ============================== 1761s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1761s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/dnac 1761s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1761s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1761s created: 2/2 workers 1761s 2 workers [167 items] 1761s 1769s ..FFF.FFFFFFF.F.FFFFFFF.FFF.FFFFFFFFFFFFF.FFFFFFFFFFFFFFFFFFFFFFFFFF.FFF [ 43%] 1776s FFFFFFFFFFFFF....FFF..FFFFFFF.F.F..F...FFF.FFF..FF..FFFFF.F.F.FF.FFFFF.F [ 86%] 1777s FFFFF.FFFFFFFFFFFFFFFFF [100%] 1777s ==================================== ERRORS ==================================== 1777s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______ 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1777s result: TResult | None = func() 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1777s return list(collector.collect()) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1777s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1777s return self.obj("runTest") 1777s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given 1777s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______ 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1777s result: TResult | None = func() 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1777s return list(collector.collect()) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1777s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1777s return self.obj("runTest") 1777s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given 1777s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________ 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1777s result: TResult | None = func() 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1777s return list(collector.collect()) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1777s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1777s return self.obj("runTest") 1777s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given 1777s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________ 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1777s result: TResult | None = func() 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1777s return list(collector.collect()) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1777s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1777s return self.obj("runTest") 1777s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given 1777s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________ 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1777s result: TResult | None = func() 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1777s return list(collector.collect()) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1777s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1777s return self.obj("runTest") 1777s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given 1777s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________ 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1777s result: TResult | None = func() 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1777s return list(collector.collect()) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1777s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1777s return self.obj("runTest") 1777s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given 1777s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________ 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1777s result: TResult | None = func() 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1777s return list(collector.collect()) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1777s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1777s return self.obj("runTest") 1777s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given 1777s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________ 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1777s result: TResult | None = func() 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1777s return list(collector.collect()) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1777s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1777s return self.obj("runTest") 1777s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given 1777s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______ 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1777s result: TResult | None = func() 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1777s return list(collector.collect()) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1777s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1777s return self.obj("runTest") 1777s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given 1777s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______ 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1777s result: TResult | None = func() 1777s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1777s return list(collector.collect()) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1777s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1777s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1777s return self.obj("runTest") 1777s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given 1777s =================================== FAILURES =================================== 1777s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_null_sync_status _ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_device_credentials_workflow_manager_null_sync_status(self): 1777s """ 1777s Test case for device credential workflow manager when exception occured during sync credential. 1777s 1777s This test case checks the behavior of the device credential workflow manager, when exception occured during sync credential in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_version="2.3.7.6", 1777s dnac_log=True, 1777s state="merged", 1777s config=self.playbook_config_apply 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result['msg'], 1777s "Exception occurred while getting global device credentials sync status: " 1777s ) 1777s E AssertionError: 'An exception occurred while retrieving Si[515 chars]rue}' != 'Exception occurred while getting global d[27 chars]us: ' 1777s E - An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'failed': True} 1777s E + Exception occurred while getting global device credentials sync status: 1777s 1777s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:411: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': 'An exception occurred while retrieving Site details for Site \'Global/Vietnam/halong/Hanoi\' does not exist in the Cisco Catalyst Center. Error: {\'msg\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'response\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'failed\': True}', 'response': 'An exception occurred while retrieving Site details for Site \'Global/Vietnam/halong/Hanoi\' does not exist in the Cisco Catalyst Center. Error: {\'msg\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'response\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'failed\': True}', 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: . 1777s 1777s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'failed': True} 1777s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_negative_config_input _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_accesspoint_workflow_manager_negative_config_input(self): 1777s """ 1777s Test case for access point workfollow manager and negative test verify ap update 1777s 1777s This test case checks the behavior of the update access point data in the specified Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s config_verify=True, 1777s dnac_version="2.3.7.6", 1777s config=self.playbook_config_update_some_missing_data 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s self.maxDiff = None 1777s > self.assertEqual( 1777s result.get('msg'), 1777s 'Invalid parameters in playbook config: \'[["Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1777s 'for the radio type xor_radio allowed series 280", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1777s 'for the radio type xor_radio allowed series 380", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1777s 'for the radio type xor_radio allowed series 480", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1777s 'for the radio type xor_radio allowed series 9120", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1777s 'for the radio type xor_radio allowed series 9166", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1777s 'for the radio type xor_radio allowed series IW9167EH", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1777s 'for the radio type xor_radio allowed series IW9165E", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1777s 'for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP ' + 1777s 'Address \'204.192.12.201dsd\' in playbook.", \'ap_name:hostname,family,type,mac_address,management_ip_address,' + 1777s 'ap_ethernet_mac_address : The string exceeds the allowed range of max 32 char\', "led_status: Invalid LED Status \'Enableddd\' in ' + 1777s 'playbook.", "ap_mode: Invalid value \'Monitorw\' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or ' + 1777s 'Bridge.", "failover_priority: Invalid value \'Lossw\' for failover_priority in playbook. Must be one of: Low, Medium, High or ' + 1777s 'Critical.", "clean_air_si_2.4ghz: Invalid value \'Disableds\' in playbook. Must be ' + 1777s 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_5ghz: Invalid value \'Disableds\' in playbook. Must be ' + 1777s 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_6ghz: Invalid value \'Enableds\' in playbook. Must be ' + 1777s 'either \'Enabled\' or \'Disabled\'.", "primary_ip_address: Invalid primary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in ' + 1777s 'playbook", "secondary_ip_address: Invalid secondary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", "tertiary_ip_address: ' + 1777s 'Invalid tertiary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", \'Radio Params cannot be changed when AP mode is in ' + 1777s 'Monitorw.\', "admin_status: Invalid value \'Enabledsds\' for admin_status in playbook. Must be ' + 1777s 'either \'Enabled\' or \'Disabled\'.", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. Must be ' + 1777s 'either \'Global\' or \'Custom\'.", "channel_number: Invalid value \'22\' for Channel Number in playbook. Must be one of: ' + 1777s '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].", "channel_width: Invalid value \'5\' for Channel width in playbook. Must be one ' + 1777s 'of: \'20 MHz\', \'40 MHz\', \'80 MHz\', \'160 MHz\', or \'320 MHz\'.", "power_assignment_mode: Invalid ' + 1777s 'value \'any\' for Power assignment mode in ' + 1777s 'playbook. Must be either \'Global\' or \'Custom\'.", \'powerlevel: This configuration is only supported with Client-Serving Radio Role ' + 1777s 'Assignment None \', "radio_role_assignment: Invalid value \'any\' for radio role assignment in playbook. Must be one ' + 1777s 'of: \'Auto\', \'Monitor\' or \'Client-Serving\'.", \'Radio Params cannot be changed when AP mode is in Monitorw.\', "admin_status: ' + 1777s 'Invalid value \'Enabledsds\' for admin_status in playbook. Must be either \'Enabled\' or \'Disabled\'.", "antenna_gain: Invalid \'41\' in ' + 1777s 'playbook, allowed range of min: 0 and max: 40", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. ' + 1777s 'Must be either \'Global\' or \'Custom\'.", ' + 1777s '"radio_role_assignment: Invalid value \'Client-Serving\'. Hence, AP mode is not Local. Kindly change the AP mode to Local then ' + 1777s 'change the radio_role_assignment to Auto."]\' ' 1777s ) 1777s E AssertionError: 'Inva[2010 chars]alid IP address \'204.192.4.20dfasd0\' in play[1626 chars]]\' ' != 'Inva[2010 chars]alid primary_ip_address \'{\'address\': \'204.[1797 chars]]\' ' 1777s E - Invalid parameters in playbook config: '[["Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 280", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 380", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 480", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9120", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9166", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9167EH", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165E", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP Address '204.192.12.201dsd' in playbook.", 'ap_name:hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address : The string exceeds the allowed range of max 32 char', "led_status: Invalid LED Status 'Enableddd' in playbook.", "ap_mode: Invalid value 'Monitorw' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or Bridge.", "failover_priority: Invalid value 'Lossw' for failover_priority in playbook. Must be one of: Low, Medium, High or Critical.", "clean_air_si_2.4ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_5ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_6ghz: Invalid value 'Enableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "primary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", "secondary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", "tertiary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "channel_number: Invalid value '22' for Channel Number in playbook. Must be one of: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].", 'channel_width is not applicable for the 2.4GHz radio', "power_assignment_mode: Invalid value 'any' for Power assignment mode in playbook. Must be either 'Global' or 'Custom'.", "radio_role_assignment: Invalid value 'any' for radio role assignment in playbook. Must be one of: 'Auto', 'Monitor' or 'Client-Serving'.", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "antenna_gain: Invalid '41' in playbook, allowed range of min: 0 and max: 40", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "radio_role_assignment: Invalid value 'Client-Serving'. Hence, AP mode is not Local. Kindly change the AP mode to Local then change the radio_role_assignment to Auto.", "radio_band: Missing in 'xor_radio' in playbook. Must be either '2.4 GHz' or '5 GHz' or '6 GHz'."]' 1777s E ? ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ --------------------------------------------------------------------------------------------------- 1777s E + Invalid parameters in playbook config: '[["Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 280", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 380", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 480", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9120", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9166", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9167EH", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165E", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP Address '204.192.12.201dsd' in playbook.", 'ap_name:hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address : The string exceeds the allowed range of max 32 char', "led_status: Invalid LED Status 'Enableddd' in playbook.", "ap_mode: Invalid value 'Monitorw' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or Bridge.", "failover_priority: Invalid value 'Lossw' for failover_priority in playbook. Must be one of: Low, Medium, High or Critical.", "clean_air_si_2.4ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_5ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_6ghz: Invalid value 'Enableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "primary_ip_address: Invalid primary_ip_address '{'address': '204.192.4.20dfasd0'}' in playbook", "secondary_ip_address: Invalid secondary_ip_address '{'address': '204.192.4.20dfasd0'}' in playbook", "tertiary_ip_address: Invalid tertiary_ip_address '{'address': '204.192.4.20dfasd0'}' in playbook", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "channel_number: Invalid value '22' for Channel Number in playbook. Must be one of: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].", "channel_width: Invalid value '5' for Channel width in playbook. Must be one of: '20 MHz', '40 MHz', '80 MHz', '160 MHz', or '320 MHz'.", "power_assignment_mode: Invalid value 'any' for Power assignment mode in playbook. Must be either 'Global' or 'Custom'.", 'powerlevel: This configuration is only supported with Client-Serving Radio Role Assignment None ', "radio_role_assignment: Invalid value 'any' for radio role assignment in playbook. Must be one of: 'Auto', 'Monitor' or 'Client-Serving'.", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "antenna_gain: Invalid '41' in playbook, allowed range of min: 0 and max: 40", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "radio_role_assignment: Invalid value 'Client-Serving'. Hence, AP mode is not Local. Kindly change the AP mode to Local then change the radio_role_assignment to Auto."]' 1777s E ? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1777s 1777s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:221: AssertionError 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 Accesspoint: validate_ap_config_parameters: 2373: Invalid parameters in playbook config: '[["Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 280", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 380", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 480", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9120", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9166", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9167EH", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165E", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP Address '204.192.12.201dsd' in playbook.", 'ap_name:hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address : The string exceeds the allowed range of max 32 char', "led_status: Invalid LED Status 'Enableddd' in playbook.", "ap_mode: Invalid value 'Monitorw' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or Bridge.", "failover_priority: Invalid value 'Lossw' for failover_priority in playbook. Must be one of: Low, Medium, High or Critical.", "clean_air_si_2.4ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_5ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_6ghz: Invalid value 'Enableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "primary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", "secondary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", "tertiary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "channel_number: Invalid value '22' for Channel Number in playbook. Must be one of: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].", 'channel_width is not applicable for the 2.4GHz radio', "power_assignment_mode: Invalid value 'any' for Power assignment mode in playbook. Must be either 'Global' or 'Custom'.", "radio_role_assignment: Invalid value 'any' for radio role assignment in playbook. Must be one of: 'Auto', 'Monitor' or 'Client-Serving'.", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "antenna_gain: Invalid '41' in playbook, allowed range of min: 0 and max: 40", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "radio_role_assignment: Invalid value 'Client-Serving'. Hence, AP mode is not Local. Kindly change the AP mode to Local then change the radio_role_assignment to Auto.", "radio_band: Missing in 'xor_radio' in playbook. Must be either '2.4 GHz' or '5 GHz' or '6 GHz'."]' 1777s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_update_verify _ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s def get_tasks_by_id(self, task_id): 1777s """ 1777s Get the tasks of a task ID in Cisco Catalyst Center. 1777s Args: 1777s self (object): An instance of a class that provides access to Cisco Catalyst Center. 1777s task_id (str): The unique identifier of the task for which you want to retrieve details. 1777s Returns: 1777s dict or None: A dictionary status information about the specified task, 1777s or None if the task with the given task_id is not found. 1777s Description: 1777s Call the API 'get_tasks_by_id' to get the status of the task. 1777s Return the details along with the status of the task. 1777s """ 1777s # Need to handle exception 1777s task_status = None 1777s try: 1777s > response = self.dnac._exec( 1777s family="task", 1777s function="get_tasks_by_id", 1777s params={"id": task_id} 1777s ) 1777s 1777s plugins/module_utils/dnac.py:1662: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1777s return self._mock_call(*args, **kwargs) 1777s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1777s return self._execute_mock_call(*args, **kwargs) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s self = , args = () 1777s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191e542-b3fb-7ac8-ae85-81e461c8b022'}} 1777s effect = 1777s 1777s def _execute_mock_call(self, /, *args, **kwargs): 1777s # separate from _increment_mock_call so that awaited functions are 1777s # executed separately from their call, also AsyncMock overrides this method 1777s 1777s effect = self.side_effect 1777s if effect is not None: 1777s if _is_exception(effect): 1777s raise effect 1777s elif not _callable(effect): 1777s > result = next(effect) 1777s E StopIteration 1777s 1777s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration 1777s 1777s During handling of the above exception, another exception occurred: 1777s 1777s self = 1777s 1777s def test_device_credentials_workflow_manager_update_verify(self): 1777s """ 1777s Test case for device credential workflow manager when updating a device credential. 1777s 1777s This test case checks the behavior of the device credential workflow manager when updating a new device credentials in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_version="2.3.7.6", 1777s dnac_log=True, 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_config_creation 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:336: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/device_credential_workflow_manager.py:3277: in main 1777s ccc_credential.get_diff_state_apply[state](config).check_return_status() 1777s plugins/modules/device_credential_workflow_manager.py:2977: in get_diff_merged 1777s self.update_device_credentials().check_return_status() 1777s plugins/modules/device_credential_workflow_manager.py:2684: in update_device_credentials 1777s self.check_tasks_response_status(response, "update_global_credentials_v2").check_return_status() 1777s plugins/module_utils/dnac.py:1730: in check_tasks_response_status 1777s task_details = self.get_tasks_by_id(task_id) 1777s plugins/module_utils/dnac.py:1684: in get_tasks_by_id 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1777s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_add_existing_devices _ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_inventory_workflow_manager_playbook_add_existing_devices(self): 1777s """ 1777s Test case for add device with full crendentials. 1777s 1777s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.5.3", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_add_existing_devices 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=False) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center." 1777s ) 1777s E AssertionError: 'No changes were made. No inventory actio[39 chars]ter.' != "device(s) '70.2.2.2', '80.2.2.2' already[30 chars]ter." 1777s E - No changes were made. No inventory actions were performed in Cisco Catalyst Center. 1777s E + device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center. 1777s 1777s tests/unit/modules/dnac/test_inventory_workflow_manager.py:282: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'changed': False, 'diff': [], 'response': 'No changes were made. No inventory actions were performed in Cisco Catalyst Center.', 'warnings': [], 'msg': 'No changes were made. No inventory actions were performed in Cisco Catalyst Center.'} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config 1777s 1777s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3567: {'cli_transport': 'ssh', 'compute_device': False, 'enable_password': 'Test@1234', 'extended_discovery_info': 'test', 'http_password': 'test', 'http_port': '443', 'http_secure': False, 'http_username': 'testuser', 'ip_address_list': ['70.2.2.2', '80.2.2.2'], 'netconf_port': 830, 'password': 'Test@123', 'snmp_auth_passphrase': 'Lablab@12', 'snmp_auth_protocol': 'SHA', 'snmp_mode': 'AUTHPRIV', 'snmp_priv_passphrase': 'Lablab@123', 'snmp_priv_protocol': 'AES256', 'snmp_retry': 3, 'snmp_timeout': 5, 'snmp_username': 'v3Public', 'snmp_version': 'v3', 'type': 'NETWORK_DEVICE', 'username': 'cisco'} 1777s 1777s WARNING logger:dnac.py:294 Inventory: verify_diff_merged: 3882: verify starts here verify diff merged 1777s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_provision_device _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_accesspoint_workflow_manager_provision_device(self): 1777s """ 1777s Test case for access point workfollow manager provision and update device. 1777s 1777s This test case checks the behavior of the access point workflow when provisioned in the specified Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s dnac_version="2.3.7.6", 1777s config_verify=True, 1777s config=self.playbook_config_complete 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:145: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/accesspoint_workflow_manager.py:4190: in main 1777s ccc_network.get_diff_state_apply[state](config).check_return_status() 1777s plugins/modules/accesspoint_workflow_manager.py:1894: in get_diff_merged 1777s self.validate_ap_config_parameters(ap_config).check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "Invalid parameters in playbook config: '['channel_width is not applicable for the 2.4GHz radio']' ", 'response': [], 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 Accesspoint: validate_ap_config_parameters: 2373: Invalid parameters in playbook config: '['channel_width is not applicable for the 2.4GHz radio']' 1777s __ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_add_udf __ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_inventory_workflow_manager_playbook_add_udf(self): 1777s """ 1777s Test case for add device with full crendentials. 1777s 1777s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_add_udf 1777s ) 1777s ) 1777s result = self.execute_module(changed=True, failed=False) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center." 1777s ) 1777s E AssertionError: "Global User Defined Field(UDF) named 'Tes[44 chars]ice." != "device(s) '70.2.2.2', '80.2.2.2' already [29 chars]ter." 1777s E - Global User Defined Field(UDF) named 'Test123' has been successfully added to the device. 1777s E + device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center. 1777s 1777s tests/unit/modules/dnac/test_inventory_workflow_manager.py:306: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'changed': True, 'diff': [], 'response': "Global User Defined Field(UDF) named 'Test123' has been successfully added to the device.", 'warnings': [], 'msg': "Global User Defined Field(UDF) named 'Test123' has been successfully added to the device."} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config 1777s 1777s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3567: {'add_user_defined_field': [{'name': 'Test123'}], 'ip_address_list': ['70.2.2.2', '80.2.2.2']} 1777s 1777s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3570: udf_field_list 1777s 1777s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3571: [{'name': 'Test123'}] 1777s 1777s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3584: False 1777s 1777s WARNING logger:dnac.py:294 Inventory: verify_diff_merged: 3882: verify starts here verify diff merged 1777s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_del_provisioned_device_2353 _ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_inventory_workflow_manager_playbook_del_provisioned_device_2353(self): 1777s """ 1777s Test case for add device with full crendentials. 1777s 1777s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.5.3", 1777s state="deleted", 1777s config_verify=True, 1777s config=self.playbook_del_provisioned_device_2353 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_inventory_workflow_manager.py:553: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/inventory_workflow_manager.py:4197: in main 1777s ccc_device.get_diff_state_apply[state](config).check_return_status() 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def get_diff_deleted(self, config): 1777s """ 1777s Main function to delete devices in Cisco Catalyst Center based on device IP address. 1777s Parameters: 1777s config (dict): The configuration settings for the deletion process. 1777s Returns: 1777s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1777s Description: 1777s This method compares the provided configuration against the current 1777s devices in the Cisco Catalyst Center and deletes devices based on 1777s their IP addresses. It returns a success status indicating whether 1777s the deletion process was completed successfully. 1777s """ 1777s 1777s device_to_delete = self.get_device_ips_from_config_priority() 1777s self.result['msg'] = [] 1777s 1777s # Handle Global User Defined Fields (UDF) Deletion 1777s if self.config[0].get('add_user_defined_field'): 1777s return self.delete_user_defined_fields() 1777s 1777s # Loop over devices to delete them 1777s for device_ip in device_to_delete: 1777s if device_ip not in self.have.get("device_in_ccc"): 1777s self.status = "success" 1777s self.result['changed'] = False 1777s self.msg = "Device '{0}' is not present in Cisco Catalyst Center so can't perform delete operation".format(device_ip) 1777s self.no_device_to_delete.append(device_ip) 1777s self.result['msg'].append(self.msg) 1777s self.result['response'] = self.msg 1777s self.log(self.msg, "INFO") 1777s continue 1777s device_ids = self.get_device_ids([device_ip]) 1777s > device_id = device_ids[0] 1777s E IndexError: list index out of range 1777s 1777s plugins/modules/inventory_workflow_manager.py:3665: IndexError 1777s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_a_device _ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_inventory_workflow_manager_playbook_delete_a_device(self): 1777s """ 1777s Test case for add device with full crendentials. 1777s 1777s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="deleted", 1777s config_verify=True, 1777s config=self.playbook_delete_a_device 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_inventory_workflow_manager.py:329: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/inventory_workflow_manager.py:4197: in main 1777s ccc_device.get_diff_state_apply[state](config).check_return_status() 1777s plugins/modules/inventory_workflow_manager.py:3668: in get_diff_deleted 1777s self.handle_device_deletion(device_ip) 1777s plugins/modules/inventory_workflow_manager.py:3857: in handle_device_deletion 1777s self.check_tasks_response_status(response, api_name='deleted_device_by_id') 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def check_tasks_response_status(self, response, api_name): 1777s """ 1777s Get the task response status from taskId 1777s Args: 1777s self: The current object details. 1777s response (dict): API response. 1777s api_name (str): API name. 1777s Returns: 1777s self (object): The current object with updated desired Fabric Transits information. 1777s Description: 1777s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' 1777s state or till it reaches the maximum timeout. 1777s Log the task details and return self. 1777s """ 1777s 1777s if not response: 1777s self.msg = "response is empty" 1777s self.status = "exited" 1777s return self 1777s 1777s if not isinstance(response, dict): 1777s self.msg = "response is not a dictionary" 1777s self.status = "exited" 1777s return self 1777s 1777s task_info = response.get("response") 1777s if task_info.get("errorcode") is not None: 1777s self.msg = response.get("response").get("detail") 1777s self.status = "failed" 1777s return self 1777s 1777s task_id = task_info.get("taskId") 1777s start_time = time.time() 1777s while True: 1777s elapsed_time = time.time() - start_time 1777s if elapsed_time >= self.max_timeout: 1777s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \ 1777s .format(self.max_timeout, task_id) + \ 1777s "Exiting the loop due to unexpected API '{0}' status.".format(api_name) 1777s self.log(self.msg, "WARNING") 1777s self.status = "failed" 1777s break 1777s 1777s task_details = self.get_tasks_by_id(task_id) 1777s self.log('Getting tasks details from task ID {0}: {1}' 1777s .format(task_id, task_details), "DEBUG") 1777s 1777s > task_status = task_details.get("status") 1777s E AttributeError: 'list' object has no attribute 'get' 1777s 1777s plugins/module_utils/dnac.py:1734: AttributeError 1777s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_provision_old_version _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_accesspoint_workflow_manager_provision_old_version(self): 1777s """ 1777s Test case for access point workfollow manager provision device old version. 1777s 1777s This test case checks the behavior of the access point workflow when provisioned in the specified Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s dnac_version="2.3.5.3", 1777s config_verify=True, 1777s config=self.playbook_config_provision_old_version 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s self.maxDiff = None 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center." 1777s ) 1777s E AssertionError: 'AP - LTTS_Test_9124_T2 does not need any update' != "The provided site name 'Global/Chennai/L[94 chars]ter." 1777s E - AP - LTTS_Test_9124_T2 does not need any update 1777s E + The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center. 1777s 1777s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:302: AssertionError 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 Accesspoint: site_exists: 2929: The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center.'NoneType' object has no attribute 'get' 1777s 1777s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center. 1777s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_device_udf _ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_inventory_workflow_manager_playbook_delete_device_udf(self): 1777s """ 1777s Test case for add device with full crendentials. 1777s 1777s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="deleted", 1777s config_verify=True, 1777s config=self.playbook_delete_device_udf 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_inventory_workflow_manager.py:478: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/inventory_workflow_manager.py:4197: in main 1777s ccc_device.get_diff_state_apply[state](config).check_return_status() 1777s plugins/modules/inventory_workflow_manager.py:3668: in get_diff_deleted 1777s self.handle_device_deletion(device_ip) 1777s plugins/modules/inventory_workflow_manager.py:3857: in handle_device_deletion 1777s self.check_tasks_response_status(response, api_name='deleted_device_by_id') 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def check_tasks_response_status(self, response, api_name): 1777s """ 1777s Get the task response status from taskId 1777s Args: 1777s self: The current object details. 1777s response (dict): API response. 1777s api_name (str): API name. 1777s Returns: 1777s self (object): The current object with updated desired Fabric Transits information. 1777s Description: 1777s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' 1777s state or till it reaches the maximum timeout. 1777s Log the task details and return self. 1777s """ 1777s 1777s if not response: 1777s self.msg = "response is empty" 1777s self.status = "exited" 1777s return self 1777s 1777s if not isinstance(response, dict): 1777s self.msg = "response is not a dictionary" 1777s self.status = "exited" 1777s return self 1777s 1777s task_info = response.get("response") 1777s if task_info.get("errorcode") is not None: 1777s self.msg = response.get("response").get("detail") 1777s self.status = "failed" 1777s return self 1777s 1777s task_id = task_info.get("taskId") 1777s start_time = time.time() 1777s while True: 1777s elapsed_time = time.time() - start_time 1777s if elapsed_time >= self.max_timeout: 1777s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \ 1777s .format(self.max_timeout, task_id) + \ 1777s "Exiting the loop due to unexpected API '{0}' status.".format(api_name) 1777s self.log(self.msg, "WARNING") 1777s self.status = "failed" 1777s break 1777s 1777s task_details = self.get_tasks_by_id(task_id) 1777s self.log('Getting tasks details from task ID {0}: {1}' 1777s .format(task_id, task_details), "DEBUG") 1777s 1777s > task_status = task_details.get("status") 1777s E AttributeError: 'list' object has no attribute 'get' 1777s 1777s plugins/module_utils/dnac.py:1734: AttributeError 1777s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_provisioned_device _ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_inventory_workflow_manager_playbook_delete_provisioned_device(self): 1777s """ 1777s Test case for add device with full crendentials. 1777s 1777s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="deleted", 1777s config_verify=True, 1777s config=self.playbook_delete_provisioned_device 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_inventory_workflow_manager.py:354: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/inventory_workflow_manager.py:4197: in main 1777s ccc_device.get_diff_state_apply[state](config).check_return_status() 1777s plugins/modules/inventory_workflow_manager.py:3675: in get_diff_deleted 1777s self.delete_provisioned_device_v2(device_ip) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def delete_provisioned_device_v2(self, device_ip): 1777s """ 1777s Deletes provisioned devices for versions > 2.3.5.3. 1777s 1777s Parameters: 1777s device_ip (str): The IP address of the device to be deleted. 1777s 1777s Description: 1777s This method deletes a provisioned device with the specified IP address 1777s for software versions greater than 2.3.5.3. It ensures that the device 1777s is properly removed from the Cisco Catalyst Center, handling any 1777s required validations and API interactions. 1777s """ 1777s 1777s device_ids = self.get_device_ids([device_ip]) 1777s > device_id = device_ids[0] 1777s E IndexError: list index out of range 1777s 1777s plugins/modules/inventory_workflow_manager.py:3801: IndexError 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 Inventory: get_device_ids: 2403: Error while fetching device '204.1.2.4' from Cisco Catalyst Center: 0 1777s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_some_error_data_update_accesspoint _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_accesspoint_workflow_manager_some_error_data_update_accesspoint(self): 1777s """ 1777s Test case for access point workfollow manager negative case. 1777s 1777s This test case checks the behavior of the access point workflow when wrong data passed in the specified Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s config_verify=True, 1777s dnac_version="2.3.7.6", 1777s config=self.playbook_config_update_some_error_data 1777s ) 1777s ) 1777s result = self.execute_module(changed=True, failed=True) 1777s self.maxDiff = None 1777s > self.assertEqual( 1777s result.get('msg'), 1777s 'The provided site name \'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO\' ' + 1777s 'is either invalid or not present in the Cisco Catalyst Center.' 1777s ) 1777s E AssertionError: "An error occurred while executing GET API[211 chars]n: ." != "The provided site name 'Global/USA/New Yo[175 chars]ter." 1777s E - An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO'}. Exception: . 1777s E + The provided site name 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO' is either invalid or not present in the Cisco Catalyst Center. 1777s 1777s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:195: AssertionError 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO'}. Exception: . 1777s 1777s WARNING logger:dnac.py:294 Accesspoint: site_exists: 2929: The provided site name 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO' is either invalid or not present in the Cisco Catalyst Center.{'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO'}. Exception: .", 'failed': True} 1777s 1777s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: The provided site name 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO' is either invalid or not present in the Cisco Catalyst Center. 1777s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_prov_device_2353 _ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_inventory_workflow_manager_playbook_prov_device_2353(self): 1777s """ 1777s Test case for add device with full crendentials. 1777s 1777s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.5.3", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_prov_device_2353 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_inventory_workflow_manager.py:578: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/inventory_workflow_manager.py:4197: in main 1777s ccc_device.get_diff_state_apply[state](config).check_return_status() 1777s plugins/modules/inventory_workflow_manager.py:3613: in get_diff_merged 1777s self.provisioned_wired_device().check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': 'Wired Device Provisioning failed for all devices', 'response': 'Wired Device Provisioning failed for all devices', 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config 1777s 1777s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3567: {'provision_wired_device': [{'device_ip': '204.1.2.4', 'resync_retry_count': 200, 'resync_retry_interval': 2, 'site_name': 'Global/Chennai/LTTS/FLOOR1'}]} 1777s 1777s ERROR logger:dnac.py:294 Inventory: provisioned_wired_device: 1720: Cannot do Provisioning for device 204.1.2.4. 1777s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_provision_device _ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_inventory_workflow_manager_playbook_provision_device(self): 1777s """ 1777s Test case for add device with full crendentials. 1777s 1777s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_provision_device 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_inventory_workflow_manager.py:528: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/inventory_workflow_manager.py:4197: in main 1777s ccc_device.get_diff_state_apply[state](config).check_return_status() 1777s plugins/modules/inventory_workflow_manager.py:3613: in get_diff_merged 1777s self.provisioned_wired_device().check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': 'Wired Device Provisioning failed for all devices', 'response': 'Wired Device Provisioning failed for all devices', 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config 1777s 1777s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3567: {'provision_wired_device': [{'device_ip': '204.1.2.4', 'resync_retry_count': 200, 'resync_retry_interval': 2, 'site_name': 'Global/Chennai/LTTS/FLOOR1'}]} 1777s 1777s WARNING logger:dnac.py:294 Inventory: is_device_assigned_to_site: 1876: Response collected from the API 'get_device_detail' {'response': [], 'version': '1.0'} 1777s 1777s CRITICAL logger:dnac.py:294 Inventory: is_device_assigned_to_site: 1883: Failed to find device with UUID 03072c33-bd11-4914-9c0e-3c53379b2813 due to: 'list' object has no attribute 'get' 1777s 1777s ERROR logger:dnac.py:294 Inventory: handle_provisioning_exception: 1606: Error while Provisioning the Wired device 204.1.2.4 in Cisco Catalyst Center: {'msg': "Failed to find device with UUID 03072c33-bd11-4914-9c0e-3c53379b2813 due to: 'list' object has no attribute 'get'", 'failed': True} 1777s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_task_error_update_accesspoint _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_accesspoint_workflow_manager_task_error_update_accesspoint(self): 1777s """ 1777s Test case for access point workfollow manager and negative test verify ap update. 1777s 1777s This test case checks the behavior of the nagative test case of update in the specified Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s config_verify=True, 1777s dnac_version="2.3.7.6", 1777s config=self.playbook_config 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Unable to get success response, hence AP config not updated" 1777s ) 1777s E AssertionError: "An error occurred while executing API ca[74 chars]n: ." != 'Unable to get success response, hence AP[15 chars]ated' 1777s E - An error occurred while executing API call to Function: 'get_task_details_by_id' due to the the following exception: . 1777s E + Unable to get success response, hence AP config not updated 1777s 1777s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:326: AssertionError 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 Accesspoint: update_ap_configuration: 3501: No AP name or MAC address found in ap_config. 1777s 1777s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_task_details_by_id' due to the the following exception: . 1777s ___________ TestDnacAccesspointWorkflow.test_invalid_get_site_device ___________ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_invalid_get_site_device(self): 1777s """ 1777s Test case for access point workfollow manager get device details from site 1777s 1777s This test case checks the behavior of the access point workflow when check the devices in the site on the specified Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s dnac_version="2.3.7.6", 1777s config=self.get_membership_empty 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Required param of mac_address,ip_address or hostname is not in playbook config" 1777s ) 1777s E AssertionError: 'Successfully validated playbook config pa[1253 chars]}\n]' != 'Required param of mac_address,ip_address [33 chars]nfig' 1777s E Diff is 1423 characters long. Set self.maxDiff to None to see it. 1777s 1777s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:399: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': 'Successfully validated playbook config params:[\n {\n "mac_address": null,\n "management_ip_address": null,\n "hostname": null,\n "rf_profile": null,\n "site": {\n "response": [],\n "version": "1.0",\n "message": "Site does not have childrens."\n },\n "type": null,\n "ap_name": null,\n "admin_status": null,\n "led_status": null,\n "led_brightness_level": null,\n "ap_mode": null,\n "location": null,\n "is_assigned_site_as_location": null,\n "failover_priority": null,\n "primary_controller_name": null,\n "primary_ip_address": null,\n "secondary_controller_name": null,\n "secondary_ip_address": null,\n "tertiary_controller_name": null,\n "tertiary_ip_address": null,\n "clean_air_si_2.4ghz": null,\n "clean_air_si_5ghz": null,\n "clean_air_si_6ghz": null,\n "2.4ghz_radio": null,\n "5ghz_radio": null,\n "6ghz_radio": null,\n "xor_radio": null,\n "tri_radio": null,\n "reboot_aps": null,\n "factory_reset_aps": null,\n "bulk_update_aps": null,\n "ap_selected_fields": null,\n "ap_config_selected_fields": null\n }\n]', 'response': 'Required param of mac_address,ip_address or hostname is not in playbook config', 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 Accesspoint: get_accesspoint_details: 2688: Required param of mac_address,ip_address or hostname is not in playbook config 1777s 1777s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Required param of mac_address,ip_address or hostname is not in playbook config 1777s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_provision_failed_for_site _ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_inventory_workflow_manager_playbook_provision_failed_for_site(self): 1777s """ 1777s Test case for add device with full crendentials. 1777s 1777s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_provision_failed_for_site 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Wired Device Provisioning failed for all devices" 1777s ) 1777s E AssertionError: "An exception occurred while retrieving S[136 chars]able" != 'Wired Device Provisioning failed for all devices' 1777s E - An exception occurred while retrieving Site details for Site 'Global/Chennai/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable 1777s E + Wired Device Provisioning failed for all devices 1777s 1777s tests/unit/modules/dnac/test_inventory_workflow_manager.py:380: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "An exception occurred while retrieving Site details for Site 'Global/Chennai/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable", 'response': "An exception occurred while retrieving Site details for Site 'Global/Chennai/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable", 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 Inventory: set_operation_result: 1780: An exception occurred while retrieving Site details for Site 'Global/Chennai/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable 1777s _____________ TestDnacAccesspointWorkflow.test_invalid_site_exists _____________ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_invalid_site_exists(self): 1777s """ 1777s Test case for access point workfollow manager check site exists. 1777s 1777s This test case checks the behavior of the access point workflow when site exist in the specified Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s dnac_version="2.3.7.6", 1777s config=self.playbook_config_provision 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "MAC Address is not Access point" 1777s ) 1777s E AssertionError: 'Provided device is not Access Point.' != 'MAC Address is not Access point' 1777s E - Provided device is not Access Point. 1777s E + MAC Address is not Access point 1777s 1777s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:350: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': 'Provided device is not Access Point.', 'response': 'Provided device is not Access Point.', 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Provided device is not Access Point. 1777s _____________ TestDnacAccesspointWorkflow.test_invalid_wlc_device ______________ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_invalid_wlc_device(self): 1777s """ 1777s Test case for access point workfollow manager check invalid wireless controller. 1777s 1777s This test case checks the behavior of the access point workflow of invalid wlc specified Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s dnac_version="2.3.7.6", 1777s config=self.playbook_config_provision 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s self.maxDiff = None 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Wireles controller is not provisioned:" 1777s ) 1777s E AssertionError: "An error occurred while executing GET AP[157 chars]n: ." != 'Wireles controller is not provisioned:' 1777s E - An error occurred while executing GET API call to Function: 'get_site_assigned_network_devices' from Family: 'site_design'. Parameters: {'site_id': 'c55c069f-a77f-4cc9-bb20-63df01e9a01a'}. Exception: . 1777s E + Wireles controller is not provisioned: 1777s 1777s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:170: AssertionError 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_site_assigned_network_devices' from Family: 'site_design'. Parameters: {'site_id': 'c55c069f-a77f-4cc9-bb20-63df01e9a01a'}. Exception: . 1777s 1777s ERROR logger:dnac.py:294 Accesspoint: get_site_device: 2968: Failed to execute the get_device_ids_from_site function 'c55c069f-a77f-4cc9-bb20-63df01e9a01a' Error: {'msg': "An error occurred while executing GET API call to Function: 'get_site_assigned_network_devices' from Family: 'site_design'. Parameters: {'site_id': 'c55c069f-a77f-4cc9-bb20-63df01e9a01a'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_site_assigned_network_devices' from Family: 'site_design'. Parameters: {'site_id': 'c55c069f-a77f-4cc9-bb20-63df01e9a01a'}. Exception: .", 'failed': True} 1777s 1777s ERROR logger:dnac.py:294 Accesspoint: verify_ap_provision: 3010: Wireles controller is not provisioned: 1777s 1777s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Wireles controller is not provisioned: 1777s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_update_mgmt_ip _ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_inventory_workflow_manager_playbook_update_mgmt_ip(self): 1777s """ 1777s Test case for add device with full crendentials. 1777s 1777s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_update_mgmt_ip 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_inventory_workflow_manager.py:503: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/inventory_workflow_manager.py:4197: in main 1777s ccc_device.get_diff_state_apply[state](config).check_return_status() 1777s plugins/modules/inventory_workflow_manager.py:3391: in get_diff_merged 1777s csv_reader = self.decrypt_and_read_csv(export_response, password) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def decrypt_and_read_csv(self, response, password): 1777s """ 1777s Parameters: 1777s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1777s response (requests.Response): HTTP response object containing the encrypted CSV file. 1777s password (str): Password used for decrypting the CSV file. 1777s Returns: 1777s csv.DictReader: A CSV reader object for the decrypted content, allowing iteration over rows as dictionaries. 1777s Description: 1777s Decrypts and reads a CSV-like file from the given HTTP response using the provided password. 1777s """ 1777s 1777s > zip_data = BytesIO(response.data) 1777s E AttributeError: 'NoneType' object has no attribute 'data' 1777s 1777s plugins/modules/inventory_workflow_manager.py:1132: AttributeError 1777s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_already_sync_cred _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_device_credentials_workflow_manager_already_sync_cred(self): 1777s """ 1777s Test case for device credential workflow manager when applying a device credential to site devices where sync is already applied. 1777s 1777s This test case checks the behavior of the device credential workflow manager when applying a device credential to site devices 1777s 1777s where sync is already applied in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_version="2.3.7.6", 1777s dnac_log=True, 1777s state="merged", 1777s config=self.playbook_config_apply 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=False) 1777s print(result) 1777s self.assertEqual( 1777s > result['response'][0]['applyCredential']['Applied Credentials']['msg'], 1777s "Provided credentials category is/are already synced." 1777s ) 1777s E KeyError: 'applyCredential' 1777s 1777s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:314: KeyError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'changed': False, 'diff': [], 'response': [{'global_credential': {}, 'assign_credential': {}, 'apply_credential': {'Applied Credentials': {'response': [], 'msg': 'Either the provided credentials are already synchronized or they are not assigned to the device.'}}}], 'warnings': []} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 DeviceCredential: apply_credentials_to_site: 2920: Provided credentials category is/are already synced: {'cliId': '2885a877-022a-4c18-b38f-825a63ebd7d1', 'snmpV2ReadId': '97061bab-1d11-4df4-950c-9304fb846b83', 'snmpV2WriteId': '07c3c5fc-35e6-4c83-bdcb-6322d4bf7103', 'snmpV3Id': '9900b521-0dfb-4bd1-b044-d31037c8def3'} 1777s _________ TestNetworkCompliance.test_run_compliance_categories_iplist __________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_categories_iplist(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_categories_iplist") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:412: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: True, Run Compliance Categories: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], Sync Device Config: False 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], sync_device_config=False 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_run_compliance_categories: 510: Validating the provided run compliance categories: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_run_compliance_categories: 518: Validation successful: valid run compliance categorites provided: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [], 'version': '1.0', 'deviceUuid': 'None'} 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 724: Exiting the loop because no devices were returned after increasing the offset. Current offset: 501 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s ____________ TestNetworkCompliance.test_run_compliance_with_iplist _____________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_iplist(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=False, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_iplist") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:349: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_apply_sync _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s def get_tasks_by_id(self, task_id): 1777s """ 1777s Get the tasks of a task ID in Cisco Catalyst Center. 1777s Args: 1777s self (object): An instance of a class that provides access to Cisco Catalyst Center. 1777s task_id (str): The unique identifier of the task for which you want to retrieve details. 1777s Returns: 1777s dict or None: A dictionary status information about the specified task, 1777s or None if the task with the given task_id is not found. 1777s Description: 1777s Call the API 'get_tasks_by_id' to get the status of the task. 1777s Return the details along with the status of the task. 1777s """ 1777s # Need to handle exception 1777s task_status = None 1777s try: 1777s > response = self.dnac._exec( 1777s family="task", 1777s function="get_tasks_by_id", 1777s params={"id": task_id} 1777s ) 1777s 1777s plugins/module_utils/dnac.py:1662: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1777s return self._mock_call(*args, **kwargs) 1777s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1777s return self._execute_mock_call(*args, **kwargs) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s self = , args = () 1777s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191ea00-6acf-7863-83c3-638499ad0aff'}} 1777s effect = 1777s 1777s def _execute_mock_call(self, /, *args, **kwargs): 1777s # separate from _increment_mock_call so that awaited functions are 1777s # executed separately from their call, also AsyncMock overrides this method 1777s 1777s effect = self.side_effect 1777s if effect is not None: 1777s if _is_exception(effect): 1777s raise effect 1777s elif not _callable(effect): 1777s > result = next(effect) 1777s E StopIteration 1777s 1777s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration 1777s 1777s During handling of the above exception, another exception occurred: 1777s 1777s self = 1777s 1777s def test_device_credentials_workflow_manager_apply_sync(self): 1777s """ 1777s Test case for device credential workflow manager when applying a device credential to site devices. 1777s 1777s This test case checks the behavior of the device credential workflow manager when applying a device credential 1777s 1777s to site devices in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_version="2.3.7.6", 1777s dnac_log=True, 1777s state="merged", 1777s config=self.playbook_config_apply 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:362: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/device_credential_workflow_manager.py:3277: in main 1777s ccc_credential.get_diff_state_apply[state](config).check_return_status() 1777s plugins/modules/device_credential_workflow_manager.py:2983: in get_diff_merged 1777s self.apply_credentials_to_site().check_return_status() 1777s plugins/modules/device_credential_workflow_manager.py:2936: in apply_credentials_to_site 1777s self.check_tasks_response_status(response, 1777s plugins/module_utils/dnac.py:1730: in check_tasks_response_status 1777s task_details = self.get_tasks_by_id(task_id) 1777s plugins/module_utils/dnac.py:1684: in get_tasks_by_id 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1777s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_1 ________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_iplist_failure_1(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=False, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_iplist") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=False, failed=False) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:541: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_2 ________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_iplist_failure_2(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_iplist") 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s > self.assertIn( 1777s "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call", 1777s result.get('msg') 1777s ) 1777s E AssertionError: "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call" not found in "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs)." 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:563: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None. 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_3 ________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_iplist_failure_3(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_iplist") 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s > self.assertEqual( 1777s "An error occurred while retrieving the task_id of the run_compliance operation.", 1777s result.get('msg') 1777s ) 1777s E AssertionError: 'An error occurred while retrieving the t[35 chars]ion.' != "No device UUIDs were fetched for network[153 chars]Ps)." 1777s E - An error occurred while retrieving the task_id of the run_compliance operation. 1777s E + No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:584: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297620, 'lastUpdateTime': 1721061010296, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297708, 'lastUpdateTime': 1721061010419, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297420, 'lastUpdateTime': 1721061010438, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297733, 'lastUpdateTime': 1721061010335, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042299163, 'lastUpdateTime': 1721061010242, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_4 ________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_iplist_failure_4(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_iplist") 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s > self.assertIn( 1777s "Error occurred while retrieving 'get_task_by_id' for Task Run Compliance Check with Task id", 1777s result.get('msg') 1777s ) 1777s E AssertionError: "Error occurred while retrieving 'get_task_by_id' for Task Run Compliance Check with Task id" not found in "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs)." 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:605: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297620, 'lastUpdateTime': 1721061010296, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297708, 'lastUpdateTime': 1721061010419, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297420, 'lastUpdateTime': 1721061010438, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297733, 'lastUpdateTime': 1721061010335, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042299163, 'lastUpdateTime': 1721061010242, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1001: {'response': {'taskId': '34629bf3-c191-404d-b5b7-3e445d25457b', 'url': '/api/v1/task/34629bf3-c191-404d-b5b7-3e445d25457b'}, 'version': '1.0'} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: 'str' object has no attribute 'get' 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_assign_cred_1 _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s def get_tasks_by_id(self, task_id): 1777s """ 1777s Get the tasks of a task ID in Cisco Catalyst Center. 1777s Args: 1777s self (object): An instance of a class that provides access to Cisco Catalyst Center. 1777s task_id (str): The unique identifier of the task for which you want to retrieve details. 1777s Returns: 1777s dict or None: A dictionary status information about the specified task, 1777s or None if the task with the given task_id is not found. 1777s Description: 1777s Call the API 'get_tasks_by_id' to get the status of the task. 1777s Return the details along with the status of the task. 1777s """ 1777s # Need to handle exception 1777s task_status = None 1777s try: 1777s > response = self.dnac._exec( 1777s family="task", 1777s function="get_tasks_by_id", 1777s params={"id": task_id} 1777s ) 1777s 1777s plugins/module_utils/dnac.py:1662: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1777s return self._mock_call(*args, **kwargs) 1777s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1777s return self._execute_mock_call(*args, **kwargs) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s self = , args = () 1777s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191e691-f5f5-7c89-9cf4-099515272844'}} 1777s effect = 1777s 1777s def _execute_mock_call(self, /, *args, **kwargs): 1777s # separate from _increment_mock_call so that awaited functions are 1777s # executed separately from their call, also AsyncMock overrides this method 1777s 1777s effect = self.side_effect 1777s if effect is not None: 1777s if _is_exception(effect): 1777s raise effect 1777s elif not _callable(effect): 1777s > result = next(effect) 1777s E StopIteration 1777s 1777s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration 1777s 1777s During handling of the above exception, another exception occurred: 1777s 1777s self = 1777s 1777s def test_device_credentials_workflow_manager_assign_cred_1(self): 1777s """ 1777s Test case for device credential workflow manager when assigning a device credential to site in dnac_version="2.3.7.6". 1777s 1777s This test case checks the behavior of the device credential workflow manager when assigning a device credential to site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_version="2.3.7.6", 1777s dnac_log=True, 1777s state="merged", 1777s config=self.playbook_config_assign 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:261: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/device_credential_workflow_manager.py:3277: in main 1777s ccc_credential.get_diff_state_apply[state](config).check_return_status() 1777s plugins/modules/device_credential_workflow_manager.py:2980: in get_diff_merged 1777s self.assign_credentials_to_site().check_return_status() 1777s plugins/modules/device_credential_workflow_manager.py:2757: in assign_credentials_to_site 1777s self.check_tasks_response_status( 1777s plugins/module_utils/dnac.py:1730: in check_tasks_response_status 1777s task_details = self.get_tasks_by_id(task_id) 1777s plugins/module_utils/dnac.py:1684: in get_tasks_by_id 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1777s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_5 ________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_iplist_failure_5(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_iplist") 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s > self.assertIn( 1777s "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call", 1777s result.get('msg') 1777s ) 1777s E AssertionError: "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call" not found in "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs)." 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:626: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297620, 'lastUpdateTime': 1721061010296, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297708, 'lastUpdateTime': 1721061010419, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297420, 'lastUpdateTime': 1721061010438, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297733, 'lastUpdateTime': 1721061010335, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042299163, 'lastUpdateTime': 1721061010242, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1001: {'response': {'taskId': '34629bf3-c191-404d-b5b7-3e445d25457b', 'url': '/api/v1/task/34629bf3-c191-404d-b5b7-3e445d25457b'}, 'version': '1.0'} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: 'str' object has no attribute 'get' 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_assign_cred_2 _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_device_credentials_workflow_manager_assign_cred_2(self): 1777s """ 1777s Test case for device credential workflow manager when assigning a device credential to site in dnac_version="2.3.5.3". 1777s 1777s This test case checks the behavior of the device credential workflow manager when assigning a device credential to site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_version="2.3.5.3", 1777s dnac_log=True, 1777s state="merged", 1777s config=self.playbook_config_assign 1777s ) 1777s ) 1777s result = self.execute_module(changed=True, failed=False) 1777s print(result) 1777s self.assertEqual( 1777s > result['response'][0]['assignCredential']['Assign Credentials']['msg'], 1777s "Device Credential Assigned to a site is Successfully" 1777s ) 1777s E KeyError: 'assignCredential' 1777s 1777s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:288: KeyError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'changed': True, 'diff': [], 'response': [{'global_credential': {}, 'assign_credential': {'Assign Credentials': {'response': [{'cliId': '2885a877-022a-4c18-b38f-825a63ebd7d1', 'snmpV2ReadId': '97061bab-1d11-4df4-950c-9304fb846b83', 'snmpV2WriteId': '07c3c5fc-35e6-4c83-bdcb-6322d4bf7103', 'httpRead': 'caf0f5f8-46a4-4516-8766-4ffe1be7ed2a', 'httpWrite': 'a07ab73f-83bb-4cb8-8a75-a7e1b9c116db', 'snmpV3Id': '9900b521-0dfb-4bd1-b044-d31037c8def3', 'site_id': 'dfa9dfa8-3728-4e28-9095-d58c12af5977'}, {'cliId': '2885a877-022a-4c18-b38f-825a63ebd7d1', 'snmpV2ReadId': '97061bab-1d11-4df4-950c-9304fb846b83', 'snmpV2WriteId': '07c3c5fc-35e6-4c83-bdcb-6322d4bf7103', 'httpRead': 'caf0f5f8-46a4-4516-8766-4ffe1be7ed2a', 'httpWrite': 'a07ab73f-83bb-4cb8-8a75-a7e1b9c116db', 'snmpV3Id': '9900b521-0dfb-4bd1-b044-d31037c8def3', 'site_id': 'a31a0c2c-c725-4ab8-8e65-4a5bc14aa615'}], 'msg': 'Device Credential Assigned to a site is Successfully'}}, 'apply_credential': {}}], 'warnings': []} 1777s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_creation _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_device_credentials_workflow_manager_creation(self): 1777s """ 1777s Test case for device credential workflow manager when creating a device credential. 1777s 1777s This test case checks the behavior of the device credential workflow manager when creating a new device credentials in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s config=self.playbook_config_creation 1777s ) 1777s ) 1777s result = self.execute_module(changed=True, failed=False) 1777s print(result) 1777s self.assertEqual( 1777s > result['response'][0]['globalCredential']['Creation']['msg'], 1777s "Global Credential Created Successfully" 1777s ) 1777s E KeyError: 'globalCredential' 1777s 1777s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:216: KeyError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'changed': True, 'diff': [], 'response': [{'global_credential': {'Creation': {'response': {'cliCredential': [{'password': '12345', 'description': 'CLI1', 'username': 'cli1', 'enablePassword': '12345'}], 'snmpV2cRead': [{'readCommunity': '123456', 'description': 'SNMPv2c Read1'}], 'snmpV2cWrite': [{'writeCommunity': '123456', 'description': 'SNMPv2c Write1'}], 'httpsRead': [{'password': '12345', 'description': 'HTTP Read1', 'username': 'HTTP_Read1', 'port': 443}], 'httpsWrite': [{'password': '12345', 'description': 'HTTP Write1', 'username': 'HTTP_Write1', 'port': 443}], 'snmpV3': [{'description': 'snmpV31', 'username': 'snmpV31', 'snmpMode': 'AUTHPRIV', 'authPassword': '12345678', 'authType': 'SHA', 'privacyPassword': '12345678', 'privacyType': 'AES128'}]}, 'msg': 'Global Credential Created Successfully'}, 'No Updation': {'response': 'No Response', 'msg': 'No Updation is available'}}, 'assign_credential': {}, 'apply_credential': {}}], 'warnings': []} 1777s __________ TestNetworkCompliance.test_run_compliance_with_iplist_site __________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_iplist_site(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_iplist_site") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:391: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: Global, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=Global 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'additionalInfo': [], 'name': 'Global', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteNameHierarchy': 'Global'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'site': {'response': [{'parentId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'Tokyo, Japan', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7/c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower/Ansible_Floor', 'name': 'Ansible_Floor', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66'}, {'parentId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'Location', 'attributes': {'country': 'Japan', 'address': 'Tokyo, Japan', 'latitude': '35.6764', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'building', 'longitude': '139.65'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower', 'name': 'Ansible_Tower', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7'}, {'parentId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupNameHierarchy': 'Global/India/Bangalore', 'name': 'Bangalore', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be', 'groupNameHierarchy': 'Global/USA/BayAreaGuest', 'name': 'BayAreaGuest', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16244588-f6da-4ef7-b329-87eed13902be'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupNameHierarchy': 'Global/USA/BERKELEY', 'name': 'BERKELEY', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'a83421d0-cfe5-4318-85ee-a991d2cdd748'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.85992111421487', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'building', 'longitude': '-78.8829258991226'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupNameHierarchy': 'Global/USA/RTP/BLD10', 'name': 'BLD10', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR1', 'name': 'BLD10_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR2', 'name': 'BLD10_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/67966786-b701-4099-8e1a-4191534f36d2', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR3', 'name': 'BLD10_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '67966786-b701-4099-8e1a-4191534f36d2'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.86059627310624', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'building', 'longitude': '-78.88105620286412'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupNameHierarchy': 'Global/USA/RTP/BLD11', 'name': 'BLD11', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '89b128e0-3217-4f63-bf99-b202ec7c0103'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR1', 'name': 'BLD11_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16b5e550-d288-4e11-94a6-baaa8e3d9c08'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR2', 'name': 'BLD11_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR3', 'name': 'BLD11_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.8611847591779', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'building', 'longitude': '-78.88217248318003'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupNameHierarchy': 'Global/USA/RTP/BLD12', 'name': 'BLD12', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4996f8ef-8933-412e-b58b-2238ba860ec7'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/d44f3eca-a3dc-4ed1-a020-0ded43c78056', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR1', 'name': 'BLD12_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR2', 'name': 'BLD12_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/ea574cd8-fa45-48ab-9944-83ed33537416', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR3', 'name': 'BLD12_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ea574cd8-fa45-48ab-9944-83ed33537416'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20', 'name': 'BLD20', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ed089cbf-3622-492f-bf60-5baf6d0b3708'}, {'parentId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': '725 Alder Drive, Milpitas, California 95035, United States', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708/47a127ae-92bd-49ec-aed0-aec8e2a31678', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20/BLD20_FLOOR1', 'name': 'BLD20_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '47a127ae-92bd-49ec-aed0-aec8e2a31678'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/BLD20_FLOOR2', 'name': 'BLD20_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '5', 'hasChild': 'TRUE', 'group.count.direct': '5', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23', 'name': 'BLD23', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '36d3230c-c6ce-44ae-8901-3b4a624883e6'}, {'parentId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748/8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'groupNameHierarchy': 'Global/USA/BERKELEY/BLDBERK', 'name': 'BLDBERK', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d'}, {'parentId': '16244588-f6da-4ef7-b329-87eed13902be', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'type': 'building', 'longitude': '-121.916327'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be/fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'groupNameHierarchy': 'Global/USA/BayAreaGuest/BLD_GB', 'name': 'BLD_GB', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7'}, {'parentId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '1'}}, {'nameSpace': 'ETA', 'attributes': {'member.compatibleWithNaasOnly.direct': '0', 'member.etaCapable.direct': '1', 'member.etaReady.direct': '1', 'member.etaEnabledNaasOnly.direct': '0', 'ETAReady': 'true', 'member.etaNotReady.direct': '0', 'member.etaReadyNotEnabled.direct': '1', 'member.etaEnabled.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC', 'name': 'BLDNYC', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '274da223-2411-4689-8f70-b5bbd8915020'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/b497a0ab-3ab4-42fd-8921-2f45af587b98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF', 'name': 'BLD_SF', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'b497a0ab-3ab4-42fd-8921-2f45af587b98'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'type': 'building', 'longitude': '-121.912974'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF1', 'name': 'BLD_SF1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupNameHierarchy': 'Global/Chennai', 'name': 'Chennai', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}, {'parentId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'latitude': '37.338', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'building', 'longitude': '-121.832'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupNameHierarchy': 'Global/USA/Georgia/cisco', 'name': 'cisco', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'anchorWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'tertiaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'primaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/94f61603-5f1f-4b26-85dd-59355cd67632', 'groupNameHierarchy': 'Global/Demo4', 'name': 'Demo4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '94f61603-5f1f-4b26-85dd-59355cd67632'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'anchorWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'tertiaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'primaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/633a40de-b885-448c-bd84-dd1fef679fbe', 'groupNameHierarchy': 'Global/Demo5', 'name': 'Demo5', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '633a40de-b885-448c-bd84-dd1fef679fbe'}, {'parentId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '200.0', 'length': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '0.0', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'floor', 'longitude': '0.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763/e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square/floor1', 'name': 'floor1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '17301034-7715-4363-952f-3d290ea6ca59', 'primaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '2', 'member.count.direct': '2'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/17301034-7715-4363-952f-3d290ea6ca59', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR1', 'name': 'FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '17301034-7715-4363-952f-3d290ea6ca59'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL1', 'name': 'FLOOR1_LEVEL1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/c45259ff-0612-4fe7-907c-5987877892d9', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL2', 'name': 'FLOOR1_LEVEL2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c45259ff-0612-4fe7-907c-5987877892d9'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/eb935311-f082-416e-a13c-08acdc6219c0', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL3', 'name': 'FLOOR1_LEVEL3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eb935311-f082-416e-a13c-08acdc6219c0'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/78b8a15c-c112-4941-b00b-ceda2edb38f2', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL4', 'name': 'FLOOR1_LEVEL4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '78b8a15c-c112-4941-b00b-ceda2edb38f2'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '212be018-cfb6-4041-9caa-d344385848b7', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'secondaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/212be018-cfb6-4041-9caa-d344385848b7', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR2', 'name': 'FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '212be018-cfb6-4041-9caa-d344385848b7'}, {'parentId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7/5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'groupNameHierarchy': 'Global/USA/Georgia/cisco/Floor_test', 'name': 'Floor_test', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupNameHierarchy': 'Global/USA/Georgia', 'name': 'Georgia', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupNameHierarchy': 'Global/India', 'name': 'India', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c', 'groupNameHierarchy': 'Global/Japan', 'name': 'Japan', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80143381-187c-48fa-a356-15389aad4e9c'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Bengaluru, Karnataka, India', 'latitude': '25.2', 'addressInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'type': 'building', 'longitude': '42.1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'anchorWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'tertiaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'primaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/d0484233-604a-4972-b010-42a0d44fe3d6', 'groupNameHierarchy': 'Global/JJJ', 'name': 'JJJ', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd0484233-604a-4972-b010-42a0d44fe3d6'}, {'parentId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '12.969910', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'building', 'longitude': '77.597960'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square', 'name': 'Mantri Square', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '4', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupNameHierarchy': 'Global/USA/New York', 'name': 'New York', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '21cc7dad-8c9e-4637-8f24-22ec417b9811'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '12', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupNameHierarchy': 'Global/USA/RTP', 'name': 'RTP', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3fbfb158-a429-41b3-a220-6a6286f93d16'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/7002e28c-a309-454b-ac5d-a6a99d64bc20', 'groupNameHierarchy': 'Global/USA/Sample', 'name': 'Sample', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7002e28c-a309-454b-ac5d-a6a99d64bc20'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO', 'name': 'SAN-FRANCISCO', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '8', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupNameHierarchy': 'Global/USA/SAN JOSE', 'name': 'SAN JOSE', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '58.1', 'length': '103.23', 'height': '58.22'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '0.0', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor', 'longitude': '0.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/398f4d42-d265-4233-8ec3-5e4ba73c9956', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/Test_Floor3', 'name': 'Test_Floor3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '398f4d42-d265-4233-8ec3-5e4ba73c9956'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'latitude': '12', 'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'building', 'longitude': '80'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/0e238b6e-e390-4dae-8932-49ceb3376304', 'groupNameHierarchy': 'Global/Chennai/Tidel', 'name': 'Tidel', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0e238b6e-e390-4dae-8932-49ceb3376304'}, {'parentId': '80143381-187c-48fa-a356-15389aad4e9c', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupNameHierarchy': 'Global/Japan/Tokyo', 'name': 'Tokyo', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '9674054e-fd9e-49ed-8084-1ce9131d6781'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Cognizant Technology Solutions, Chennai, Tamil Nadu 600113, India', 'latitude': '12.9908', 'addressInheritedFrom': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'type': 'building', 'longitude': '80.2470'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/05d2d29c-3c23-478e-88ee-7ec60398634f', 'groupNameHierarchy': 'Global/Chennai/Trill', 'name': 'Trill', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '05d2d29c-3c23-478e-88ee-7ec60398634f'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '38', 'hasChild': 'TRUE', 'group.count.direct': '8', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupNameHierarchy': 'Global/USA', 'name': 'USA', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '69f31d51-9e0d-48f4-8546-4935253f9a67'}], 'version': '1.0'}, 'device': [{'response': [{'instanceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:32:55', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.1', 'family': 'Switches and Hubs', 'hostname': 'DC-FR-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324455437, 'lastUpdated': '2024-07-18 17:40:55', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'd4:ad:bd:c1:67:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.1', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 3. 40', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-24U', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2327U0S2', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:08:19.76', 'uptimeSeconds': 4552059, 'vendor': 'Cisco'}, {'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:34:15', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'In Progress', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.0', 'family': 'Switches and Hubs', 'hostname': 'DC-T-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 19:00:21', 'lastUpdateTime': 1721323875769, 'lastUpdated': '2024-07-18 17:31:15', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '00:b6:70:32:b8:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.0', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 5', 'pendingSyncRequestsCount': '1', 'platformId': 'C9300-24P', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': 'Periodic', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FCW2225C020', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 14:57:41.19', 'uptimeSeconds': 4551979, 'vendor': 'Cisco'}, {'instanceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-28 00:14:36', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.2', 'family': 'Switches and Hubs', 'hostname': 'NY-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324496374, 'lastUpdated': '2024-07-18 17:41:36', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:07:59:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.2', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC271924K0, FJC271924EQ', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.12.2', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 17:27:00.06', 'uptimeSeconds': 4473958, 'vendor': 'Cisco'}, {'instanceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 22:21:03', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.3', 'family': 'Switches and Hubs', 'hostname': 'NY-BN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324523813, 'lastUpdated': '2024-07-18 17:42:03', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '0c:75:bd:41:14:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.3', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 4', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'DISTRIBUTION', 'roleSource': 'AUTO', 'serialNumber': 'FJB2334D06N, FJC2335S09D', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 19:21:44.15', 'uptimeSeconds': 4480771, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}, {'response': [], 'version': '1.0', 'siteId': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16244588-f6da-4ef7-b329-87eed13902be', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '67966786-b701-4099-8e1a-4191534f36d2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ea574cd8-fa45-48ab-9944-83ed33537416', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '47a127ae-92bd-49ec-aed0-aec8e2a31678', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:35:07', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.4', 'family': 'Switches and Hubs', 'hostname': 'SJ-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324467241, 'lastUpdated': '2024-07-18 17:41:07', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:8e:42:80', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.4', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 1', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48T', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2721271T', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:06:55.77', 'uptimeSeconds': 4551928, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '274da223-2411-4689-8f70-b5bbd8915020'}, {'response': [], 'version': '1.0', 'siteId': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '94f61603-5f1f-4b26-85dd-59355cd67632', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '633a40de-b885-448c-bd84-dd1fef679fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': '37b05b0f-1b1e-496a-b101-8f277f0af8ff', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 2, 'apEthernetMacAddress': '34:5d:a8:0e:20:b4', 'apManagerInterfaceIp': '192.168.0.5', 'associatedWlcIp': '192.168.0.5', 'collectionInterval': 'NA', 'collectionStatus': 'Managed', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '', 'errorCode': 'null', 'family': 'Unified AP', 'hostname': 'LTTS-test1', 'interfaceCount': '0', 'inventoryStatusDetail': 'NA', 'lastDeviceResyncStartTime': '', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:e9:5e:03:f3:40', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.5', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1.216. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9130AXE-B', 'reachabilityFailureReason': 'NA', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': '', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC27181V9V', 'series': 'Cisco Catalyst 9130AXE Series Unified Access Points', 'snmpContact': '', 'snmpLocation': 'LTTS/Cisco/Chennai', 'softwareVersion': '17.14.0.79', 'tagCount': '0', 'type': 'Cisco Catalyst 9130AXE Unified Access Point', 'upTime': '3 days, 01:57:12.330', 'uptimeSeconds': 268009, 'vendor': 'NA'}, {'instanceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-26 21:53:58', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManaFATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/dnac/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/dnac --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/dnac tests/unit/modules/dnac/test_accesspoint_workflow_manager.py tests/unit/modules/dnac/test_device_credential_workflow_manager.py tests/unit/modules/dnac/test_discovery_intent.py tests/unit/modules/dnac/test_inventory_workflow_manager.py tests/unit/modules/dnac/test_network_compliance_workflow_manager.py tests/unit/modules/dnac/test_network_settings_workflow_manager.py tests/unit/modules/dnac/test_pnp_intent.py tests/unit/modules/dnac/test_pnp_workflow_manager.py tests/unit/modules/dnac/test_provision_workflow_manager.py tests/unit/modules/dnac/test_rma_workflow_manager.py tests/unit/modules/dnac/test_site_intent.py tests/unit/modules/dnac/test_site_workflow_manager.py tests/unit/modules/dnac/test_swim_intent.py tests/unit/modules/dnac/test_swim_workflow_manager.py tests/unit/modules/dnac/test_template_intent.py tests/unit/modules/dnac/test_user_role_workflow_manager.py" returned exit status 1. 1777s gementAddress': '192.168.0.6', 'family': 'Wireless Controller', 'hostname': 'NY-EWLC-1.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 18:30:26', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'cc:b6:c8:e2:29:0b', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.6', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 6.200', 'pendingSyncRequestsCount': '0', 'platformId': 'C9800-40-K9', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FOX2639PAY7', 'series': 'Cisco Catalyst 9800 Series Wireless Controllers', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9800-40 Wireless Controller', 'upTime': '52 days, 20:37:58.64', 'uptimeSeconds': 4568797, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '17301034-7715-4363-952f-3d290ea6ca59'}, {'response': [], 'version': '1.0', 'siteId': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'c45259ff-0612-4fe7-907c-5987877892d9', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eb935311-f082-416e-a13c-08acdc6219c0', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '78b8a15c-c112-4941-b00b-ceda2edb38f2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '212be018-cfb6-4041-9caa-d344385848b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80143381-187c-48fa-a356-15389aad4e9c', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7002e28c-a309-454b-ac5d-a6a99d64bc20', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '398f4d42-d265-4233-8ec3-5e4ba73c9956', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0e238b6e-e390-4dae-8932-49ceb3376304', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'message': 'Site does not have device member with given device family or serial number as input'}]} 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 724: Exiting the loop because no devices were returned after increasing the offset. Current offset: 501 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_site from Family: sites with Parameters: {'name': 'Global'}. 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_site' from Family: 'sites' is Response: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_site_id: 845: Site details retrieved for site 'Global'': {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 759: Initiating retrieval of device details for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 703: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 660: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_membership from Family: sites with Parameters: {'site_id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}. 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_membership' from Family: 'sites' is Response: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297620, 'lastUpdateTime': 1721061010296, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297708, 'lastUpdateTime': 1721061010419, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297420, 'lastUpdateTime': 1721061010438, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297733, 'lastUpdateTime': 1721061010335, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042299163, 'lastUpdateTime': 1721061010242, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 688: No devices found for site 'Global' with site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs). 1777s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_deletion _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_device_credentials_workflow_manager_deletion(self): 1777s """ 1777s Test case for device credential workflow manager when deleting a device credential. 1777s 1777s This test case checks the behavior of the device credential workflow manager when deleting a device credentials in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="deleted", 1777s config_verify=True, 1777s config=self.playbook_config_deletion 1777s ) 1777s ) 1777s result = self.execute_module(changed=True, failed=False) 1777s print(result) 1777s self.assertEqual( 1777s > result['response'][0]['globalCredential']['Deletion']['msg'], 1777s "Global Device Credentials Deleted Successfully" 1777s ) 1777s E KeyError: 'globalCredential' 1777s 1777s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:240: KeyError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'changed': True, 'diff': [], 'response': [{'global_credential': {'Deletion': {'response': {'cliCredential': [{'description': 'CLI1', 'response': 'Global credential deleted successfully'}], 'snmpV2cRead': [{'description': 'SNMPv2c Read1', 'response': 'Global credential deleted successfully'}], 'snmpV2cWrite': [{'description': 'SNMPv2c Write1', 'response': 'Global credential deleted successfully'}], 'httpsRead': [{'description': 'HTTP Read1', 'response': 'Global credential deleted successfully'}], 'httpsWrite': [{'description': 'HTTP Write1', 'response': 'Global credential deleted successfully'}], 'snmpV3': [{'description': 'snmpV31', 'response': 'Global credential deleted successfully'}]}, 'msg': 'Global Device Credentials Deleted Successfully'}, 'Validation': 'Success'}, 'assign_credential': {}, 'apply_credential': {}}], 'warnings': []} 1777s _____________ TestNetworkCompliance.test_run_compliance_with_site ______________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_site(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=False, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_site") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:370: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list 1777s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def get_reachable_devices_from_site(self, site_name): 1777s """ 1777s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site. 1777s Args: 1777s site_id (str): The ID of the site from which to retrieve device details. 1777s Returns: 1777s tuple: A tuple containing: 1777s - dict: A mapping of management IP addresses to instance IDs for reachable devices. 1777s - list: A list of management IP addresses of skipped devices. 1777s """ 1777s mgmt_ip_to_instance_id_map = {} 1777s skipped_devices_list = [] 1777s 1777s (site_exists, site_id) = self.get_site_id(site_name) 1777s if not site_exists: 1777s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name) 1777s self.fail_and_exit(self.msg) 1777s 1777s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO") 1777s 1777s # Retrieve the list of device details from the specified site 1777s device_details_list = self.get_device_details_from_site(site_name, site_id) 1777s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG") 1777s 1777s # Iterate through each device's details 1777s for device_info in device_details_list: 1777s > management_ip = device_info.get("managementIpAddress") 1777s E AttributeError: 'list' object has no attribute 'get' 1777s 1777s plugins/module_utils/dnac.py:767: AttributeError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_1 _________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_site_failure_1(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=False, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_site") 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s > self.assertIn( 1777s "An error occurred while retrieving site details for Site 'Global'. Please verify that the site exists.", 1777s result.get('msg') 1777s ) 1777s E AssertionError: "An error occurred while retrieving site details for Site 'Global'. Please verify that the site exists." not found in 'An exception occurred while retrieving Site details for Site \'Global\' does not exist in the Cisco Catalyst Center. Error: {\'msg\': "An error occurred while executing GET API call to Function: \'get_site\' from Family: \'sites\'. Parameters: {\'name\': \'Global\'}. Exception: Simulated exception.", \'response\': "An error occurred while executing GET API call to Function: \'get_site\' from Family: \'sites\'. Parameters: {\'name\': \'Global\'}. Exception: Simulated exception.", \'failed\': True}' 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:647: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_device_credentials_workflow_manager_invalid_site(self): 1777s """ 1777s Test case for device credential workflow manager when provided site is invalid. 1777s 1777s This test case checks the behavior of the device credential workflow manager, when provided site is invalid in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_version="2.3.7.6", 1777s dnac_log=True, 1777s state="merged", 1777s config=self.playbook_config_assign 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result['msg'], 1777s "The site_name 'Global/Vietnam/halong/Hanoi' is invalid in 'assign_credentials_to_site'" 1777s ) 1777s E AssertionError: 'An exception occurred while retrieving S[516 chars]rue}' != "The site_name 'Global/Vietnam/halong/Han[42 chars]ite'" 1777s E - An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'failed': True} 1777s E + The site_name 'Global/Vietnam/halong/Hanoi' is invalid in 'assign_credentials_to_site' 1777s 1777s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:435: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': 'An exception occurred while retrieving Site details for Site \'Global/Vietnam/halong/Hanoi\' does not exist in the Cisco Catalyst Center. Error: {\'msg\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'response\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'failed\': True}', 'response': 'An exception occurred while retrieving Site details for Site \'Global/Vietnam/halong/Hanoi\' does not exist in the Cisco Catalyst Center. Error: {\'msg\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'response\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'failed\': True}', 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: . 1777s 1777s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'failed': True} 1777s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site_response _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_device_credentials_workflow_manager_invalid_site_response(self): 1777s """ 1777s Test case for device credential workflow manager when provided site response is invalid. 1777s 1777s This test case checks the behavior of the device credential workflow manager when provided site response is invalid in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s config=self.playbook_config_apply 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result['msg'], 1777s "Exception occurred while getting global device credentials: " 1777s ) 1777s E AssertionError: "An exception occurred while retrieving S[137 chars]able" != 'Exception occurred while getting global [16 chars]ls: ' 1777s E - An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable 1777s E + Exception occurred while getting global device credentials: 1777s 1777s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:481: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable", 'response': "An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable", 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable 1777s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site_response_2 _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_device_credentials_workflow_manager_invalid_site_response_2(self): 1777s """ 1777s Test case for device credential workflow manager when provided site response is invalid. 1777s 1777s This test case checks the behavior of the device credential workflow manager when provided site response is invalid in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s state="merged", 1777s config=self.playbook_config_apply 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result['msg'], 1777s "Exception occurred while getting global device credentials: " 1777s ) 1777s E AssertionError: "An exception occurred while retrieving S[278 chars]rue}" != 'Exception occurred while getting global [16 chars]ls: ' 1777s E - An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'response': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'failed': True} 1777s E + Exception occurred while getting global device credentials: 1777s 1777s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:504: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'response': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'failed': True}", 'response': "An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'response': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'failed': True}", 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 DeviceCredential: execute_get_request: 1857: No response received from GET API call to Function: 'get_site' from Family: 'sites'. 1777s 1777s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: No site details retrieved for site name: Global/Vietnam/halong/Hanoi 1777s 1777s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'response': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'failed': True} 1777s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_2 _________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s def execute_get_request(self, api_family, api_function, api_parameters): 1777s """ 1777s Makes a GET API call to the specified function within a given family and returns the response. 1777s Args: 1777s api_family (str): The family of the API to call. 1777s api_function (str): The specific function of the API to call. 1777s api_parameters (dict): Parameters to pass to the API call. 1777s Returns: 1777s dict or None: The response from the API call if successful, otherwise None. 1777s Logs detailed information about the API call, including responses and errors. 1777s """ 1777s self.log( 1777s "Initiating GET API call for Function: {0} from Family: {1} with Parameters: {2}.".format( 1777s api_function, api_family, api_parameters 1777s ), 1777s "DEBUG" 1777s ) 1777s try: 1777s # Execute the API call 1777s > response = self.dnac._exec( 1777s family=api_family, 1777s function=api_function, 1777s op_modifies=False, 1777s params=api_parameters, 1777s ) 1777s 1777s plugins/module_utils/dnac.py:1840: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1777s return self._mock_call(*args, **kwargs) 1777s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1777s return self._execute_mock_call(*args, **kwargs) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s self = , args = () 1777s kwargs = {'family': 'sites', 'function': 'get_membership', 'op_modifies': False, 'params': {'site_id': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}} 1777s effect = 1777s result = Exception('Simulated exception') 1777s 1777s def _execute_mock_call(self, /, *args, **kwargs): 1777s # separate from _increment_mock_call so that awaited functions are 1777s # executed separately from their call, also AsyncMock overrides this method 1777s 1777s effect = self.side_effect 1777s if effect is not None: 1777s if _is_exception(effect): 1777s raise effect 1777s elif not _callable(effect): 1777s result = next(effect) 1777s if _is_exception(result): 1777s > raise result 1777s E Exception: Simulated exception 1777s 1777s /usr/lib/python3.13/unittest/mock.py:1232: Exception 1777s 1777s During handling of the above exception, another exception occurred: 1777s 1777s self = 1777s 1777s def test_run_compliance_with_site_failure_2(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=False, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_site") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=False, failed=False) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:667: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list 1777s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name) 1777s plugins/module_utils/dnac.py:762: in get_reachable_devices_from_site 1777s device_details_list = self.get_device_details_from_site(site_name, site_id) 1777s plugins/module_utils/dnac.py:716: in get_device_details_from_site 1777s api_response, device_ids = self.get_device_ids_from_site(site_name, site_id) 1777s plugins/module_utils/dnac.py:666: in get_device_ids_from_site 1777s api_response = self.execute_get_request("sites", "get_membership", get_membership_params) 1777s plugins/module_utils/dnac.py:1882: in execute_get_request 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "An error occurred while executing GET API call to Function: 'get_membership' from Family: 'sites'. Parameters: {'site_id': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}. Exception: Simulated exception.", 'response': "An error occurred while executing GET API call to Function: 'get_membership' from Family: 'sites'. Parameters: {'site_id': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}. Exception: Simulated exception.", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_aaa_get _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_Network_settings_workflow_manager_network_exception_aaa_get(self): 1777s """ 1777s Test case for site workflow manager when creating a site. 1777s 1777s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_config_network 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Exception occurred while getting AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1777s ) 1777s E AssertionError: "Exception occurred while getting AAA set[72 chars]7): " != 'Exception occurred while getting AAA set[49 chars]a7: ' 1777s E - Exception occurred while getting AAA settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s E ? ---------------------- - 1777s E + Exception occurred while getting AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1777s 1777s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:879: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "Exception occurred while getting AAA settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s CRITICAL logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1377: Exception occurred while getting AAA settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_3 _________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_site_failure_3(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=False, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_site") 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s > self.assertIn( 1777s "An error occurred while retrieving Compliance Details for device:192.168.0.3 using 'compliance_details_of_device' API call", 1777s result.get('msg') 1777s ) 1777s E AssertionError: "An error occurred while retrieving Compliance Details for device:192.168.0.3 using 'compliance_details_of_device' API call" not found in "An error occurred while executing GET API call to Function: 'get_device_by_id' from Family: 'devices'. Parameters: {'id': 'f490e92f-490e-4bb1-9519-770b1dc604c4'}. Exception: Simulated exception." 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:689: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_4 _________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_site_failure_4(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=False, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_site") 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s > self.assertIn( 1777s "An error occurred while retrieving the task_id of the run_compliance operation.", 1777s result.get('msg') 1777s ) 1777s E AssertionError: 'An error occurred while retrieving the task_id of the run_compliance operation.' not found in "An error occurred while executing GET API call to Function: 'get_device_by_id' from Family: 'devices'. Parameters: {'id': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}. Exception: Simulated exception." 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:710: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_banner_get _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_Network_settings_workflow_manager_network_exception_banner_get(self): 1777s """ 1777s Test case for site workflow manager when creating a site. 1777s 1777s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_config_network 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Exception occurred while getting banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1777s ) 1777s E AssertionError: "Exception occurred while getting banner [75 chars]7): " != 'Exception occurred while getting banner [52 chars]a7: ' 1777s E - Exception occurred while getting banner settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s E ? ---------------------- - 1777s E + Exception occurred while getting banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1777s 1777s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:854: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "Exception occurred while getting banner settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s CRITICAL logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1318: Exception occurred while getting banner settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_5 _________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_site_failure_5(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=False, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_site") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=False, failed=True) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:730: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1777s result = self.failed() 1777s tests/unit/modules/dnac/dnac_module.py:125: in failed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list 1777s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def get_reachable_devices_from_site(self, site_name): 1777s """ 1777s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site. 1777s Args: 1777s site_id (str): The ID of the site from which to retrieve device details. 1777s Returns: 1777s tuple: A tuple containing: 1777s - dict: A mapping of management IP addresses to instance IDs for reachable devices. 1777s - list: A list of management IP addresses of skipped devices. 1777s """ 1777s mgmt_ip_to_instance_id_map = {} 1777s skipped_devices_list = [] 1777s 1777s (site_exists, site_id) = self.get_site_id(site_name) 1777s if not site_exists: 1777s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name) 1777s self.fail_and_exit(self.msg) 1777s 1777s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO") 1777s 1777s # Retrieve the list of device details from the specified site 1777s device_details_list = self.get_device_details_from_site(site_name, site_id) 1777s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG") 1777s 1777s # Iterate through each device's details 1777s for device_info in device_details_list: 1777s > management_ip = device_info.get("managementIpAddress") 1777s E AttributeError: 'list' object has no attribute 'get' 1777s 1777s plugins/module_utils/dnac.py:767: AttributeError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_dhcp_gett _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_Network_settings_workflow_manager_network_exception_dhcp_gett(self): 1777s """ 1777s Test case for site workflow manager when creating a site. 1777s 1777s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_config_network 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Exception occurred while getting DHCP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1777s ) 1777s E AssertionError: "Exception occurred while getting DHCP se[73 chars]7): " != 'Exception occurred while getting DHCP se[50 chars]a7: ' 1777s E - Exception occurred while getting DHCP settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s E ? ---------------------- - 1777s E + Exception occurred while getting DHCP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1777s 1777s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:829: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "Exception occurred while getting DHCP settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s CRITICAL logger:dnac.py:294 NetworkSettings: get_dhcp_settings_for_site: 1122: Exception occurred while getting DHCP settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_6 _________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_run_compliance_with_site_failure_6(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=False, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_site") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=False, failed=True) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:751: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1777s result = self.failed() 1777s tests/unit/modules/dnac/dnac_module.py:125: in failed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list 1777s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def get_reachable_devices_from_site(self, site_name): 1777s """ 1777s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site. 1777s Args: 1777s site_id (str): The ID of the site from which to retrieve device details. 1777s Returns: 1777s tuple: A tuple containing: 1777s - dict: A mapping of management IP addresses to instance IDs for reachable devices. 1777s - list: A list of management IP addresses of skipped devices. 1777s """ 1777s mgmt_ip_to_instance_id_map = {} 1777s skipped_devices_list = [] 1777s 1777s (site_exists, site_id) = self.get_site_id(site_name) 1777s if not site_exists: 1777s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name) 1777s self.fail_and_exit(self.msg) 1777s 1777s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO") 1777s 1777s # Retrieve the list of device details from the specified site 1777s device_details_list = self.get_device_details_from_site(site_name, site_id) 1777s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG") 1777s 1777s # Iterate through each device's details 1777s for device_info in device_details_list: 1777s > management_ip = device_info.get("managementIpAddress") 1777s E AttributeError: 'list' object has no attribute 'get' 1777s 1777s plugins/module_utils/dnac.py:767: AttributeError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_dns_get _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_Network_settings_workflow_manager_network_exception_dns_get(self): 1777s """ 1777s Test case for site workflow manager when creating a site. 1777s 1777s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_config_network 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Exception occurred while getting DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1777s ) 1777s E AssertionError: "Exception occurred while getting DNS set[72 chars]7): " != 'Exception occurred while getting DNS set[49 chars]a7: ' 1777s E - Exception occurred while getting DNS settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s E ? ---------------------- - 1777s E + Exception occurred while getting DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1777s 1777s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:754: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "Exception occurred while getting DNS settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s CRITICAL logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1161: Exception occurred while getting DNS settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_ntp_get _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_Network_settings_workflow_manager_network_exception_ntp_get(self): 1777s """ 1777s Test case for site workflow manager when creating a site. 1777s 1777s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_config_network 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Exception occurred while getting NTP server settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1777s ) 1777s E AssertionError: "Exception occurred while getting NTP ser[79 chars]7): " != 'Exception occurred while getting NTP ser[56 chars]a7: ' 1777s E - Exception occurred while getting NTP server settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s E ? ---------------------- - 1777s E + Exception occurred while getting NTP server settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1777s 1777s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:779: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "Exception occurred while getting NTP server settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s CRITICAL logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1239: Exception occurred while getting NTP server settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s _______________ TestNetworkCompliance.test_scale_run_compliance ________________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_scale_run_compliance(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_run_compliance_scale_iplist") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:433: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0', '192.168.0.1'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0', '192.168.0.1'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0', '192.168.0.1'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 1, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0', '192.168.0.1'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 1, 'sync_device_config': False}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0', '192.168.0.1'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0', '192.168.0.1'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0', '192.168.0.1'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 1, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0', '192.168.0.1'], Site Name: None, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0', '192.168.0.1']' or 'site_name': 'None' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0', '192.168.0.1'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0, 192.168.0.1 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0', '192.168.0.1'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 1, 'sync_device_config': False} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0', '192.168.0.1'], site_name=None 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0, 192.168.0.1 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0', '192.168.0.1'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0', '192.168.0.1']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0', '192.168.0.1']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'family': 'Wireless Controller', 'managementIpAddress': '192.168.0.1', 'reachabilityStatus': 'Reachable', 'instanceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3bf3f269-88ae-48fc-910d-3263ba618f87'}], 'version': '1.0'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.1, Reachability: Reachable, Collection Status: None, Family: Wireless Controller 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.1 as its status is Reachable or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1001: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297620, 'lastUpdateTime': 1721061010296, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297708, 'lastUpdateTime': 1721061010419, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297420, 'lastUpdateTime': 1721061010438, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297733, 'lastUpdateTime': 1721061010335, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042299163, 'lastUpdateTime': 1721061010242, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1501: {'response': [{'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1716766741478, 'lastUpdateTime': 1721329212290, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1716766741495, 'lastUpdateTime': 1721329211854, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1716766741320, 'lastUpdateTime': 1721329212309, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1716777549860, 'lastUpdateTime': 1721329211804, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=3bf3f269-88ae-48fc-910d-3263ba618f87', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721329211772, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 2001: {'response': {'taskId': '34629bf3-c191-404d-b5b7-3e445d25457b', 'url': '/api/v1/task/34629bf3-c191-404d-b5b7-3e445d25457b'}, 'version': '1.0'} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: 'str' object has no attribute 'get' 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0', '192.168.0.1'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0', '192.168.0.1'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s _____________ TestNetworkCompliance.test_sync_device_config_iplist _____________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_sync_device_config_iplist(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_sync_device_config_iplist") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:455: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1001: {'response': {'taskId': 'ce5e3f8d-9ac7-4215-9b83-fac7228c9e63', 'url': '/api/v1/task/ce5e3f8d-9ac7-4215-9b83-fac7228c9e63'}, 'version': '1.0'} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: 'str' object has no attribute 'get' 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_site_not_exist _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_Network_settings_workflow_manager_network_exception_site_not_exist(self): 1777s """ 1777s Test case for site workflow manager when creating a site. 1777s 1777s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_config_network 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "An exception occurred: Site 'Global/Vietnam' does not exist in the Cisco Catalyst Center." 1777s ) 1777s E AssertionError: "An error occurred while executing API call to[62 chars]n: ." != "An exception occurred: Site 'Global/Vietnam' [40 chars]ter." 1777s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1777s E + An exception occurred: Site 'Global/Vietnam' does not exist in the Cisco Catalyst Center. 1777s 1777s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:704: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1777s ________ TestNetworkCompliance.test_sync_device_config_iplist_failure_1 ________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_sync_device_config_iplist_failure_1(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_sync_device_config_iplist") 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s > self.assertIn( 1777s "Error occurred while synchronizing device configuration for parameters - {'deviceId':", 1777s result.get('msg') 1777s ) 1777s E AssertionError: "Error occurred while synchronizing device configuration for parameters - {'deviceId':" not found in "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs)." 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:773: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_telemetry_get _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_Network_settings_workflow_manager_network_exception_telemetry_get(self): 1777s """ 1777s Test case for site workflow manager when creating a site. 1777s 1777s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_config_network 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Exception occurred while getting telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1777s ) 1777s E AssertionError: "Exception occurred while getting telemet[78 chars]7): " != 'Exception occurred while getting telemet[55 chars]a7: ' 1777s E - Exception occurred while getting telemetry settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s E ? ---------------------- - 1777s E + Exception occurred while getting telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1777s 1777s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:729: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "Exception occurred while getting telemetry settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s CRITICAL logger:dnac.py:294 NetworkSettings: get_telemetry_settings_for_site: 1200: Exception occurred while getting telemetry settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_timezone_get _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_Network_settings_workflow_manager_network_exception_timezone_get(self): 1777s """ 1777s Test case for site workflow manager when creating a site. 1777s 1777s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_config_network 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Exception occurred while getting time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1777s ) 1777s E AssertionError: "Exception occurred while getting time zo[78 chars]7): " != 'Exception occurred while getting time zo[55 chars]a7: ' 1777s E - Exception occurred while getting time zone settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s E ? ---------------------- - 1777s E + Exception occurred while getting time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1777s 1777s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:804: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "Exception occurred while getting time zone settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s CRITICAL logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1278: Exception occurred while getting time zone settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1777s ________ TestNetworkCompliance.test_sync_device_config_iplist_failure_2 ________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_sync_device_config_iplist_failure_2(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_sync_device_config_iplist") 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s > self.assertIn( 1777s "Error occurred while retrieving 'get_task_tree' for Task Sync Device Configuration with task id", 1777s result.get('msg') 1777s ) 1777s E AssertionError: "Error occurred while retrieving 'get_task_tree' for Task Sync Device Configuration with task id" not found in "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs)." 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:794: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1001: {'response': {'taskId': 'ce5e3f8d-9ac7-4215-9b83-fac7228c9e63', 'url': '/api/v1/task/ce5e3f8d-9ac7-4215-9b83-fac7228c9e63'}, 'version': '1.0'} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: 'str' object has no attribute 'get' 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1777s __________ TestNetworkCompliance.test_sync_device_config_iplist_site ___________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_sync_device_config_iplist_site(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_sync_device_config_iplist_site") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:497: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: Global, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=Global 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'additionalInfo': [], 'name': 'Global', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteNameHierarchy': 'Global'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'site': {'response': [{'parentId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'Tokyo, Japan', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7/c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower/Ansible_Floor', 'name': 'Ansible_Floor', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66'}, {'parentId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'Location', 'attributes': {'country': 'Japan', 'address': 'Tokyo, Japan', 'latitude': '35.6764', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'building', 'longitude': '139.65'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower', 'name': 'Ansible_Tower', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7'}, {'parentId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupNameHierarchy': 'Global/India/Bangalore', 'name': 'Bangalore', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be', 'groupNameHierarchy': 'Global/USA/BayAreaGuest', 'name': 'BayAreaGuest', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16244588-f6da-4ef7-b329-87eed13902be'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupNameHierarchy': 'Global/USA/BERKELEY', 'name': 'BERKELEY', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'a83421d0-cfe5-4318-85ee-a991d2cdd748'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.85992111421487', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'building', 'longitude': '-78.8829258991226'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupNameHierarchy': 'Global/USA/RTP/BLD10', 'name': 'BLD10', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR1', 'name': 'BLD10_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR2', 'name': 'BLD10_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/67966786-b701-4099-8e1a-4191534f36d2', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR3', 'name': 'BLD10_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '67966786-b701-4099-8e1a-4191534f36d2'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.86059627310624', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'building', 'longitude': '-78.88105620286412'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupNameHierarchy': 'Global/USA/RTP/BLD11', 'name': 'BLD11', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '89b128e0-3217-4f63-bf99-b202ec7c0103'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR1', 'name': 'BLD11_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16b5e550-d288-4e11-94a6-baaa8e3d9c08'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR2', 'name': 'BLD11_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR3', 'name': 'BLD11_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.8611847591779', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'building', 'longitude': '-78.88217248318003'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupNameHierarchy': 'Global/USA/RTP/BLD12', 'name': 'BLD12', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4996f8ef-8933-412e-b58b-2238ba860ec7'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/d44f3eca-a3dc-4ed1-a020-0ded43c78056', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR1', 'name': 'BLD12_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR2', 'name': 'BLD12_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/ea574cd8-fa45-48ab-9944-83ed33537416', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR3', 'name': 'BLD12_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ea574cd8-fa45-48ab-9944-83ed33537416'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20', 'name': 'BLD20', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ed089cbf-3622-492f-bf60-5baf6d0b3708'}, {'parentId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': '725 Alder Drive, Milpitas, California 95035, United States', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708/47a127ae-92bd-49ec-aed0-aec8e2a31678', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20/BLD20_FLOOR1', 'name': 'BLD20_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '47a127ae-92bd-49ec-aed0-aec8e2a31678'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/BLD20_FLOOR2', 'name': 'BLD20_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '5', 'hasChild': 'TRUE', 'group.count.direct': '5', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23', 'name': 'BLD23', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '36d3230c-c6ce-44ae-8901-3b4a624883e6'}, {'parentId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748/8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'groupNameHierarchy': 'Global/USA/BERKELEY/BLDBERK', 'name': 'BLDBERK', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d'}, {'parentId': '16244588-f6da-4ef7-b329-87eed13902be', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'type': 'building', 'longitude': '-121.916327'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be/fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'groupNameHierarchy': 'Global/USA/BayAreaGuest/BLD_GB', 'name': 'BLD_GB', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7'}, {'parentId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '1'}}, {'nameSpace': 'ETA', 'attributes': {'member.compatibleWithNaasOnly.direct': '0', 'member.etaCapable.direct': '1', 'member.etaReady.direct': '1', 'member.etaEnabledNaasOnly.direct': '0', 'ETAReady': 'true', 'member.etaNotReady.direct': '0', 'member.etaReadyNotEnabled.direct': '1', 'member.etaEnabled.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC', 'name': 'BLDNYC', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '274da223-2411-4689-8f70-b5bbd8915020'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/b497a0ab-3ab4-42fd-8921-2f45af587b98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF', 'name': 'BLD_SF', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'b497a0ab-3ab4-42fd-8921-2f45af587b98'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'type': 'building', 'longitude': '-121.912974'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF1', 'name': 'BLD_SF1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupNameHierarchy': 'Global/Chennai', 'name': 'Chennai', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}, {'parentId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'latitude': '37.338', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'building', 'longitude': '-121.832'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupNameHierarchy': 'Global/USA/Georgia/cisco', 'name': 'cisco', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'anchorWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'tertiaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'primaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/94f61603-5f1f-4b26-85dd-59355cd67632', 'groupNameHierarchy': 'Global/Demo4', 'name': 'Demo4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '94f61603-5f1f-4b26-85dd-59355cd67632'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'anchorWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'tertiaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'primaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/633a40de-b885-448c-bd84-dd1fef679fbe', 'groupNameHierarchy': 'Global/Demo5', 'name': 'Demo5', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '633a40de-b885-448c-bd84-dd1fef679fbe'}, {'parentId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '200.0', 'length': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '0.0', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'floor', 'longitude': '0.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763/e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square/floor1', 'name': 'floor1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '17301034-7715-4363-952f-3d290ea6ca59', 'primaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '2', 'member.count.direct': '2'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/17301034-7715-4363-952f-3d290ea6ca59', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR1', 'name': 'FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '17301034-7715-4363-952f-3d290ea6ca59'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL1', 'name': 'FLOOR1_LEVEL1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/c45259ff-0612-4fe7-907c-5987877892d9', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL2', 'name': 'FLOOR1_LEVEL2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c45259ff-0612-4fe7-907c-5987877892d9'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/eb935311-f082-416e-a13c-08acdc6219c0', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL3', 'name': 'FLOOR1_LEVEL3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eb935311-f082-416e-a13c-08acdc6219c0'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/78b8a15c-c112-4941-b00b-ceda2edb38f2', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL4', 'name': 'FLOOR1_LEVEL4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '78b8a15c-c112-4941-b00b-ceda2edb38f2'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '212be018-cfb6-4041-9caa-d344385848b7', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'secondaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/212be018-cfb6-4041-9caa-d344385848b7', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR2', 'name': 'FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '212be018-cfb6-4041-9caa-d344385848b7'}, {'parentId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7/5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'groupNameHierarchy': 'Global/USA/Georgia/cisco/Floor_test', 'name': 'Floor_test', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupNameHierarchy': 'Global/USA/Georgia', 'name': 'Georgia', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupNameHierarchy': 'Global/India', 'name': 'India', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c', 'groupNameHierarchy': 'Global/Japan', 'name': 'Japan', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80143381-187c-48fa-a356-15389aad4e9c'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Bengaluru, Karnataka, India', 'latitude': '25.2', 'addressInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'type': 'building', 'longitude': '42.1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'anchorWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'tertiaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'primaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/d0484233-604a-4972-b010-42a0d44fe3d6', 'groupNameHierarchy': 'Global/JJJ', 'name': 'JJJ', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd0484233-604a-4972-b010-42a0d44fe3d6'}, {'parentId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '12.969910', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'building', 'longitude': '77.597960'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square', 'name': 'Mantri Square', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '4', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupNameHierarchy': 'Global/USA/New York', 'name': 'New York', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '21cc7dad-8c9e-4637-8f24-22ec417b9811'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '12', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupNameHierarchy': 'Global/USA/RTP', 'name': 'RTP', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3fbfb158-a429-41b3-a220-6a6286f93d16'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/7002e28c-a309-454b-ac5d-a6a99d64bc20', 'groupNameHierarchy': 'Global/USA/Sample', 'name': 'Sample', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7002e28c-a309-454b-ac5d-a6a99d64bc20'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO', 'name': 'SAN-FRANCISCO', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '8', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupNameHierarchy': 'Global/USA/SAN JOSE', 'name': 'SAN JOSE', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '58.1', 'length': '103.23', 'height': '58.22'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '0.0', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor', 'longitude': '0.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/398f4d42-d265-4233-8ec3-5e4ba73c9956', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/Test_Floor3', 'name': 'Test_Floor3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '398f4d42-d265-4233-8ec3-5e4ba73c9956'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'latitude': '12', 'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'building', 'longitude': '80'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/0e238b6e-e390-4dae-8932-49ceb3376304', 'groupNameHierarchy': 'Global/Chennai/Tidel', 'name': 'Tidel', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0e238b6e-e390-4dae-8932-49ceb3376304'}, {'parentId': '80143381-187c-48fa-a356-15389aad4e9c', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupNameHierarchy': 'Global/Japan/Tokyo', 'name': 'Tokyo', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '9674054e-fd9e-49ed-8084-1ce9131d6781'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Cognizant Technology Solutions, Chennai, Tamil Nadu 600113, India', 'latitude': '12.9908', 'addressInheritedFrom': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'type': 'building', 'longitude': '80.2470'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/05d2d29c-3c23-478e-88ee-7ec60398634f', 'groupNameHierarchy': 'Global/Chennai/Trill', 'name': 'Trill', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '05d2d29c-3c23-478e-88ee-7ec60398634f'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '38', 'hasChild': 'TRUE', 'group.count.direct': '8', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupNameHierarchy': 'Global/USA', 'name': 'USA', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '69f31d51-9e0d-48f4-8546-4935253f9a67'}], 'version': '1.0'}, 'device': [{'response': [{'instanceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:32:55', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.1', 'family': 'Switches and Hubs', 'hostname': 'DC-FR-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324455437, 'lastUpdated': '2024-07-18 17:40:55', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'd4:ad:bd:c1:67:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.1', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 3. 40', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-24U', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2327U0S2', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:08:19.76', 'uptimeSeconds': 4552059, 'vendor': 'Cisco'}, {'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:34:15', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'In Progress', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.0', 'family': 'Switches and Hubs', 'hostname': 'DC-T-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 19:00:21', 'lastUpdateTime': 1721323875769, 'lastUpdated': '2024-07-18 17:31:15', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '00:b6:70:32:b8:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.0', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 5', 'pendingSyncRequestsCount': '1', 'platformId': 'C9300-24P', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': 'Periodic', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FCW2225C020', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 14:57:41.19', 'uptimeSeconds': 4551979, 'vendor': 'Cisco'}, {'instanceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-28 00:14:36', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.2', 'family': 'Switches and Hubs', 'hostname': 'NY-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324496374, 'lastUpdated': '2024-07-18 17:41:36', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:07:59:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.2', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC271924K0, FJC271924EQ', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.12.2', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 17:27:00.06', 'uptimeSeconds': 4473958, 'vendor': 'Cisco'}, {'instanceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 22:21:03', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.3', 'family': 'Switches and Hubs', 'hostname': 'NY-BN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324523813, 'lastUpdated': '2024-07-18 17:42:03', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '0c:75:bd:41:14:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.3', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 4', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'DISTRIBUTION', 'roleSource': 'AUTO', 'serialNumber': 'FJB2334D06N, FJC2335S09D', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 19:21:44.15', 'uptimeSeconds': 4480771, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}, {'response': [], 'version': '1.0', 'siteId': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16244588-f6da-4ef7-b329-87eed13902be', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '67966786-b701-4099-8e1a-4191534f36d2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ea574cd8-fa45-48ab-9944-83ed33537416', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '47a127ae-92bd-49ec-aed0-aec8e2a31678', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:35:07', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.4', 'family': 'Switches and Hubs', 'hostname': 'SJ-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324467241, 'lastUpdated': '2024-07-18 17:41:07', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:8e:42:80', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.4', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 1', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48T', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2721271T', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:06:55.77', 'uptimeSeconds': 4551928, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '274da223-2411-4689-8f70-b5bbd8915020'}, {'response': [], 'version': '1.0', 'siteId': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '94f61603-5f1f-4b26-85dd-59355cd67632', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '633a40de-b885-448c-bd84-dd1fef679fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': '37b05b0f-1b1e-496a-b101-8f277f0af8ff', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 2, 'apEthernetMacAddress': '34:5d:a8:0e:20:b4', 'apManagerInterfaceIp': '192.168.0.5', 'associatedWlcIp': '192.168.0.5', 'collectionInterval': 'NA', 'collectionStatus': 'Managed', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '', 'errorCode': 'null', 'family': 'Unified AP', 'hostname': 'LTTS-test1', 'interfaceCount': '0', 'inventoryStatusDetail': 'NA', 'lastDeviceResyncStartTime': '', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:e9:5e:03:f3:40', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.5', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1.216. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9130AXE-B', 'reachabilityFailureReason': 'NA', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': '', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC27181V9V', 'series': 'Cisco Catalyst 9130AXE Series Unified Access Points', 'snmpContact': '', 'snmpLocation': 'LTTS/Cisco/Chennai', 'softwareVersion': '17.14.0.79', 'tagCount': '0', 'type': 'Cisco Catalyst 9130AXE Unified Access Point', 'upTime': '3 days, 01:57:12.330', 'uptimeSeconds': 268009, 'vendor': 'NA'}, {'instanceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-26 21:53:58', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.6', 'family': 'Wireless Controller', 'hostname': 'NY-EWLC-1.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 18:30:26', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'cc:b6:c8:e2:29:0b', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.6', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 6.200', 'pendingSyncRequestsCount': '0', 'platformId': 'C9800-40-K9', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FOX2639PAY7', 'series': 'Cisco Catalyst 9800 Series Wireless Controllers', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9800-40 Wireless Controller', 'upTime': '52 days, 20:37:58.64', 'uptimeSeconds': 4568797, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '17301034-7715-4363-952f-3d290ea6ca59'}, {'response': [], 'version': '1.0', 'siteId': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'c45259ff-0612-4fe7-907c-5987877892d9', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eb935311-f082-416e-a13c-08acdc6219c0', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '78b8a15c-c112-4941-b00b-ceda2edb38f2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '212be018-cfb6-4041-9caa-d344385848b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80143381-187c-48fa-a356-15389aad4e9c', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7002e28c-a309-454b-ac5d-a6a99d64bc20', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '398f4d42-d265-4233-8ec3-5e4ba73c9956', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0e238b6e-e390-4dae-8932-49ceb3376304', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'message': 'Site does not have device member with given device family or serial number as input'}]} 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 724: Exiting the loop because no devices were returned after increasing the offset. Current offset: 501 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_site from Family: sites with Parameters: {'name': 'Global'}. 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_site' from Family: 'sites' is Response: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_site_id: 845: Site details retrieved for site 'Global'': {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 759: Initiating retrieval of device details for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 703: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 660: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_membership from Family: sites with Parameters: {'site_id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}. 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_membership' from Family: 'sites' is Response: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 688: No devices found for site 'Global' with site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs). 1777s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_aaa _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_Network_settings_workflow_manager_network_exception_update_aaa(self): 1777s """ 1777s Test case for site workflow manager when creating a site. 1777s 1777s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_update_network 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Exception occurred while updating AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1777s ) 1777s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating AAA se[50 chars]a7: ' 1777s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1777s E + Exception occurred while updating AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1777s 1777s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:654: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1777s _________ TestNetworkCompliance.test_sync_device_config_iplist_site_nr _________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_sync_device_config_iplist_site_nr(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_sync_device_config_iplist_site_nr") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=False, failed=False) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:518: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1777s self.fail_and_exit(self.msg) 1777s plugins/module_utils/dnac.py:1787: in fail_and_exit 1777s self.check_return_status() 1777s plugins/module_utils/dnac.py:307: in check_return_status 1777s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def fail_json(*args, **kwargs): 1777s kwargs["failed"] = True 1777s > raise AnsibleFailJson(kwargs) 1777s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'failed': True} 1777s 1777s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1777s ----------------------------- Captured stdout call ----------------------------- 1777s Inside load_fixtures 1777s Mock for DNACSDK._exec: 1777s Inside load_fixtures 1777s ------------------------------ Captured log call ------------------------------- 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: Global, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global' 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=Global 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0'] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'additionalInfo': [], 'name': 'Global', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteNameHierarchy': 'Global'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'site': {'response': [{'parentId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'Tokyo, Japan', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7/c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower/Ansible_Floor', 'name': 'Ansible_Floor', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66'}, {'parentId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'Location', 'attributes': {'country': 'Japan', 'address': 'Tokyo, Japan', 'latitude': '35.6764', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'building', 'longitude': '139.65'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower', 'name': 'Ansible_Tower', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7'}, {'parentId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupNameHierarchy': 'Global/India/Bangalore', 'name': 'Bangalore', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be', 'groupNameHierarchy': 'Global/USA/BayAreaGuest', 'name': 'BayAreaGuest', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16244588-f6da-4ef7-b329-87eed13902be'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupNameHierarchy': 'Global/USA/BERKELEY', 'name': 'BERKELEY', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'a83421d0-cfe5-4318-85ee-a991d2cdd748'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.85992111421487', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'building', 'longitude': '-78.8829258991226'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupNameHierarchy': 'Global/USA/RTP/BLD10', 'name': 'BLD10', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR1', 'name': 'BLD10_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR2', 'name': 'BLD10_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/67966786-b701-4099-8e1a-4191534f36d2', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR3', 'name': 'BLD10_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '67966786-b701-4099-8e1a-4191534f36d2'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.86059627310624', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'building', 'longitude': '-78.88105620286412'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupNameHierarchy': 'Global/USA/RTP/BLD11', 'name': 'BLD11', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '89b128e0-3217-4f63-bf99-b202ec7c0103'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR1', 'name': 'BLD11_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16b5e550-d288-4e11-94a6-baaa8e3d9c08'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR2', 'name': 'BLD11_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR3', 'name': 'BLD11_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.8611847591779', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'building', 'longitude': '-78.88217248318003'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupNameHierarchy': 'Global/USA/RTP/BLD12', 'name': 'BLD12', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4996f8ef-8933-412e-b58b-2238ba860ec7'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/d44f3eca-a3dc-4ed1-a020-0ded43c78056', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR1', 'name': 'BLD12_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR2', 'name': 'BLD12_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/ea574cd8-fa45-48ab-9944-83ed33537416', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR3', 'name': 'BLD12_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ea574cd8-fa45-48ab-9944-83ed33537416'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20', 'name': 'BLD20', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ed089cbf-3622-492f-bf60-5baf6d0b3708'}, {'parentId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': '725 Alder Drive, Milpitas, California 95035, United States', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708/47a127ae-92bd-49ec-aed0-aec8e2a31678', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20/BLD20_FLOOR1', 'name': 'BLD20_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '47a127ae-92bd-49ec-aed0-aec8e2a31678'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/BLD20_FLOOR2', 'name': 'BLD20_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '5', 'hasChild': 'TRUE', 'group.count.direct': '5', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23', 'name': 'BLD23', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '36d3230c-c6ce-44ae-8901-3b4a624883e6'}, {'parentId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748/8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'groupNameHierarchy': 'Global/USA/BERKELEY/BLDBERK', 'name': 'BLDBERK', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d'}, {'parentId': '16244588-f6da-4ef7-b329-87eed13902be', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'type': 'building', 'longitude': '-121.916327'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be/fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'groupNameHierarchy': 'Global/USA/BayAreaGuest/BLD_GB', 'name': 'BLD_GB', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7'}, {'parentId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '1'}}, {'nameSpace': 'ETA', 'attributes': {'member.compatibleWithNaasOnly.direct': '0', 'member.etaCapable.direct': '1', 'member.etaReady.direct': '1', 'member.etaEnabledNaasOnly.direct': '0', 'ETAReady': 'true', 'member.etaNotReady.direct': '0', 'member.etaReadyNotEnabled.direct': '1', 'member.etaEnabled.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC', 'name': 'BLDNYC', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '274da223-2411-4689-8f70-b5bbd8915020'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/b497a0ab-3ab4-42fd-8921-2f45af587b98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF', 'name': 'BLD_SF', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'b497a0ab-3ab4-42fd-8921-2f45af587b98'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'type': 'building', 'longitude': '-121.912974'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF1', 'name': 'BLD_SF1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupNameHierarchy': 'Global/Chennai', 'name': 'Chennai', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}, {'parentId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'latitude': '37.338', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'building', 'longitude': '-121.832'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupNameHierarchy': 'Global/USA/Georgia/cisco', 'name': 'cisco', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'anchorWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'tertiaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'primaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/94f61603-5f1f-4b26-85dd-59355cd67632', 'groupNameHierarchy': 'Global/Demo4', 'name': 'Demo4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '94f61603-5f1f-4b26-85dd-59355cd67632'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'anchorWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'tertiaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'primaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/633a40de-b885-448c-bd84-dd1fef679fbe', 'groupNameHierarchy': 'Global/Demo5', 'name': 'Demo5', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '633a40de-b885-448c-bd84-dd1fef679fbe'}, {'parentId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '200.0', 'length': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '0.0', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'floor', 'longitude': '0.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763/e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square/floor1', 'name': 'floor1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '17301034-7715-4363-952f-3d290ea6ca59', 'primaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '2', 'member.count.direct': '2'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/17301034-7715-4363-952f-3d290ea6ca59', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR1', 'name': 'FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '17301034-7715-4363-952f-3d290ea6ca59'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL1', 'name': 'FLOOR1_LEVEL1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/c45259ff-0612-4fe7-907c-5987877892d9', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL2', 'name': 'FLOOR1_LEVEL2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c45259ff-0612-4fe7-907c-5987877892d9'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/eb935311-f082-416e-a13c-08acdc6219c0', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL3', 'name': 'FLOOR1_LEVEL3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eb935311-f082-416e-a13c-08acdc6219c0'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/78b8a15c-c112-4941-b00b-ceda2edb38f2', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL4', 'name': 'FLOOR1_LEVEL4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '78b8a15c-c112-4941-b00b-ceda2edb38f2'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '212be018-cfb6-4041-9caa-d344385848b7', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'secondaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/212be018-cfb6-4041-9caa-d344385848b7', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR2', 'name': 'FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '212be018-cfb6-4041-9caa-d344385848b7'}, {'parentId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7/5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'groupNameHierarchy': 'Global/USA/Georgia/cisco/Floor_test', 'name': 'Floor_test', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupNameHierarchy': 'Global/USA/Georgia', 'name': 'Georgia', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupNameHierarchy': 'Global/India', 'name': 'India', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c', 'groupNameHierarchy': 'Global/Japan', 'name': 'Japan', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80143381-187c-48fa-a356-15389aad4e9c'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Bengaluru, Karnataka, India', 'latitude': '25.2', 'addressInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'type': 'building', 'longitude': '42.1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'anchorWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'tertiaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'primaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/d0484233-604a-4972-b010-42a0d44fe3d6', 'groupNameHierarchy': 'Global/JJJ', 'name': 'JJJ', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd0484233-604a-4972-b010-42a0d44fe3d6'}, {'parentId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '12.969910', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'building', 'longitude': '77.597960'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square', 'name': 'Mantri Square', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '4', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupNameHierarchy': 'Global/USA/New York', 'name': 'New York', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '21cc7dad-8c9e-4637-8f24-22ec417b9811'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '12', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupNameHierarchy': 'Global/USA/RTP', 'name': 'RTP', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3fbfb158-a429-41b3-a220-6a6286f93d16'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/7002e28c-a309-454b-ac5d-a6a99d64bc20', 'groupNameHierarchy': 'Global/USA/Sample', 'name': 'Sample', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7002e28c-a309-454b-ac5d-a6a99d64bc20'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO', 'name': 'SAN-FRANCISCO', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '8', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupNameHierarchy': 'Global/USA/SAN JOSE', 'name': 'SAN JOSE', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '58.1', 'length': '103.23', 'height': '58.22'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '0.0', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor', 'longitude': '0.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/398f4d42-d265-4233-8ec3-5e4ba73c9956', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/Test_Floor3', 'name': 'Test_Floor3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '398f4d42-d265-4233-8ec3-5e4ba73c9956'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'latitude': '12', 'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'building', 'longitude': '80'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/0e238b6e-e390-4dae-8932-49ceb3376304', 'groupNameHierarchy': 'Global/Chennai/Tidel', 'name': 'Tidel', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0e238b6e-e390-4dae-8932-49ceb3376304'}, {'parentId': '80143381-187c-48fa-a356-15389aad4e9c', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupNameHierarchy': 'Global/Japan/Tokyo', 'name': 'Tokyo', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '9674054e-fd9e-49ed-8084-1ce9131d6781'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Cognizant Technology Solutions, Chennai, Tamil Nadu 600113, India', 'latitude': '12.9908', 'addressInheritedFrom': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'type': 'building', 'longitude': '80.2470'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/05d2d29c-3c23-478e-88ee-7ec60398634f', 'groupNameHierarchy': 'Global/Chennai/Trill', 'name': 'Trill', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '05d2d29c-3c23-478e-88ee-7ec60398634f'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '38', 'hasChild': 'TRUE', 'group.count.direct': '8', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupNameHierarchy': 'Global/USA', 'name': 'USA', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '69f31d51-9e0d-48f4-8546-4935253f9a67'}], 'version': '1.0'}, 'device': [{'response': [{'instanceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:32:55', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.1', 'family': 'Switches and Hubs', 'hostname': 'DC-FR-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324455437, 'lastUpdated': '2024-07-18 17:40:55', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'd4:ad:bd:c1:67:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.1', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 3. 40', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-24U', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2327U0S2', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:08:19.76', 'uptimeSeconds': 4552059, 'vendor': 'Cisco'}, {'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:34:15', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'In Progress', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.0', 'family': 'Switches and Hubs', 'hostname': 'DC-T-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 19:00:21', 'lastUpdateTime': 1721323875769, 'lastUpdated': '2024-07-18 17:31:15', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '00:b6:70:32:b8:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.0', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 5', 'pendingSyncRequestsCount': '1', 'platformId': 'C9300-24P', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': 'Periodic', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FCW2225C020', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 14:57:41.19', 'uptimeSeconds': 4551979, 'vendor': 'Cisco'}, {'instanceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-28 00:14:36', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.2', 'family': 'Switches and Hubs', 'hostname': 'NY-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324496374, 'lastUpdated': '2024-07-18 17:41:36', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:07:59:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.2', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC271924K0, FJC271924EQ', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.12.2', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 17:27:00.06', 'uptimeSeconds': 4473958, 'vendor': 'Cisco'}, {'instanceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 22:21:03', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.3', 'family': 'Switches and Hubs', 'hostname': 'NY-BN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324523813, 'lastUpdated': '2024-07-18 17:42:03', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '0c:75:bd:41:14:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.3', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 4', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'DISTRIBUTION', 'roleSource': 'AUTO', 'serialNumber': 'FJB2334D06N, FJC2335S09D', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 19:21:44.15', 'uptimeSeconds': 4480771, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}, {'response': [], 'version': '1.0', 'siteId': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16244588-f6da-4ef7-b329-87eed13902be', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '67966786-b701-4099-8e1a-4191534f36d2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ea574cd8-fa45-48ab-9944-83ed33537416', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '47a127ae-92bd-49ec-aed0-aec8e2a31678', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:35:07', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.4', 'family': 'Switches and Hubs', 'hostname': 'SJ-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324467241, 'lastUpdated': '2024-07-18 17:41:07', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:8e:42:80', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.4', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 1', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48T', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2721271T', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:06:55.77', 'uptimeSeconds': 4551928, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '274da223-2411-4689-8f70-b5bbd8915020'}, {'response': [], 'version': '1.0', 'siteId': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '94f61603-5f1f-4b26-85dd-59355cd67632', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '633a40de-b885-448c-bd84-dd1fef679fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': '37b05b0f-1b1e-496a-b101-8f277f0af8ff', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 2, 'apEthernetMacAddress': '34:5d:a8:0e:20:b4', 'apManagerInterfaceIp': '192.168.0.5', 'associatedWlcIp': '192.168.0.5', 'collectionInterval': 'NA', 'collectionStatus': 'Managed', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '', 'errorCode': 'null', 'family': 'Unified AP', 'hostname': 'LTTS-test1', 'interfaceCount': '0', 'inventoryStatusDetail': 'NA', 'lastDeviceResyncStartTime': '', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:e9:5e:03:f3:40', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.5', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1.216. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9130AXE-B', 'reachabilityFailureReason': 'NA', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': '', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC27181V9V', 'series': 'Cisco Catalyst 9130AXE Series Unified Access Points', 'snmpContact': '', 'snmpLocation': 'LTTS/Cisco/Chennai', 'softwareVersion': '17.14.0.79', 'tagCount': '0', 'type': 'Cisco Catalyst 9130AXE Unified Access Point', 'upTime': '3 days, 01:57:12.330', 'uptimeSeconds': 268009, 'vendor': 'NA'}, {'instanceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-26 21:53:58', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.6', 'family': 'Wireless Controller', 'hostname': 'NY-EWLC-1.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 18:30:26', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'cc:b6:c8:e2:29:0b', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.6', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 6.200', 'pendingSyncRequestsCount': '0', 'platformId': 'C9800-40-K9', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FOX2639PAY7', 'series': 'Cisco Catalyst 9800 Series Wireless Controllers', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9800-40 Wireless Controller', 'upTime': '52 days, 20:37:58.64', 'uptimeSeconds': 4568797, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '17301034-7715-4363-952f-3d290ea6ca59'}, {'response': [], 'version': '1.0', 'siteId': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'c45259ff-0612-4fe7-907c-5987877892d9', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eb935311-f082-416e-a13c-08acdc6219c0', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '78b8a15c-c112-4941-b00b-ceda2edb38f2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '212be018-cfb6-4041-9caa-d344385848b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80143381-187c-48fa-a356-15389aad4e9c', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7002e28c-a309-454b-ac5d-a6a99d64bc20', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '398f4d42-d265-4233-8ec3-5e4ba73c9956', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0e238b6e-e390-4dae-8932-49ceb3376304', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'message': 'Site does not have device member with given device family or serial number as input'}]} 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 724: Exiting the loop because no devices were returned after increasing the offset. Current offset: 501 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_site from Family: sites with Parameters: {'name': 'Global'}. 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_site' from Family: 'sites' is Response: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_site_id: 845: Site details retrieved for site 'Global'': {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]} 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 759: Initiating retrieval of device details for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 703: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 660: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_membership from Family: sites with Parameters: {'site_id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}. 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_membership' from Family: 'sites' is Response: {'response': [{'deviceUuid': '392ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'} 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1777s 1777s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 688: No devices found for site 'Global' with site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1777s 1777s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b 1777s 1777s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs). 1777s 1777s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs). 1777s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_banner _ 1777s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_Network_settings_workflow_manager_network_exception_update_banner(self): 1777s """ 1777s Test case for site workflow manager when creating a site. 1777s 1777s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1777s """ 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_version="2.3.7.6", 1777s state="merged", 1777s config_verify=True, 1777s config=self.playbook_update_network 1777s ) 1777s ) 1777s result = self.execute_module(changed=False, failed=True) 1777s print(result) 1777s > self.assertEqual( 1777s result.get('msg'), 1777s "Exception occurred while updating banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1777s ) 1777s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating banner[53 chars]a7: ' 1777s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1777s E + Exception occurred while updating banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1777s 1777s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:629: AssertionError 1777s ----------------------------- Captured stdout call ----------------------------- 1777s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True} 1777s ------------------------------ Captured log call ------------------------------- 1777s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1777s 1777s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1777s ______________ TestNetworkCompliance.test_sync_device_config_site ______________ 1777s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1777s 1777s self = 1777s 1777s def test_sync_device_config_site(self): 1777s 1777s set_module_args( 1777s dict( 1777s dnac_host="1.1.1.1", 1777s dnac_username="dummy", 1777s dnac_password="dummy", 1777s dnac_log=True, 1777s dnac_log_level="DEBUG", 1777s dnac_log_append=False, 1777s state="merged", 1777s config=self.test_data.get("playbook_config_sync_device_config_site") 1777s ) 1777s ) 1777s > result = self.execute_module(changed=True, failed=False) 1777s 1777s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:476: 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1777s result = self.changed(changed) 1777s tests/unit/modules/dnac/dnac_module.py:133: in changed 1777s self.module.main() 1777s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1777s ccc_network_compliance.get_want(config).check_return_status() 1777s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1777s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1777s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list 1777s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name) 1777s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1777s 1777s def get_reachable_devices_from_site(self, site_name): 1777s """ 1777s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site. 1777s Args: 1777s site_id (str): The ID of the site from which to retrieve device details. 1777s Returns: 1777s tuple: A tuple containing: 1777s - dict: A mapping of management IP addresses to instance IDs for reachable devices. 1777s - list: A list of management IP addresses of skipped devices. 1777s """ 1777s mgmt_ip_to_instance_id_map = {} 1777s skipped_devices_list = [] 1777s 1777s (site_exists, site_id) = self.get_site_id(site_name) 1777s if not site_exists: 1777s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name) 1777s self.fail_and_exit(self.msg) 1777s 1777s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO") 1777s 1777s # Retrieve the list of device details from the specified site 1777s device_details_list = self.get_device_details_from_site(site_name, site_id) 1777s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG") 1777s 1777s # Iterate through each device's details 1777s for device_info in device_details_list: 1777s > management_ip = device_info.get("managementIpAddress") 1778s E AttributeError: 'list' object has no attribute 'get' 1778s 1778s plugins/module_utils/dnac.py:767: AttributeError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s Inside load_fixtures 1778s Mock for DNACSDK._exec: 1778s Inside load_fixtures 1778s ------------------------------ Captured log call ------------------------------- 1778s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False} 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': None, 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': None, 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}] 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: None 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': None, 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: None, Site Name: Global, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': 'None' or 'site_name': 'Global' 1778s 1778s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True 1778s 1778s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': None, 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True} 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=None, site_name=Global 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_site from Family: sites with Parameters: {'name': 'Global'}. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_site' from Family: 'sites' is Response: {'response': [{'additionalInfo': [], 'name': 'Global', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteNameHierarchy': 'Global'}]} 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_site_id: 845: Site details retrieved for site 'Global'': {'response': [{'additionalInfo': [], 'name': 'Global', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteNameHierarchy': 'Global'}]} 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 759: Initiating retrieval of device details for site ID: '3cf15665-7b7b-4b29-82a9-75b8d094b602'. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 703: Initiating retrieval of device IDs for site ID: '3cf15665-7b7b-4b29-82a9-75b8d094b602'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 660: Initiating retrieval of device IDs for site ID: '3cf15665-7b7b-4b29-82a9-75b8d094b602'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_membership from Family: sites with Parameters: {'site_id': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_membership' from Family: 'sites' is Response: {'site': {'response': [{'parentId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'Tokyo, Japan', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7/c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower/Ansible_Floor', 'name': 'Ansible_Floor', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66'}, {'parentId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'Location', 'attributes': {'country': 'Japan', 'address': 'Tokyo, Japan', 'latitude': '35.6764', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'building', 'longitude': '139.65'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower', 'name': 'Ansible_Tower', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7'}, {'parentId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupNameHierarchy': 'Global/India/Bangalore', 'name': 'Bangalore', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be', 'groupNameHierarchy': 'Global/USA/BayAreaGuest', 'name': 'BayAreaGuest', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16244588-f6da-4ef7-b329-87eed13902be'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupNameHierarchy': 'Global/USA/BERKELEY', 'name': 'BERKELEY', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'a83421d0-cfe5-4318-85ee-a991d2cdd748'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.85992111421487', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'building', 'longitude': '-78.8829258991226'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupNameHierarchy': 'Global/USA/RTP/BLD10', 'name': 'BLD10', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR1', 'name': 'BLD10_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR2', 'name': 'BLD10_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/67966786-b701-4099-8e1a-4191534f36d2', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR3', 'name': 'BLD10_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '67966786-b701-4099-8e1a-4191534f36d2'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.86059627310624', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'building', 'longitude': '-78.88105620286412'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupNameHierarchy': 'Global/USA/RTP/BLD11', 'name': 'BLD11', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '89b128e0-3217-4f63-bf99-b202ec7c0103'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR1', 'name': 'BLD11_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16b5e550-d288-4e11-94a6-baaa8e3d9c08'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR2', 'name': 'BLD11_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR3', 'name': 'BLD11_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.8611847591779', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'building', 'longitude': '-78.88217248318003'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupNameHierarchy': 'Global/USA/RTP/BLD12', 'name': 'BLD12', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4996f8ef-8933-412e-b58b-2238ba860ec7'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/d44f3eca-a3dc-4ed1-a020-0ded43c78056', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR1', 'name': 'BLD12_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR2', 'name': 'BLD12_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/ea574cd8-fa45-48ab-9944-83ed33537416', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR3', 'name': 'BLD12_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ea574cd8-fa45-48ab-9944-83ed33537416'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20', 'name': 'BLD20', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ed089cbf-3622-492f-bf60-5baf6d0b3708'}, {'parentId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': '725 Alder Drive, Milpitas, California 95035, United States', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708/47a127ae-92bd-49ec-aed0-aec8e2a31678', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20/BLD20_FLOOR1', 'name': 'BLD20_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '47a127ae-92bd-49ec-aed0-aec8e2a31678'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/BLD20_FLOOR2', 'name': 'BLD20_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '5', 'hasChild': 'TRUE', 'group.count.direct': '5', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23', 'name': 'BLD23', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '36d3230c-c6ce-44ae-8901-3b4a624883e6'}, {'parentId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748/8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'groupNameHierarchy': 'Global/USA/BERKELEY/BLDBERK', 'name': 'BLDBERK', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d'}, {'parentId': '16244588-f6da-4ef7-b329-87eed13902be', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'type': 'building', 'longitude': '-121.916327'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be/fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'groupNameHierarchy': 'Global/USA/BayAreaGuest/BLD_GB', 'name': 'BLD_GB', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7'}, {'parentId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '1'}}, {'nameSpace': 'ETA', 'attributes': {'member.compatibleWithNaasOnly.direct': '0', 'member.etaCapable.direct': '1', 'member.etaReady.direct': '1', 'member.etaEnabledNaasOnly.direct': '0', 'ETAReady': 'true', 'member.etaNotReady.direct': '0', 'member.etaReadyNotEnabled.direct': '1', 'member.etaEnabled.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC', 'name': 'BLDNYC', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '274da223-2411-4689-8f70-b5bbd8915020'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/b497a0ab-3ab4-42fd-8921-2f45af587b98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF', 'name': 'BLD_SF', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'b497a0ab-3ab4-42fd-8921-2f45af587b98'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'type': 'building', 'longitude': '-121.912974'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF1', 'name': 'BLD_SF1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupNameHierarchy': 'Global/Chennai', 'name': 'Chennai', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}, {'parentId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'latitude': '37.338', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'building', 'longitude': '-121.832'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupNameHierarchy': 'Global/USA/Georgia/cisco', 'name': 'cisco', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'anchorWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'tertiaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'primaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/94f61603-5f1f-4b26-85dd-59355cd67632', 'groupNameHierarchy': 'Global/Demo4', 'name': 'Demo4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '94f61603-5f1f-4b26-85dd-59355cd67632'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'anchorWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'tertiaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'primaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/633a40de-b885-448c-bd84-dd1fef679fbe', 'groupNameHierarchy': 'Global/Demo5', 'name': 'Demo5', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '633a40de-b885-448c-bd84-dd1fef679fbe'}, {'parentId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '200.0', 'length': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '0.0', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'floor', 'longitude': '0.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763/e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square/floor1', 'name': 'floor1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '17301034-7715-4363-952f-3d290ea6ca59', 'primaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '2', 'member.count.direct': '2'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/17301034-7715-4363-952f-3d290ea6ca59', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR1', 'name': 'FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '17301034-7715-4363-952f-3d290ea6ca59'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL1', 'name': 'FLOOR1_LEVEL1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/c45259ff-0612-4fe7-907c-5987877892d9', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL2', 'name': 'FLOOR1_LEVEL2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c45259ff-0612-4fe7-907c-5987877892d9'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/eb935311-f082-416e-a13c-08acdc6219c0', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL3', 'name': 'FLOOR1_LEVEL3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eb935311-f082-416e-a13c-08acdc6219c0'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/78b8a15c-c112-4941-b00b-ceda2edb38f2', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL4', 'name': 'FLOOR1_LEVEL4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '78b8a15c-c112-4941-b00b-ceda2edb38f2'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '212be018-cfb6-4041-9caa-d344385848b7', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'secondaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/212be018-cfb6-4041-9caa-d344385848b7', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR2', 'name': 'FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '212be018-cfb6-4041-9caa-d344385848b7'}, {'parentId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7/5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'groupNameHierarchy': 'Global/USA/Georgia/cisco/Floor_test', 'name': 'Floor_test', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupNameHierarchy': 'Global/USA/Georgia', 'name': 'Georgia', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupNameHierarchy': 'Global/India', 'name': 'India', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c', 'groupNameHierarchy': 'Global/Japan', 'name': 'Japan', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80143381-187c-48fa-a356-15389aad4e9c'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Bengaluru, Karnataka, India', 'latitude': '25.2', 'addressInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'type': 'building', 'longitude': '42.1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'anchorWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'tertiaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'primaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/d0484233-604a-4972-b010-42a0d44fe3d6', 'groupNameHierarchy': 'Global/JJJ', 'name': 'JJJ', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd0484233-604a-4972-b010-42a0d44fe3d6'}, {'parentId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '12.969910', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'building', 'longitude': '77.597960'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square', 'name': 'Mantri Square', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '4', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupNameHierarchy': 'Global/USA/New York', 'name': 'New York', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '21cc7dad-8c9e-4637-8f24-22ec417b9811'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '12', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupNameHierarchy': 'Global/USA/RTP', 'name': 'RTP', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3fbfb158-a429-41b3-a220-6a6286f93d16'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/7002e28c-a309-454b-ac5d-a6a99d64bc20', 'groupNameHierarchy': 'Global/USA/Sample', 'name': 'Sample', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7002e28c-a309-454b-ac5d-a6a99d64bc20'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO', 'name': 'SAN-FRANCISCO', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '8', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupNameHierarchy': 'Global/USA/SAN JOSE', 'name': 'SAN JOSE', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '58.1', 'length': '103.23', 'height': '58.22'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '0.0', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor', 'longitude': '0.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/398f4d42-d265-4233-8ec3-5e4ba73c9956', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/Test_Floor3', 'name': 'Test_Floor3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '398f4d42-d265-4233-8ec3-5e4ba73c9956'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'latitude': '12', 'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'building', 'longitude': '80'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/0e238b6e-e390-4dae-8932-49ceb3376304', 'groupNameHierarchy': 'Global/Chennai/Tidel', 'name': 'Tidel', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0e238b6e-e390-4dae-8932-49ceb3376304'}, {'parentId': '80143381-187c-48fa-a356-15389aad4e9c', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupNameHierarchy': 'Global/Japan/Tokyo', 'name': 'Tokyo', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '9674054e-fd9e-49ed-8084-1ce9131d6781'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Cognizant Technology Solutions, Chennai, Tamil Nadu 600113, India', 'latitude': '12.9908', 'addressInheritedFrom': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'type': 'building', 'longitude': '80.2470'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/05d2d29c-3c23-478e-88ee-7ec60398634f', 'groupNameHierarchy': 'Global/Chennai/Trill', 'name': 'Trill', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '05d2d29c-3c23-478e-88ee-7ec60398634f'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '38', 'hasChild': 'TRUE', 'group.count.direct': '8', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupNameHierarchy': 'Global/USA', 'name': 'USA', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '69f31d51-9e0d-48f4-8546-4935253f9a67'}], 'version': '1.0'}, 'device': [{'response': [{'instanceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:32:55', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.1', 'family': 'Switches and Hubs', 'hostname': 'DC-FR-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324455437, 'lastUpdated': '2024-07-18 17:40:55', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'd4:ad:bd:c1:67:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.1', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 3. 40', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-24U', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2327U0S2', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:08:19.76', 'uptimeSeconds': 4552059, 'vendor': 'Cisco'}, {'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:34:15', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'In Progress', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.0', 'family': 'Switches and Hubs', 'hostname': 'DC-T-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 19:00:21', 'lastUpdateTime': 1721323875769, 'lastUpdated': '2024-07-18 17:31:15', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '00:b6:70:32:b8:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.0', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 5', 'pendingSyncRequestsCount': '1', 'platformId': 'C9300-24P', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': 'Periodic', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FCW2225C020', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 14:57:41.19', 'uptimeSeconds': 4551979, 'vendor': 'Cisco'}, {'instanceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-28 00:14:36', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.2', 'family': 'Switches and Hubs', 'hostname': 'NY-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324496374, 'lastUpdated': '2024-07-18 17:41:36', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:07:59:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.2', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC271924K0, FJC271924EQ', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.12.2', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 17:27:00.06', 'uptimeSeconds': 4473958, 'vendor': 'Cisco'}, {'instanceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 22:21:03', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.3', 'family': 'Switches and Hubs', 'hostname': 'NY-BN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324523813, 'lastUpdated': '2024-07-18 17:42:03', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '0c:75:bd:41:14:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.3', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 4', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'DISTRIBUTION', 'roleSource': 'AUTO', 'serialNumber': 'FJB2334D06N, FJC2335S09D', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 19:21:44.15', 'uptimeSeconds': 4480771, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}, {'response': [], 'version': '1.0', 'siteId': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16244588-f6da-4ef7-b329-87eed13902be', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '67966786-b701-4099-8e1a-4191534f36d2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ea574cd8-fa45-48ab-9944-83ed33537416', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '47a127ae-92bd-49ec-aed0-aec8e2a31678', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:35:07', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.4', 'family': 'Switches and Hubs', 'hostname': 'SJ-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324467241, 'lastUpdated': '2024-07-18 17:41:07', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:8e:42:80', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.4', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 1', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48T', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2721271T', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:06:55.77', 'uptimeSeconds': 4551928, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '274da223-2411-4689-8f70-b5bbd8915020'}, {'response': [], 'version': '1.0', 'siteId': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '94f61603-5f1f-4b26-85dd-59355cd67632', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '633a40de-b885-448c-bd84-dd1fef679fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': '37b05b0f-1b1e-496a-b101-8f277f0af8ff', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 2, 'apEthernetMacAddress': '34:5d:a8:0e:20:b4', 'apManagerInterfaceIp': '192.168.0.5', 'associatedWlcIp': '192.168.0.5', 'collectionInterval': 'NA', 'collectionStatus': 'Managed', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '', 'errorCode': 'null', 'family': 'Unified AP', 'hostname': 'LTTS-test1', 'interfaceCount': '0', 'inventoryStatusDetail': 'NA', 'lastDeviceResyncStartTime': '', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:e9:5e:03:f3:40', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.5', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1.216. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9130AXE-B', 'reachabilityFailureReason': 'NA', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': '', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC27181V9V', 'series': 'Cisco Catalyst 9130AXE Series Unified Access Points', 'snmpContact': '', 'snmpLocation': 'LTTS/Cisco/Chennai', 'softwareVersion': '17.14.0.79', 'tagCount': '0', 'type': 'Cisco Catalyst 9130AXE Unified Access Point', 'upTime': '3 days, 01:57:12.330', 'uptimeSeconds': 268009, 'vendor': 'NA'}, {'instanceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-26 21:53:58', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.6', 'family': 'Wireless Controller', 'hostname': 'NY-EWLC-1.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 18:30:26', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'cc:b6:c8:e2:29:0b', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.6', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 6.200', 'pendingSyncRequestsCount': '0', 'platformId': 'C9800-40-K9', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FOX2639PAY7', 'series': 'Cisco Catalyst 9800 Series Wireless Controllers', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9800-40 Wireless Controller', 'upTime': '52 days, 20:37:58.64', 'uptimeSeconds': 4568797, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '17301034-7715-4363-952f-3d290ea6ca59'}, {'response': [], 'version': '1.0', 'siteId': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'c45259ff-0612-4fe7-907c-5987877892d9', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eb935311-f082-416e-a13c-08acdc6219c0', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '78b8a15c-c112-4941-b00b-ceda2edb38f2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '212be018-cfb6-4041-9caa-d344385848b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80143381-187c-48fa-a356-15389aad4e9c', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7002e28c-a309-454b-ac5d-a6a99d64bc20', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '398f4d42-d265-4233-8ec3-5e4ba73c9956', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0e238b6e-e390-4dae-8932-49ceb3376304', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'message': 'Site does not have device member with given device family or serial number as input'}]} 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '3cf15665-7b7b-4b29-82a9-75b8d094b602': ['3bf3f269-88ae-48fc-910d-3263ba618f87', '92ffce88-9fce-41d2-ae69-086fa74e9c4b', '9db11f54-8007-438c-ba9b-711513deecc6', 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', '37b05b0f-1b1e-496a-b101-8f277f0af8ff', '778a27bb-d795-4fa3-a321-f2e693ebe1f4'] 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '3cf15665-7b7b-4b29-82a9-75b8d094b602': ['3bf3f269-88ae-48fc-910d-3263ba618f87', '92ffce88-9fce-41d2-ae69-086fa74e9c4b', '9db11f54-8007-438c-ba9b-711513deecc6', 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', '37b05b0f-1b1e-496a-b101-8f277f0af8ff', '778a27bb-d795-4fa3-a321-f2e693ebe1f4'] 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: '3bf3f269-88ae-48fc-910d-3263ba618f87'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': '3bf3f269-88ae-48fc-910d-3263ba618f87'}. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'} 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '3bf3f269-88ae-48fc-910d-3263ba618f87'. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721329211772, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87'} 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: '9db11f54-8007-438c-ba9b-711513deecc6'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': '9db11f54-8007-438c-ba9b-711513deecc6'}. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720725651251, 'lastUpdateTime': 1721329211782, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '9db11f54-8007-438c-ba9b-711513deecc6'} 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '9db11f54-8007-438c-ba9b-711513deecc6'. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: 'f490e92f-490e-4bb1-9519-770b1dc604c4'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': 'f490e92f-490e-4bb1-9519-770b1dc604c4'}. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720725651133, 'lastUpdateTime': 1721329211787, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4'} 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: 'f490e92f-490e-4bb1-9519-770b1dc604c4'. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38'}. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820501, 'lastUpdateTime': 1721329211781, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38'} 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38'. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: '37b05b0f-1b1e-496a-b101-8f277f0af8ff'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': '37b05b0f-1b1e-496a-b101-8f277f0af8ff'}. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720782060442, 'lastUpdateTime': 1721329211778, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'} 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '37b05b0f-1b1e-496a-b101-8f277f0af8ff'. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: '778a27bb-d795-4fa3-a321-f2e693ebe1f4'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}. 1778s 1778s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': {'taskId': 'ce5e3f8d-9ac7-4215-9b83-fac7228c9e63', 'url': '/api/v1/task/ce5e3f8d-9ac7-4215-9b83-fac7228c9e63'}, 'version': '1.0'} 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '778a27bb-d795-4fa3-a321-f2e693ebe1f4'. 1778s 1778s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '3cf15665-7b7b-4b29-82a9-75b8d094b602': [[{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], [{'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721329211772, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], [{'deviceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720725651251, 'lastUpdateTime': 1721329211782, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], [{'deviceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720725651133, 'lastUpdateTime': 1721329211787, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], [{'deviceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820501, 'lastUpdateTime': 1721329211781, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], [{'deviceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720782060442, 'lastUpdateTime': 1721329211778, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], {'taskId': 'ce5e3f8d-9ac7-4215-9b83-fac7228c9e63', 'url': '/api/v1/task/ce5e3f8d-9ac7-4215-9b83-fac7228c9e63'}] 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_Updation_not_req _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_global_pool_Updation_not_req(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_global_pool_updation 1778s ) 1778s ) 1778s result = self.execute_module(changed=True, failed=True) 1778s # print(result["response"][0].get("globalPool").get("msg")) 1778s # print(result) 1778s > self.assertEqual( 1778s result["response"][0].get("globalPool").get("msg"), 1778s {'Global_Pool2': "Global pool doesn't require an update", 'Global_Pool3': "Global pool doesn't require an update"} 1778s 1778s ) 1778s E AssertionError: {} != {'Global_Pool2': "Global pool doesn't requ[67 chars]ate"} 1778s E - {} 1778s E + {'Global_Pool2': "Global pool doesn't require an update", 1778s E + 'Global_Pool3': "Global pool doesn't require an update"} 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1003: AssertionError 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_dns _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_network_exception_update_dns(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s dnac_version="2.3.7.6", 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_update_network 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Exception occurred while updating DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1778s ) 1778s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating DNS se[50 chars]a7: ' 1778s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1778s E + Exception occurred while updating DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:604: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True} 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_creation _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_global_pool_creation(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_global_pool_creation 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:975: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/network_settings_workflow_manager.py:4301: in main 1778s ccc_network.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards. ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_deletion _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_global_pool_deletion(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="deleted", 1778s config_verify=True, 1778s config=self.playbook_config_global_pool_deletion 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1026: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/network_settings_workflow_manager.py:4301: in main 1778s ccc_network.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards. ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_ntp _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_network_exception_update_ntp(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s dnac_version="2.3.7.6", 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_update_network 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Exception occurred while updating NTP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1778s ) 1778s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating NTP se[50 chars]a7: ' 1778s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1778s E + Exception occurred while updating NTP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:554: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True} 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_timezone _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_network_exception_update_timezone(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s dnac_version="2.3.7.6", 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_update_network 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Exception occurred while updating time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1778s ) 1778s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating time z[56 chars]a7: ' 1778s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1778s E + Exception occurred while updating time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:579: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True} 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_telemetry _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_network_exception_update_telemetry(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s dnac_version="2.3.7.6", 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_config_network 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Exception occurred while updating telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1778s ) 1778s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating teleme[56 chars]a7: ' 1778s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1778s E + Exception occurred while updating telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:679: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True} 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1778s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_provision_device _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_provision_workflow_manager_playbook_provision_device(self): 1778s """ 1778s Test case for add device with full crendentials. 1778s 1778s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_provision_device 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_provision_workflow_manager.py:199: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/provision_workflow_manager.py:1809: in main 1778s ccc_provision.get_diff_state_apply[state]().check_return_status() 1778s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged 1778s self.provision_wired_device(to_provisioning, to_force_provisioning) 1778s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device 1778s device_id = self.get_device_id() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def get_device_id(self): 1778s """ 1778s Fetches the UUID of the device added in the inventory 1778s 1778s Parameters: 1778s - self: The instance of the class containing the 'config' attribute 1778s to be validated. 1778s Returns: 1778s The method returns the serial number of the device as a string. If it fails, it returns None. 1778s Example: 1778s After creating the validated input, this method retrieves the 1778s UUID of the device. 1778s """ 1778s 1778s dev_response = self.dnac_apply['exec']( 1778s family="devices", 1778s function='get_network_device_by_ip', 1778s params={"ip_address": self.validated_config["management_ip_address"]} 1778s ) 1778s 1778s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG") 1778s dev_dict = dev_response.get("response") 1778s > device_id = dev_dict.get("id") 1778s E AttributeError: 'list' object has no attribute 'get' 1778s 1778s plugins/modules/provision_workflow_manager.py:490: AttributeError 1778s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_wireless_provision _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_provision_workflow_manager_playbook_wireless_provision(self): 1778s """ 1778s Test case for add device with full crendentials. 1778s 1778s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s > config=self.playbook_wireless_provisionZ 1778s ) 1778s ) 1778s E AttributeError: 'TestDnacProvisionWorkflow' object has no attribute 'playbook_wireless_provisionZ'. Did you mean: 'playbook_wireless_provision'? 1778s 1778s tests/unit/modules/dnac/test_provision_workflow_manager.py:268: AttributeError 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_mandatory_aaa_param _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_network_mandatory_aaa_param(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s dnac_version="2.3.7.6", 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_config_aaa_req 1778s ) 1778s ) 1778s > result = self.execute_module(changed=False, failed=True) 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:902: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1778s result = self.failed() 1778s tests/unit/modules/dnac/dnac_module.py:125: in failed 1778s self.module.main() 1778s plugins/modules/network_settings_workflow_manager.py:4316: in main 1778s ccc_network.get_diff_state_apply[state](config).check_return_status() 1778s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged 1778s self.update_network(network_management).check_return_status() 1778s plugins/modules/network_settings_workflow_manager.py:3790: in update_network 1778s self.check_tasks_response_status(response, "set_aaa_settings_for_a_site").check_return_status() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def check_tasks_response_status(self, response, api_name): 1778s """ 1778s Get the task response status from taskId 1778s Args: 1778s self: The current object details. 1778s response (dict): API response. 1778s api_name (str): API name. 1778s Returns: 1778s self (object): The current object with updated desired Fabric Transits information. 1778s Description: 1778s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' 1778s state or till it reaches the maximum timeout. 1778s Log the task details and return self. 1778s """ 1778s 1778s if not response: 1778s self.msg = "response is empty" 1778s self.status = "exited" 1778s return self 1778s 1778s if not isinstance(response, dict): 1778s self.msg = "response is not a dictionary" 1778s self.status = "exited" 1778s return self 1778s 1778s task_info = response.get("response") 1778s > if task_info.get("errorcode") is not None: 1778s E AttributeError: 'list' object has no attribute 'get' 1778s 1778s plugins/module_utils/dnac.py:1713: AttributeError 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_network_not_need_update _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_network_network_not_need_update(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_config_network 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Successfully retrieved details from the playbook" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not[94 chars]ds. " != 'Successfully retrieved details from the playbook' 1778s E - The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards. 1778s E + Successfully retrieved details from the playbook 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:454: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards. ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1778s _ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_failure_unmark_failure _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_rma_workflow_manager_deploy_workflow_failure_unmark_failure(self): 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="replaced", 1778s config=self.playbook_config_valid 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Error while unmarking device for replacement: Task failed. | Unmarking result: Error while unmarking device for replacement: Task failed." 1778s ) 1778s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'Error while unmarking device for replacem[92 chars]led.' 1778s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement. 1778s E + Error while unmarking device for replacement: Task failed. | Unmarking result: Error while unmarking device for replacement: Task failed. 1778s 1778s tests/unit/modules/dnac/test_rma_workflow_manager.py:310: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True} 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 DeviceReplacement: rma_device_replacement_pre_check: 679: The replacement device is not reachable. Unable to proceed with the RMA device replacement. 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_null_network_params _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_network_null_network_params(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s dnac_version="2.3.5.3", 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_config_update_not_req 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Successfully retrieved details from the playbook" 1778s ) 1778s E AssertionError: "Exception occurred while updating the ne[37 chars]t': " != 'Successfully retrieved details from the playbook' 1778s E - Exception occurred while updating the network settings of 'Global/Testing/test': 1778s E + Successfully retrieved details from the playbook 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:953: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "Exception occurred while updating the network settings of 'Global/Testing/test': ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {'Global/Testing/test': {}}, 'msg': {}}}], 'failed': True} 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 NetworkSettings: update_network: 3730: 1778s _ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_failure_unmark_success _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_rma_workflow_manager_deploy_workflow_failure_unmark_success(self): 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="replaced", 1778s config=self.playbook_config_valid 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_rma_workflow_manager.py:326: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/rma_workflow_manager.py:1434: in main 1778s ccc_device_replacement.rma_device_replacement_pre_check().check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 DeviceReplacement: rma_device_replacement_pre_check: 679: The replacement device is not reachable. Unable to proceed with the RMA device replacement. 1778s _____ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_success ______ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_rma_workflow_manager_deploy_workflow_success(self): 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="replaced", 1778s config=self.playbook_config_valid 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_rma_workflow_manager.py:290: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/rma_workflow_manager.py:1434: in main 1778s ccc_device_replacement.rma_device_replacement_pre_check().check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 DeviceReplacement: rma_device_replacement_pre_check: 679: The replacement device is not reachable. Unable to proceed with the RMA device replacement. 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_update _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_network_update(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s dnac_version="2.3.7.6", 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_update_network 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:502: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/network_settings_workflow_manager.py:4316: in main 1778s ccc_network.get_diff_state_apply[state](config).check_return_status() 1778s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged 1778s self.update_network(network_management).check_return_status() 1778s plugins/modules/network_settings_workflow_manager.py:3741: in update_network 1778s self.check_tasks_response_status(response, "set_dhcp_settings_for_a_site").check_return_status() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def check_tasks_response_status(self, response, api_name): 1778s """ 1778s Get the task response status from taskId 1778s Args: 1778s self: The current object details. 1778s response (dict): API response. 1778s api_name (str): API name. 1778s Returns: 1778s self (object): The current object with updated desired Fabric Transits information. 1778s Description: 1778s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' 1778s state or till it reaches the maximum timeout. 1778s Log the task details and return self. 1778s """ 1778s 1778s if not response: 1778s self.msg = "response is empty" 1778s self.status = "exited" 1778s return self 1778s 1778s if not isinstance(response, dict): 1778s self.msg = "response is not a dictionary" 1778s self.status = "exited" 1778s return self 1778s 1778s task_info = response.get("response") 1778s if task_info.get("errorcode") is not None: 1778s self.msg = response.get("response").get("detail") 1778s self.status = "failed" 1778s return self 1778s 1778s task_id = task_info.get("taskId") 1778s start_time = time.time() 1778s while True: 1778s elapsed_time = time.time() - start_time 1778s if elapsed_time >= self.max_timeout: 1778s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \ 1778s .format(self.max_timeout, task_id) + \ 1778s "Exiting the loop due to unexpected API '{0}' status.".format(api_name) 1778s self.log(self.msg, "WARNING") 1778s self.status = "failed" 1778s break 1778s 1778s task_details = self.get_tasks_by_id(task_id) 1778s self.log('Getting tasks details from task ID {0}: {1}' 1778s .format(task_id, task_details), "DEBUG") 1778s 1778s > task_status = task_details.get("status") 1778s E AttributeError: 'list' object has no attribute 'get' 1778s 1778s plugins/module_utils/dnac.py:1734: AttributeError 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s _______ TestDnacRmaIntent.test_rma_workflow_manager_mark_device_failure ________ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_rma_workflow_manager_mark_device_failure(self): 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="replaced", 1778s config=self.playbook_config_valid 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "An error occurred during the operation" 1778s ) 1778s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'An error occurred during the operation' 1778s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement. 1778s E + An error occurred during the operation 1778s 1778s tests/unit/modules/dnac/test_rma_workflow_manager.py:274: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True} 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 DeviceReplacement: rma_device_replacement_pre_check: 679: The replacement device is not reachable. Unable to proceed with the RMA device replacement. 1778s _ TestDnacRmaIntent.test_rma_workflow_manager_mark_device_for_replacement_exception _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_rma_workflow_manager_mark_device_for_replacement_exception(self): 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="replaced", 1778s config=self.playbook_config_valid 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Exception occurred while marking device for replacement: " 1778s ) 1778s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'Exception occurred while marking device for replacement: ' 1778s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement. 1778s E + Exception occurred while marking device for replacement: 1778s 1778s tests/unit/modules/dnac/test_rma_workflow_manager.py:256: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True} 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 DeviceReplacement: rma_device_replacement_pre_check: 679: The replacement device is not reachable. Unable to proceed with the RMA device replacement. 1778s ___ TestDnacRmaIntent.test_rma_workflow_manager_replacement_device_not_found ___ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_rma_workflow_manager_replacement_device_not_found(self): 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="replaced", 1778s config=self.playbook_config_device_not_found 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Replacement device '204.1.2.19' not found in Cisco Catalyst Center" 1778s ) 1778s E AssertionError: "Replacement device '204.1.2.19' not found in PnP" != "Replacement device '204.1.2.19' not found in Cisco Catalyst Center" 1778s E - Replacement device '204.1.2.19' not found in PnP 1778s E ? ^ ^ 1778s E + Replacement device '204.1.2.19' not found in Cisco Catalyst Center 1778s E ? ^^^^^^^^^^^^^^^^^ ^^^ 1778s 1778s tests/unit/modules/dnac/test_rma_workflow_manager.py:220: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "Replacement device '204.1.2.19' not found in PnP", 'response': [], 'failed': True} 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 DeviceReplacement: device_exists: 802: No valid response received from Cisco Catalyst Center 1778s 1778s ERROR logger:dnac.py:294 DeviceReplacement: pnp_device_exists: 713: Invalid identifier type provided 1778s 1778s ERROR logger:dnac.py:294 DeviceReplacement: get_have: 586: Replacement device '204.1.2.19' not found in PnP 1778s _______ TestDnacSiteWorkflow.test_Site_workflow_manager_create_bulk_site _______ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_create_bulk_site(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.7.6", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.upload_floor_map_playbook 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:274: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/site_workflow_manager.py:2520: in main 1778s ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "Missing or invalid parameters in playbook config: 'name should not be None or empty, parent_name should not be None or empty, Site_type should not be None or empty' ", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1188: Missing 'name' field in entry. 1778s 1778s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1196: Missing 'parent_name' field in entry. 1778s 1778s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1335: Missing or invalid parameters in playbook config: 'name should not be None or empty, parent_name should not be None or empty, Site_type should not be None or empty' 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_not_verified __ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_not_verified(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s dnac_version="2.3.7.6", 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_config_network 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=True) 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:477: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1778s result = self.failed() 1778s tests/unit/modules/dnac/dnac_module.py:125: in failed 1778s self.module.main() 1778s plugins/modules/network_settings_workflow_manager.py:4316: in main 1778s ccc_network.get_diff_state_apply[state](config).check_return_status() 1778s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged 1778s self.update_network(network_management).check_return_status() 1778s plugins/modules/network_settings_workflow_manager.py:3741: in update_network 1778s self.check_tasks_response_status(response, "set_dhcp_settings_for_a_site").check_return_status() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def check_tasks_response_status(self, response, api_name): 1778s """ 1778s Get the task response status from taskId 1778s Args: 1778s self: The current object details. 1778s response (dict): API response. 1778s api_name (str): API name. 1778s Returns: 1778s self (object): The current object with updated desired Fabric Transits information. 1778s Description: 1778s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' 1778s state or till it reaches the maximum timeout. 1778s Log the task details and return self. 1778s """ 1778s 1778s if not response: 1778s self.msg = "response is empty" 1778s self.status = "exited" 1778s return self 1778s 1778s if not isinstance(response, dict): 1778s self.msg = "response is not a dictionary" 1778s self.status = "exited" 1778s return self 1778s 1778s task_info = response.get("response") 1778s if task_info.get("errorcode") is not None: 1778s self.msg = response.get("response").get("detail") 1778s self.status = "failed" 1778s return self 1778s 1778s task_id = task_info.get("taskId") 1778s start_time = time.time() 1778s while True: 1778s elapsed_time = time.time() - start_time 1778s if elapsed_time >= self.max_timeout: 1778s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \ 1778s .format(self.max_timeout, task_id) + \ 1778s "Exiting the loop due to unexpected API '{0}' status.".format(api_name) 1778s self.log(self.msg, "WARNING") 1778s self.status = "failed" 1778s break 1778s 1778s task_details = self.get_tasks_by_id(task_id) 1778s self.log('Getting tasks details from task ID {0}: {1}' 1778s .format(task_id, task_details), "DEBUG") 1778s 1778s > task_status = task_details.get("status") 1778s E AttributeError: 'list' object has no attribute 'get' 1778s 1778s plugins/module_utils/dnac.py:1734: AttributeError 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s 1778s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7) 1778s _________ TestDnacSiteWorkflow.test_Site_workflow_manager_create_site __________ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_create_site(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.5.3", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_site 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:297: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/site_workflow_manager.py:2539: in main 1778s ccc_site.get_diff_state_apply[state](config).check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "Parent name 'Global' does not exist in the Cisco Catalyst Center.", 'response': "Parent name 'Global' does not exist in the Cisco Catalyst Center.", 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites': 1778s 1778s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888 1778s 1778s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites': 1778s 1778s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: Parent name 'Global' does not exist in the Cisco Catalyst Center. 1778s 1778s ERROR logger:dnac.py:294 Site: get_diff_merged: 1866: No response received from 'get_site_v1' API for site: Global{'msg': "Parent name 'Global' does not exist in the Cisco Catalyst Center.", 'response': "Parent name 'Global' does not exist in the Cisco Catalyst Center.", 'failed': True} 1778s 1778s WARNING logger:dnac.py:294 Site: get_site_v1: 612: Empty response received for site: Global/japan8888 1778s 1778s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_reserve_pool_creation _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_reserve_pool_creation(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_config_reserve_pool 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1075: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/network_settings_workflow_manager.py:4301: in main 1778s ccc_network.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards. ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_reserve_pool_deletion _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Network_settings_workflow_manager_reserve_pool_deletion(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="deleted", 1778s config_verify=True, 1778s config=self.playbook_config_reserve_pool_deletion 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1050: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/network_settings_workflow_manager.py:4301: in main 1778s ccc_network.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards. ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s ___ TestDnacSiteWorkflow.test_Site_workflow_manager_create_site_bulk_invalid ___ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_create_site_bulk_invalid(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.7.6", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_site 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "An error occurred while executing GET API call to Function: 'get_sites' " 1778s "from Family: 'site_design'. " 1778s "Parameters: {'name_hierarchy': 'Global/japan8888'}. " 1778s "Exception: ." 1778s ) 1778s E AssertionError: "An e[106 chars]: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: ." != "An e[106 chars]: {'name_hierarchy': 'Global/japan8888'}. Exception: ." 1778s E - An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: . 1778s E ? -------- 1778s E + An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888'}. Exception: . 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:416: AssertionError 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888'}. Exception: . 1778s 1778s WARNING logger:dnac.py:294 Site: get_have: 1072: Error fetching site for name 'Global/japan8888': {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888'}. Exception: .", 'failed': True} 1778s 1778s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: . 1778s 1778s WARNING logger:dnac.py:294 Site: get_have: 1072: Error fetching site for name 'Global/japan8888/blossom': {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: .", 'failed': True} 1778s 1778s WARNING logger:dnac.py:294 Site: execute_get_request: 1857: No response received from GET API call to Function: 'get_sites' from Family: 'site_design'. 1778s 1778s ERROR logger:dnac.py:294 Site: get_have: 1037: Unexpected response received: 1778s ______ TestDnacSiteWorkflow.test_Site_workflow_manager_delete_a_new_site _______ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_delete_a_new_site(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.7.6", 1778s dnac_log=True, 1778s state="deleted", 1778s config=self.delete_config_playbook 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:489: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/site_workflow_manager.py:2527: in main 1778s ccc_site.get_diff_state_apply[state](ccc_site.validated_config).check_return_status() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def get_diff_deleted(self, config): 1778s """ 1778s Call Cisco Catalyst Center API to delete sites with provided inputs. 1778s Parameters: 1778s - self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s - config (dict): Dictionary containing information for site deletion. 1778s Returns: 1778s - self: The result dictionary includes the following keys: 1778s - 'changed' (bool): Indicates whether changes were made 1778s during the deletion process. 1778s - 'response' (dict): Contains details about the execution 1778s and the deleted site ID. 1778s - 'msg' (str): A message indicating the status of the deletion operation. 1778s Description: 1778s This method initiates the deletion of a site by calling the 'delete_site' function in the 'sites' family 1778s of the Cisco Catalyst Center API. It uses the site ID obtained from the 'have' attribute. 1778s """ 1778s 1778s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.5.3") <= 0: 1778s site_exists = self.have.get("site_exists") 1778s site_name_hierarchy = self.want.get("site_name_hierarchy") 1778s site_id = self.have.get("site_id") 1778s if not site_exists: 1778s if site_name_hierarchy not in self.deleted_site_list: 1778s self.site_absent_list.append(site_name_hierarchy) 1778s self.log( 1778s "Failed to delete site '{0}'. Reason: The site was not found in the Cisco Catalyst Center.".format(site_name_hierarchy), 1778s "DEBUG" 1778s ) 1778s return self 1778s api_response, response = self.get_device_ids_from_site(site_name_hierarchy, site_id) 1778s self.log( 1778s "Received API response from 'get_membership': {0}".format(str(api_response)), "DEBUG") 1778s 1778s site_response = api_response.get("site", {}).get("response", []) 1778s self.log( 1778s "Site '{0}' response along with its child sites: {1}".format(site_name_hierarchy, str(site_response)), "DEBUG") 1778s 1778s if not site_response: 1778s self.delete_single_site(site_id, site_name_hierarchy) 1778s return self 1778s 1778s sorted_site_resp = sorted( 1778s site_response, key=lambda x: x.get("groupHierarchy"), reverse=True) 1778s 1778s for item in sorted_site_resp: 1778s self.delete_single_site(item['id'], item['groupNameHierarchy']) 1778s 1778s self.delete_single_site(site_id, site_name_hierarchy) 1778s self.log( 1778s "The site '{0}' and its child sites have been deleted successfully".format(site_name_hierarchy), "INFO") 1778s 1778s elif self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0: 1778s final_deletion_list = [] 1778s for each_type in ("floor", "building", "area"): 1778s if self.handle_config[each_type]: 1778s self.log("Starting bulk site creation for type: {}".format(each_type), "DEBUG") 1778s for config in self.handle_config[each_type]: 1778s site_exists = config.get("site_exists") 1778s if not site_exists: 1778s self.log("Unable to delete site {0} as it's not found in Cisco Catalyst Center". 1778s format(config.get("site_name_hierarchy")), "INFO") 1778s self.site_absent_list.append(str(each_type) + ": " + str(config.get("site_name_hierarchy"))) 1778s else: 1778s final_deletion_list.append(config) 1778s self.log("Deletion list re-arranged order: {0}.".format(final_deletion_list), "INFO") 1778s 1778s if len(final_deletion_list) > 0: 1778s for config in final_deletion_list: 1778s site_name_hierarchy = config.get("site_name_hierarchy") 1778s site_params = config.get("site_params") 1778s site_params["site_id"] = config.get("site_id") 1778s site_type = site_params.get("type") 1778s site_id = site_params["site_id"] 1778s self.log("Site ID from 'have' for retrieval: {0}".format(site_id), "DEBUG") 1778s self.log("Site TYPE from 'have' for retrieval: {0}".format(site_type), "DEBUG") 1778s self.log("Site PARAMS from 'have' for retrieval: {0}".format(site_params), "DEBUG") 1778s self.log("Site NAME from 'want' for retrieval: {0}".format(site_name_hierarchy), "DEBUG") 1778s 1778s self.log("Initiating deletion for site '{0}' with site ID: {1} of type: {2}".format( 1778s site_name_hierarchy, site_id, site_type), "DEBUG") 1778s 1778s response = None 1778s if site_type == "floor": 1778s response = self.delete_floor(site_name_hierarchy, site_id) 1778s elif site_type == "area": 1778s response = self.delete_area(site_name_hierarchy, site_id) 1778s self.log("Response for deleting area: {0}".format(str(response)), "DEBUG") 1778s elif site_type == "building": 1778s response = self.delete_building(site_name_hierarchy, site_id) 1778s 1778s if isinstance(response, dict): 1778s > task_id = response.get("response", {}).get("taskId") 1778s E AttributeError: 'list' object has no attribute 'get' 1778s 1778s plugins/modules/site_workflow_manager.py:2136: AttributeError 1778s __________ TestDnacPnpWorkflow.test_pnp_workflow_manager_claim_switch __________ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_pnp_workflow_manager_claim_switch(self): 1778s """ 1778s Test case for PNP workflow manager when add and claim switch device. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.7.6", 1778s dnac_log=True, 1778s config_verify=True, 1778s state="merged", 1778s config=self.playbook_config_switch 1778s ) 1778s ) 1778s > result = self.execute_module(changed=False, failed=True) 1778s 1778s tests/unit/modules/dnac/test_pnp_workflow_manager.py:193: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1778s result = self.failed() 1778s tests/unit/modules/dnac/dnac_module.py:125: in failed 1778s self.module.main() 1778s plugins/modules/pnp_workflow_manager.py:1414: in main 1778s ccc_pnp.get_diff_state_apply[state]().check_return_status() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def get_diff_merged(self): 1778s """ 1778s If given device doesnot exist 1778s then add it to pnp database and get the device id 1778s Args: 1778s self: An instance of a class used for interacting with Cisco Catalyst Center. 1778s Returns: 1778s object: An instance of the class with updated results and status 1778s based on the processing of differences. Based on the length of devices passed 1778s it adds/claims or does both. 1778s Description: 1778s The function processes the differences and, depending on the 1778s changes required, it may add, update,or resynchronize devices in 1778s Cisco Catalyst Center. The updated results and status are stored in the 1778s class instance for further use. 1778s """ 1778s 1778s if not isinstance(self.want.get("pnp_params"), list): 1778s self.msg = "Device Info must be passed as a list" 1778s self.log(self.msg, "ERROR") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s 1778s if len(self.want.get("pnp_params")) > 1: 1778s devices_added = [] 1778s for device in self.want.get("pnp_params"): 1778s multi_device_response = self.get_device_list_pnp(device["deviceInfo"]["serialNumber"]) 1778s self.log("Device details for serial number {0} \ 1778s obtained from the API 'get_device_list': {1}".format(device["deviceInfo"]["serialNumber"], 1778s str(multi_device_response)), "DEBUG") 1778s if (multi_device_response and (len(multi_device_response) == 1)): 1778s devices_added.append(device) 1778s self.log("Details of the added device:{0}".format(str(device)), "INFO") 1778s if (len(self.want.get("pnp_params")) - len(devices_added)) == 0: 1778s self.result['response'] = [] 1778s self.result['msg'] = "Devices are already added" 1778s self.log(self.result['msg'], "WARNING") 1778s return self 1778s 1778s bulk_list = [ 1778s device 1778s for device in self.want.get("pnp_params") 1778s if device not in devices_added 1778s ] 1778s bulk_params = self.dnac_apply['exec']( 1778s family="device_onboarding_pnp", 1778s function="import_devices_in_bulk", 1778s params={"payload": bulk_list}, 1778s op_modifies=True, 1778s ) 1778s self.log("Response from API 'import_devices_in_bulk' for imported devices: {0}".format(bulk_params), "DEBUG") 1778s if len(bulk_params.get("successList")) > 0: 1778s self.result['msg'] = "{0} device(s) imported successfully".format( 1778s len(bulk_params.get("successList"))) 1778s self.log(self.result['msg'], "INFO") 1778s self.result['response'] = bulk_params 1778s self.result['diff'] = self.validated_config 1778s self.result['changed'] = True 1778s return self 1778s elif len(bulk_params.get("failureList")) > 0: 1778s self.msg = "Unable to import below {0} device(s). ".format( 1778s len(bulk_params.get("failureList"))) 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s bulk_params).check_return_status() 1778s 1778s self.msg = "Bulk import failed" 1778s self.log(self.msg, "CRITICAL") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s 1778s provisioned_count_params = { 1778s "serial_number": self.want.get("serial_number"), 1778s "state": "Provisioned" 1778s } 1778s 1778s planned_count_params = { 1778s "serial_number": self.want.get("serial_number"), 1778s "state": "Planned" 1778s } 1778s 1778s if not self.have.get("device_found"): 1778s if not self.want['pnp_params']: 1778s self.msg = "Device needs to be added before claiming. Please add device_info" 1778s self.log(self.msg, "ERROR") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s 1778s if not self.want["site_name"]: 1778s self.log("Adding device to pnp database", "INFO") 1778s dev_add_response = self.add_pnp_device(self.want.get('pnp_params')[0]) 1778s self.have["deviceInfo"] = dev_add_response.get("deviceInfo") 1778s self.log("Response from API 'add device' for a single device addition: {0}".format(str(dev_add_response)), "DEBUG") 1778s 1778s if self.have["deviceInfo"]: 1778s self.result['msg'] = "Only Device Added Successfully" 1778s self.log(self.result['msg'], "INFO") 1778s self.result['response'] = dev_add_response 1778s self.result['diff'] = self.validated_config 1778s self.result['changed'] = True 1778s else: 1778s self.msg = "Device Addition Failed" 1778s self.log(self.result['msg'], "CRITICAL") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s 1778s return self 1778s 1778s else: 1778s self.log("Adding device to pnp database") 1778s dev_add_response = self.add_pnp_device(self.want.get('pnp_params')[0]) 1778s self.get_have().check_return_status() 1778s self.have["deviceInfo"] = dev_add_response.get("deviceInfo") 1778s self.log("Response from API 'add device' for single device addition: {0}".format(str(dev_add_response)), "DEBUG") 1778s claim_params = self.get_claim_params() 1778s claim_params["deviceId"] = dev_add_response.get("id") 1778s 1778s claim_response = self.claim_device_site(claim_params) 1778s self.log("Response from API 'claim a device to a site' for a single claiming: {0}".format(str(claim_response)), "DEBUG") 1778s 1778s if claim_response.get("response") == "Device Claimed" and self.have["deviceInfo"]: 1778s self.result['msg'] = "Device Added and Claimed Successfully" 1778s self.log(self.result['msg'], "INFO") 1778s self.result['response'] = claim_response 1778s self.result['diff'] = self.validated_config 1778s self.result['changed'] = True 1778s 1778s else: 1778s self.msg = "Device Claim Failed" 1778s > self.log(self.result['msg'], "CRITICAL") 1778s E KeyError: 'msg' 1778s 1778s plugins/modules/pnp_workflow_manager.py:985: KeyError 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 PnP: get_device_list_pnp: 1219: No device found with serial number: FOC2439LA89 1778s 1778s WARNING logger:dnac.py:294 PnP: get_have: 701: Device with serial number FOC2439LA89 is not found in the inventory 1778s 1778s WARNING logger:dnac.py:294 PnP: get_diff_merged: 965: Adding device to pnp database 1778s 1778s WARNING logger:dnac.py:294 PnP: get_device_list_pnp: 1219: No device found with serial number: FOC2439LA89 1778s 1778s WARNING logger:dnac.py:294 PnP: get_have: 701: Device with serial number FOC2439LA89 is not found in the inventory 1778s ________ TestDnacSiteWorkflow.test_Site_workflow_manager_delete_a_site _________ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_delete_a_site(self): 1778s """ 1778s Test case for site workflow manager when deleting a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.7.6", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_delete 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "This version : '2.3.7.6' given yaml format is not applicable to create a site' " 1778s ) 1778s E AssertionError: 'Exception occurred while creating site due to: ' != "This version : '2.3.7.6' given yaml form[35 chars]te' " 1778s E - Exception occurred while creating site due to: 1778s E + This version : '2.3.7.6' given yaml format is not applicable to create a site' 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:467: AssertionError 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Site: execute_get_request: 1866: Empty 'response' key in the API response from GET API call to Function: 'get_sites' from Family: 'site_design'. 1778s 1778s ERROR logger:dnac.py:294 Site: get_have: 1037: Unexpected response received: 1778s 1778s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: Exception occurred while creating site due to: 1778s 1778s ERROR logger:dnac.py:294 Site: get_diff_merged: 1783: Yaml is not available for bulk: {'msg': 'Exception occurred while creating site due to: ', 'response': 'Exception occurred while creating site due to: ', 'failed': True} 1778s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_assign_wired_device_to_site _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_provision_workflow_manager_playbook_assign_wired_device_to_site(self): 1778s """ 1778s Test case for add device with full crendentials. 1778s 1778s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_assign_wired_device_to_site 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_provision_workflow_manager.py:152: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/provision_workflow_manager.py:1809: in main 1778s ccc_provision.get_diff_state_apply[state]().check_return_status() 1778s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged 1778s self.provision_wired_device(to_provisioning, to_force_provisioning) 1778s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device 1778s device_id = self.get_device_id() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def get_device_id(self): 1778s """ 1778s Fetches the UUID of the device added in the inventory 1778s 1778s Parameters: 1778s - self: The instance of the class containing the 'config' attribute 1778s to be validated. 1778s Returns: 1778s The method returns the serial number of the device as a string. If it fails, it returns None. 1778s Example: 1778s After creating the validated input, this method retrieves the 1778s UUID of the device. 1778s """ 1778s 1778s dev_response = self.dnac_apply['exec']( 1778s family="devices", 1778s function='get_network_device_by_ip', 1778s params={"ip_address": self.validated_config["management_ip_address"]} 1778s ) 1778s 1778s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG") 1778s dev_dict = dev_response.get("response") 1778s > device_id = dev_dict.get("id") 1778s E AttributeError: 'NoneType' object has no attribute 'get' 1778s 1778s plugins/modules/provision_workflow_manager.py:490: AttributeError 1778s ____ TestDnacSiteWorkflow.test_Site_workflow_manager_invalid_delete_config _____ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_invalid_delete_config(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.7.6", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_empty 1778s ) 1778s ) 1778s > result = self.execute_module(changed=False, failed=False) 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:391: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def main(): 1778s """ main entry point for module execution 1778s """ 1778s element_spec = {'dnac_host': {'required': True, 'type': 'str'}, 1778s 'dnac_port': {'type': 'str', 'default': '443'}, 1778s 'dnac_username': {'type': 'str', 'default': 'admin', 'aliases': ['user']}, 1778s 'dnac_password': {'type': 'str', 'no_log': True}, 1778s 'dnac_verify': {'type': 'bool', 'default': 'True'}, 1778s 'dnac_version': {'type': 'str', 'default': '2.2.3.3'}, 1778s 'dnac_debug': {'type': 'bool', 'default': False}, 1778s 'dnac_log_level': {'type': 'str', 'default': 'WARNING'}, 1778s "dnac_log_file_path": {"type": 'str', "default": 'dnac.log'}, 1778s "dnac_log_append": {"type": 'bool', "default": True}, 1778s 'dnac_log': {'type': 'bool', 'default': False}, 1778s 'validate_response_schema': {'type': 'bool', 'default': True}, 1778s 'config_verify': {'type': 'bool', "default": False}, 1778s 'dnac_api_task_timeout': {'type': 'int', "default": 1200}, 1778s 'dnac_task_poll_interval': {'type': 'int', "default": 2}, 1778s 'config': {'required': True, 'type': 'list', 'elements': 'dict'}, 1778s 'state': {'default': 'merged', 'choices': ['merged', 'deleted']} 1778s } 1778s 1778s module = AnsibleModule(argument_spec=element_spec, 1778s supports_check_mode=False) 1778s 1778s ccc_site = Site(module) 1778s state = ccc_site.params.get("state") 1778s 1778s if ccc_site.compare_dnac_versions(ccc_site.get_ccc_version(), "2.3.5.3") < 0: 1778s ccc_site.msg = ( 1778s "The specified version '{0}' does not support the site workflow feature. Supported versions start from '2.3.5.3' onwards. " 1778s "Version '2.3.5.3' introduces APIs for creating, updating, and deleting sites. " 1778s "Version '2.3.7.6' expands support to include APIs for bulk site creating, updating, and deleting sites.".format( 1778s ccc_site.get_ccc_version()) 1778s ) 1778s 1778s ccc_site.status = "failed" 1778s ccc_site.check_return_status() 1778s 1778s if state not in ccc_site.supported_states: 1778s ccc_site.status = "invalid" 1778s ccc_site.msg = "State {0} is invalid".format(state) 1778s ccc_site.check_return_status() 1778s 1778s ccc_site.validate_input().check_return_status() 1778s config_verify = ccc_site.params.get("config_verify") 1778s > ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status() 1778s E AttributeError: 'list' object has no attribute 'check_return_status' 1778s 1778s plugins/modules/site_workflow_manager.py:2520: AttributeError 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 Site: validate_input: 493: Error: Configuration is not available in the playbook for validation 1778s 1778s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1172: Config data is missing. 1778s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_del_provision_device _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_provision_workflow_manager_playbook_del_provision_device(self): 1778s """ 1778s Test case for add device with full crendentials. 1778s 1778s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="deleted", 1778s config_verify=True, 1778s config=self.playbook_del_provision_device 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_provision_workflow_manager.py:176: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/provision_workflow_manager.py:1809: in main 1778s ccc_provision.get_diff_state_apply[state]().check_return_status() 1778s plugins/modules/provision_workflow_manager.py:1596: in get_diff_deleted 1778s device_id = self.get_device_id() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def get_device_id(self): 1778s """ 1778s Fetches the UUID of the device added in the inventory 1778s 1778s Parameters: 1778s - self: The instance of the class containing the 'config' attribute 1778s to be validated. 1778s Returns: 1778s The method returns the serial number of the device as a string. If it fails, it returns None. 1778s Example: 1778s After creating the validated input, this method retrieves the 1778s UUID of the device. 1778s """ 1778s 1778s dev_response = self.dnac_apply['exec']( 1778s family="devices", 1778s function='get_network_device_by_ip', 1778s params={"ip_address": self.validated_config["management_ip_address"]} 1778s ) 1778s 1778s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG") 1778s dev_dict = dev_response.get("response") 1778s > device_id = dev_dict.get("id") 1778s E AttributeError: 'list' object has no attribute 'get' 1778s 1778s plugins/modules/provision_workflow_manager.py:490: AttributeError 1778s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_force_provision_device _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_provision_workflow_manager_playbook_force_provision_device(self): 1778s """ 1778s Test case for add device with full crendentials. 1778s 1778s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_force_provision_device 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_provision_workflow_manager.py:248: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/provision_workflow_manager.py:1809: in main 1778s ccc_provision.get_diff_state_apply[state]().check_return_status() 1778s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged 1778s self.provision_wired_device(to_provisioning, to_force_provisioning) 1778s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device 1778s device_id = self.get_device_id() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def get_device_id(self): 1778s """ 1778s Fetches the UUID of the device added in the inventory 1778s 1778s Parameters: 1778s - self: The instance of the class containing the 'config' attribute 1778s to be validated. 1778s Returns: 1778s The method returns the serial number of the device as a string. If it fails, it returns None. 1778s Example: 1778s After creating the validated input, this method retrieves the 1778s UUID of the device. 1778s """ 1778s 1778s dev_response = self.dnac_apply['exec']( 1778s family="devices", 1778s function='get_network_device_by_ip', 1778s params={"ip_address": self.validated_config["management_ip_address"]} 1778s ) 1778s 1778s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG") 1778s dev_dict = dev_response.get("response") 1778s > device_id = dev_dict.get("id") 1778s E AttributeError: 'list' object has no attribute 'get' 1778s 1778s plugins/modules/provision_workflow_manager.py:490: AttributeError 1778s _____ TestDnacSiteWorkflow.test_Site_workflow_manager_invalid_delete_site ______ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_invalid_delete_site(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.5.3", 1778s dnac_log=True, 1778s state="deleted", 1778s config=self.delete_playbook_config 1778s ) 1778s ) 1778s self.maxDiff = None 1778s > result = self.execute_module(changed=False, failed=True) 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:536: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1778s result = self.failed() 1778s tests/unit/modules/dnac/dnac_module.py:125: in failed 1778s self.module.main() 1778s plugins/modules/site_workflow_manager.py:2542: in main 1778s module.exit_json(**ccc_site.result) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def exit_json(*args, **kwargs): 1778s if "changed" not in kwargs: 1778s kwargs["changed"] = False 1778s > raise AnsibleExitJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleExitJson: {'changed': True, 'diff': [], 'response': ['Global/bangalore', 'Global/bangalore/s1', 'Global/bangalore/s1/cherry4'], 'warnings': [], 'msg': "Given site(s) '['Global/bangalore', 'Global/bangalore/s1', 'Global/bangalore/s1/cherry4']' deleted successfully from Cisco Catalyst Center"} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:35: AnsibleExitJson 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Site: get_device_ids_from_site: 688: No devices found for site 'Global/bangalore' with site ID: '445a755e-b654-44b9-a294-3e304becc9ee'. 1778s 1778s WARNING logger:dnac.py:294 Site: get_device_ids_from_site: 688: No devices found for site 'Global/bangalore/s1' with site ID: '445a755e-b654-44b9-a294-3e304becc9ee'. 1778s 1778s WARNING logger:dnac.py:294 Site: get_device_ids_from_site: 688: No devices found for site 'Global/bangalore/s1/cherry4' with site ID: '445a755e-b654-44b9-a294-3e304becc9ee'. 1778s ___ TestDnacSiteWorkflow.test_Site_workflow_manager_verify_diff_merged_site ____ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s def get_diff_merged(self, config): 1778s """ 1778s Update/Create site information in Cisco Catalyst Center with fields 1778s provided in the playbook. 1778s Parameters: 1778s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s config (dict): A dictionary containing configuration information. 1778s Returns: 1778s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s Description: 1778s This method determines whether to update or create a site in Cisco Catalyst Center based on the provided 1778s configuration information. If the specified site exists, the method checks if it requires an update 1778s by calling the 'site_requires_update' method. If an update is required, it calls the 'update_site' 1778s function from the 'sites' family of the Cisco Catalyst Center API. If the site does not require an update, 1778s the method exits, indicating that the site is up to date. 1778s """ 1778s site_updated = False 1778s site_created = False 1778s 1778s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0: 1778s self.handle_config['area'] = [] 1778s self.handle_config['building'] = [] 1778s self.handle_config['floor'] = [] 1778s try: 1778s create_site = copy.deepcopy(self.handle_config["create_site"]) 1778s if len(create_site) > 0: 1778s self.log("Starting site creation process.", "DEBUG") 1778s for each_config in create_site: 1778s payload_data = self.change_payload_data(each_config.get("want")) 1778s if payload_data: 1778s payload_data[self.keymap["parent_name_hierarchy"]] =\ 1778s payload_data.get(self.keymap["parent_name"]) 1778s del payload_data[self.keymap["parent_name"]] 1778s self.log("Payload data prepared for site creation: {}".format(payload_data), "DEBUG") 1778s 1778s if payload_data.get("type") == "area": 1778s self.handle_config["area"].append(payload_data) 1778s self.log("Added to area: {}".format(payload_data), "DEBUG") 1778s elif payload_data.get("type") == "building": 1778s self.handle_config["building"].append(payload_data) 1778s self.log("Added to building: {}".format(payload_data), "DEBUG") 1778s elif payload_data.get("type") == "floor": 1778s self.handle_config["floor"].append(payload_data) 1778s self.log("Added to floor: {}".format(payload_data), "DEBUG") 1778s for each_type in ("area", "building", "floor"): 1778s if self.handle_config[each_type]: 1778s self.log("Processing configurations for '{0}'.".format(each_type), "DEBUG") 1778s for create_config in self.handle_config[each_type]: 1778s self.log("Handling configuration: {0}".format(create_config), "DEBUG") 1778s parent_name = create_config.get(self.keymap.get("parent_name_hierarchy")) 1778s if not parent_name: 1778s self.msg = "No parent name found in configuration for '{0}'.".format(each_type) 1778s self.log(self.msg, "DEBUG") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s self.log("Checking if parent site '{0}' exists in the hierarchy.".format(parent_name), "DEBUG") 1778s 1778s site_exists = self.is_site_exist(parent_name) 1778s if not site_exists: 1778s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1778s self.log(self.msg, "DEBUG") 1778s self.site_absent_list.append(str(parent_name) + " does not exist ") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s 1778s response = self.creating_bulk_site(self.handle_config[each_type]) 1778s self.log("Response from creating_bulk_site for {}: {}".format(each_type, response), "DEBUG") 1778s 1778s if response and isinstance(response, dict) and "response" in response: 1778s task_id = response["response"].get("taskId") 1778s if task_id: 1778s self.log("Task Id for the 'site_creation' task is {}".format(task_id), "INFO") 1778s 1778s task_name = "create_sites" 1778s success_msg = "Site created successfully." 1778s self.get_task_status_from_tasks_by_id(task_id, task_name, success_msg) 1778s 1778s for site in self.handle_config[each_type]: 1778s if "name" in site: 1778s self.created_site_list.append(str(each_type) + ": " + str(site.get("name"))) 1778s 1778s self.log("Site '{}' created successfully".format(self.created_site_list), "INFO") 1778s 1778s for site in self.handle_config[each_type]: 1778s if site.get("type") == "floor": 1778s floor_name = site.get("name") 1778s self.log("Floor '{}' has been created successfully.".format(floor_name), "INFO") 1778s 1778s upload_path = site.get("upload_floor_image_path", None) 1778s if upload_path: 1778s self.log("Upload path found for floor '{}'. Starting upload floor map from '{}.'". 1778s format(floor_name, upload_path), "INFO") 1778s 1778s map_details, map_status, success_message = self.upload_floor_image(site) 1778s if map_details: 1778s self.log("Floor map for '{}' uploaded successfully: {}". 1778s format(floor_name, success_message), "INFO") 1778s else: 1778s self.log("Floor map upload failed for '{}'. Please check the upload path and retry.". 1778s format(floor_name), "ERROR") 1778s else: 1778s self.log("No upload path provided for '{}'. Floor created without floor map.". 1778s format(floor_name), "INFO") 1778s else: 1778s self.log("No valid task ID received from the 'creating_bulk_site' response.", "WARNING") 1778s return None 1778s else: 1778s self.log("No response received from the 'creating_bulk_site' API call.", "WARNING") 1778s return None 1778s 1778s task_detail_list = [] 1778s for each_config in self.have: 1778s site_name_hierarchy = each_config.get("site_name_hierarchy") 1778s 1778s if each_config.get("site_exists"): 1778s self.log("Processing site: {}".format(site_name_hierarchy), "DEBUG") 1778s payload_new = self.change_payload_data(each_config.get("want")) 1778s if payload_new.get("type") == "area": 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1778s elif payload_new.get("type") in ("building", "floor"): 1778s site_params = each_config.get("site_params") 1778s site_params["site_id"] = each_config.get("site_id") 1778s site_type = site_params.get("type") 1778s 1778s if self.site_requires_update(each_config): 1778s self.log("Site requires update, starting update for type: {}".format(site_type), "DEBUG") 1778s response = (self.update_floor(site_params, payload_new) if site_type == "floor" 1778s else self.update_area(site_params) if site_type == "area" 1778s else self.update_building(site_params) if site_type == "building" 1778s else self.log("Unknown site type: {0}".format(site_type), "ERROR")) 1778s 1778s self.log("Received API response from 'update_site': {0}". 1778s format(str(response)), "DEBUG") 1778s 1778s if response and isinstance(response, dict): 1778s taskid = response["response"]["taskId"] 1778s 1778s while True: 1778s task_details = self.get_task_details(taskid) 1778s if site_type != "floor": 1778s if task_details.get("progress") == "Group is updated successfully": 1778s task_detail_list.append(task_details) 1778s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1778s self.log("Site '{}' updated successfully.".format(site_name_hierarchy), "INFO") 1778s break 1778s else: 1778s if task_details.get("progress") == "Service domain is updated successfully.": 1778s task_detail_list.append(task_details) 1778s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1778s break 1778s 1778s if task_details.get("bapiError"): 1778s msg = task_details.get("bapiError") 1778s self.set_operation_result("failed", False, msg, "ERROR", 1778s task_details).check_return_status() 1778s break 1778s else: 1778s self.msg = "Unable to execute the update the site: {0} ".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s else: 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1778s except Exception as e: 1778s self.log("Yaml is not available for bulk: {}".format(str(e)), "ERROR") 1778s 1778s return self 1778s 1778s else: 1778s site_params = self.want.get("site_params") 1778s site_type = site_params.get("type") 1778s if self.have.get("site_exists"): 1778s site_name_hierarchy = self.want.get("site_name_hierarchy") 1778s if not self.site_requires_update(): 1778s self.update_not_needed_sites.append(site_type + ": " + site_name_hierarchy) 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s else: 1778s try: 1778s site_params["site_id"] = self.have.get("site_id") 1778s self.log("Site parameters prepared for update: {}".format(site_params)) 1778s self.log("Site update process started.", "INFO") 1778s 1778s if site_params['site'].get('building'): 1778s building_details = {} 1778s for key, value in site_params['site']['building'].items(): 1778s if value is not None: 1778s building_details[key] = value 1778s 1778s site_params['site']['building'] = building_details 1778s 1778s response = self.dnac._exec( 1778s family="sites", 1778s function='update_site', 1778s op_modifies=True, 1778s params=site_params, 1778s ) 1778s self.log("Received API response from 'update_site': {0}".format(str(response)), "DEBUG") 1778s 1778s if response and isinstance(response, dict): 1778s execution_id = response.get("executionId") 1778s while True: 1778s execution_details = self.get_execution_details(execution_id) 1778s if execution_details.get("status") == "SUCCESS": 1778s self.result['changed'] = True 1778s site_updated = True 1778s self.updated_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1778s self.log("Site - {0} Updated Successfully".format(site_name_hierarchy), "INFO") 1778s break 1778s elif execution_details.get("bapiError"): 1778s self.msg = "Unable to Update: " + execution_details.get("bapiError") 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s execution_details).check_return_status() 1778s 1778s except Exception as e: 1778s self.msg = "Unexpected error occurred while update: {0}".format(str(e)) 1778s self.log(self.msg, "ERROR") 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s site_name_hierarchy).check_return_status() 1778s 1778s else: 1778s try: 1778s try: 1778s if site_params['site'].get('building'): 1778s building_details = {} 1778s for key, value in site_params['site']['building'].items(): 1778s if value is not None: 1778s building_details[key] = value 1778s 1778s site_params['site']['building'] = building_details 1778s 1778s except Exception as e: 1778s site_type = site_params['type'] 1778s name = site_params['site'][site_type]['name'] 1778s self.log("The site '{0}' is not categorized as a building; no need to filter 'None' values.". 1778s format(name), "INFO") 1778s 1778s site_type = site_params['type'] 1778s parent_name = site_params.get('site').get(site_type).get('parentName') 1778s try: 1778s response = self.get_site_v1(parent_name) 1778s if not response: 1778s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1778s self.log(self.msg, "DEBUG") 1778s self.site_absent_list.append(str(parent_name) + " does not exist ") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s except Exception as e: 1778s self.log("No response received from 'get_site_v1' API for site: {0}".format(parent_name + str(e)), "ERROR") 1778s 1778s > response = self.dnac._exec( 1778s family="sites", 1778s function='create_site', 1778s op_modifies=True, 1778s params=site_params, 1778s ) 1778s 1778s plugins/modules/site_workflow_manager.py:1868: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1778s return self._mock_call(*args, **kwargs) 1778s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1778s return self._execute_mock_call(*args, **kwargs) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s self = , args = () 1778s kwargs = {'family': 'sites', 'function': 'create_site', 'op_modifies': True, 'params': {'site': {'area': {'name': 'japan8888', 'parentName': 'Global'}}, 'type': 'area'}} 1778s effect = , result = Exception() 1778s 1778s def _execute_mock_call(self, /, *args, **kwargs): 1778s # separate from _increment_mock_call so that awaited functions are 1778s # executed separately from their call, also AsyncMock overrides this method 1778s 1778s effect = self.side_effect 1778s if effect is not None: 1778s if _is_exception(effect): 1778s raise effect 1778s elif not _callable(effect): 1778s result = next(effect) 1778s if _is_exception(result): 1778s > raise result 1778s E Exception 1778s 1778s /usr/lib/python3.13/unittest/mock.py:1232: Exception 1778s 1778s During handling of the above exception, another exception occurred: 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_verify_diff_merged_site(self): 1778s """ 1778s Test case for verify parameters in site workflow manager after applying merged state. 1778s 1778s This test case checks the behavior of the site workflow manager after applying merged state Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.5.3", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_config_site 1778s ) 1778s ) 1778s > result = self.execute_module(changed=False, failed=False) 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:442: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/site_workflow_manager.py:2539: in main 1778s ccc_site.get_diff_state_apply[state](config).check_return_status() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def get_diff_merged(self, config): 1778s """ 1778s Update/Create site information in Cisco Catalyst Center with fields 1778s provided in the playbook. 1778s Parameters: 1778s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s config (dict): A dictionary containing configuration information. 1778s Returns: 1778s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s Description: 1778s This method determines whether to update or create a site in Cisco Catalyst Center based on the provided 1778s configuration information. If the specified site exists, the method checks if it requires an update 1778s by calling the 'site_requires_update' method. If an update is required, it calls the 'update_site' 1778s function from the 'sites' family of the Cisco Catalyst Center API. If the site does not require an update, 1778s the method exits, indicating that the site is up to date. 1778s """ 1778s site_updated = False 1778s site_created = False 1778s 1778s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0: 1778s self.handle_config['area'] = [] 1778s self.handle_config['building'] = [] 1778s self.handle_config['floor'] = [] 1778s try: 1778s create_site = copy.deepcopy(self.handle_config["create_site"]) 1778s if len(create_site) > 0: 1778s self.log("Starting site creation process.", "DEBUG") 1778s for each_config in create_site: 1778s payload_data = self.change_payload_data(each_config.get("want")) 1778s if payload_data: 1778s payload_data[self.keymap["parent_name_hierarchy"]] =\ 1778s payload_data.get(self.keymap["parent_name"]) 1778s del payload_data[self.keymap["parent_name"]] 1778s self.log("Payload data prepared for site creation: {}".format(payload_data), "DEBUG") 1778s 1778s if payload_data.get("type") == "area": 1778s self.handle_config["area"].append(payload_data) 1778s self.log("Added to area: {}".format(payload_data), "DEBUG") 1778s elif payload_data.get("type") == "building": 1778s self.handle_config["building"].append(payload_data) 1778s self.log("Added to building: {}".format(payload_data), "DEBUG") 1778s elif payload_data.get("type") == "floor": 1778s self.handle_config["floor"].append(payload_data) 1778s self.log("Added to floor: {}".format(payload_data), "DEBUG") 1778s for each_type in ("area", "building", "floor"): 1778s if self.handle_config[each_type]: 1778s self.log("Processing configurations for '{0}'.".format(each_type), "DEBUG") 1778s for create_config in self.handle_config[each_type]: 1778s self.log("Handling configuration: {0}".format(create_config), "DEBUG") 1778s parent_name = create_config.get(self.keymap.get("parent_name_hierarchy")) 1778s if not parent_name: 1778s self.msg = "No parent name found in configuration for '{0}'.".format(each_type) 1778s self.log(self.msg, "DEBUG") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s self.log("Checking if parent site '{0}' exists in the hierarchy.".format(parent_name), "DEBUG") 1778s 1778s site_exists = self.is_site_exist(parent_name) 1778s if not site_exists: 1778s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1778s self.log(self.msg, "DEBUG") 1778s self.site_absent_list.append(str(parent_name) + " does not exist ") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s 1778s response = self.creating_bulk_site(self.handle_config[each_type]) 1778s self.log("Response from creating_bulk_site for {}: {}".format(each_type, response), "DEBUG") 1778s 1778s if response and isinstance(response, dict) and "response" in response: 1778s task_id = response["response"].get("taskId") 1778s if task_id: 1778s self.log("Task Id for the 'site_creation' task is {}".format(task_id), "INFO") 1778s 1778s task_name = "create_sites" 1778s success_msg = "Site created successfully." 1778s self.get_task_status_from_tasks_by_id(task_id, task_name, success_msg) 1778s 1778s for site in self.handle_config[each_type]: 1778s if "name" in site: 1778s self.created_site_list.append(str(each_type) + ": " + str(site.get("name"))) 1778s 1778s self.log("Site '{}' created successfully".format(self.created_site_list), "INFO") 1778s 1778s for site in self.handle_config[each_type]: 1778s if site.get("type") == "floor": 1778s floor_name = site.get("name") 1778s self.log("Floor '{}' has been created successfully.".format(floor_name), "INFO") 1778s 1778s upload_path = site.get("upload_floor_image_path", None) 1778s if upload_path: 1778s self.log("Upload path found for floor '{}'. Starting upload floor map from '{}.'". 1778s format(floor_name, upload_path), "INFO") 1778s 1778s map_details, map_status, success_message = self.upload_floor_image(site) 1778s if map_details: 1778s self.log("Floor map for '{}' uploaded successfully: {}". 1778s format(floor_name, success_message), "INFO") 1778s else: 1778s self.log("Floor map upload failed for '{}'. Please check the upload path and retry.". 1778s format(floor_name), "ERROR") 1778s else: 1778s self.log("No upload path provided for '{}'. Floor created without floor map.". 1778s format(floor_name), "INFO") 1778s else: 1778s self.log("No valid task ID received from the 'creating_bulk_site' response.", "WARNING") 1778s return None 1778s else: 1778s self.log("No response received from the 'creating_bulk_site' API call.", "WARNING") 1778s return None 1778s 1778s task_detail_list = [] 1778s for each_config in self.have: 1778s site_name_hierarchy = each_config.get("site_name_hierarchy") 1778s 1778s if each_config.get("site_exists"): 1778s self.log("Processing site: {}".format(site_name_hierarchy), "DEBUG") 1778s payload_new = self.change_payload_data(each_config.get("want")) 1778s if payload_new.get("type") == "area": 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1778s elif payload_new.get("type") in ("building", "floor"): 1778s site_params = each_config.get("site_params") 1778s site_params["site_id"] = each_config.get("site_id") 1778s site_type = site_params.get("type") 1778s 1778s if self.site_requires_update(each_config): 1778s self.log("Site requires update, starting update for type: {}".format(site_type), "DEBUG") 1778s response = (self.update_floor(site_params, payload_new) if site_type == "floor" 1778s else self.update_area(site_params) if site_type == "area" 1778s else self.update_building(site_params) if site_type == "building" 1778s else self.log("Unknown site type: {0}".format(site_type), "ERROR")) 1778s 1778s self.log("Received API response from 'update_site': {0}". 1778s format(str(response)), "DEBUG") 1778s 1778s if response and isinstance(response, dict): 1778s taskid = response["response"]["taskId"] 1778s 1778s while True: 1778s task_details = self.get_task_details(taskid) 1778s if site_type != "floor": 1778s if task_details.get("progress") == "Group is updated successfully": 1778s task_detail_list.append(task_details) 1778s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1778s self.log("Site '{}' updated successfully.".format(site_name_hierarchy), "INFO") 1778s break 1778s else: 1778s if task_details.get("progress") == "Service domain is updated successfully.": 1778s task_detail_list.append(task_details) 1778s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1778s break 1778s 1778s if task_details.get("bapiError"): 1778s msg = task_details.get("bapiError") 1778s self.set_operation_result("failed", False, msg, "ERROR", 1778s task_details).check_return_status() 1778s break 1778s else: 1778s self.msg = "Unable to execute the update the site: {0} ".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s else: 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1778s except Exception as e: 1778s self.log("Yaml is not available for bulk: {}".format(str(e)), "ERROR") 1778s 1778s return self 1778s 1778s else: 1778s site_params = self.want.get("site_params") 1778s site_type = site_params.get("type") 1778s if self.have.get("site_exists"): 1778s site_name_hierarchy = self.want.get("site_name_hierarchy") 1778s if not self.site_requires_update(): 1778s self.update_not_needed_sites.append(site_type + ": " + site_name_hierarchy) 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s else: 1778s try: 1778s site_params["site_id"] = self.have.get("site_id") 1778s self.log("Site parameters prepared for update: {}".format(site_params)) 1778s self.log("Site update process started.", "INFO") 1778s 1778s if site_params['site'].get('building'): 1778s building_details = {} 1778s for key, value in site_params['site']['building'].items(): 1778s if value is not None: 1778s building_details[key] = value 1778s 1778s site_params['site']['building'] = building_details 1778s 1778s response = self.dnac._exec( 1778s family="sites", 1778s function='update_site', 1778s op_modifies=True, 1778s params=site_params, 1778s ) 1778s self.log("Received API response from 'update_site': {0}".format(str(response)), "DEBUG") 1778s 1778s if response and isinstance(response, dict): 1778s execution_id = response.get("executionId") 1778s while True: 1778s execution_details = self.get_execution_details(execution_id) 1778s if execution_details.get("status") == "SUCCESS": 1778s self.result['changed'] = True 1778s site_updated = True 1778s self.updated_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1778s self.log("Site - {0} Updated Successfully".format(site_name_hierarchy), "INFO") 1778s break 1778s elif execution_details.get("bapiError"): 1778s self.msg = "Unable to Update: " + execution_details.get("bapiError") 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s execution_details).check_return_status() 1778s 1778s except Exception as e: 1778s self.msg = "Unexpected error occurred while update: {0}".format(str(e)) 1778s self.log(self.msg, "ERROR") 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s site_name_hierarchy).check_return_status() 1778s 1778s else: 1778s try: 1778s try: 1778s if site_params['site'].get('building'): 1778s building_details = {} 1778s for key, value in site_params['site']['building'].items(): 1778s if value is not None: 1778s building_details[key] = value 1778s 1778s site_params['site']['building'] = building_details 1778s 1778s except Exception as e: 1778s site_type = site_params['type'] 1778s name = site_params['site'][site_type]['name'] 1778s self.log("The site '{0}' is not categorized as a building; no need to filter 'None' values.". 1778s format(name), "INFO") 1778s 1778s site_type = site_params['type'] 1778s parent_name = site_params.get('site').get(site_type).get('parentName') 1778s try: 1778s response = self.get_site_v1(parent_name) 1778s if not response: 1778s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1778s self.log(self.msg, "DEBUG") 1778s self.site_absent_list.append(str(parent_name) + " does not exist ") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s except Exception as e: 1778s self.log("No response received from 'get_site_v1' API for site: {0}".format(parent_name + str(e)), "ERROR") 1778s 1778s response = self.dnac._exec( 1778s family="sites", 1778s function='create_site', 1778s op_modifies=True, 1778s params=site_params, 1778s ) 1778s self.log("Received API response from 'create_site': {0}".format(str(response)), "DEBUG") 1778s 1778s if response and isinstance(response, dict): 1778s executionid = response.get("executionId") 1778s while True: 1778s execution_details = self.get_execution_details(executionid) 1778s if execution_details.get("status") == "SUCCESS": 1778s self.result['changed'] = True 1778s break 1778s elif execution_details.get("bapiError"): 1778s self.msg = "Unable to Create: " + str(execution_details.get("bapiError")) 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s execution_details).check_return_status() 1778s break 1778s 1778s site_exists, current_site = self.site_exists() 1778s if site_exists: 1778s site_name_hierarchy = self.want.get("site_name_hierarchy") 1778s self.created_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1778s self.log("Site '{0}' created successfully".format(site_name_hierarchy), "INFO") 1778s return self 1778s 1778s except Exception as e: 1778s self.msg = "Unexpected error occurred while create: {0}".format(str(e)) 1778s self.log(self.msg, "ERROR") 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s > site_name_hierarchy).check_return_status() 1778s E UnboundLocalError: cannot access local variable 'site_name_hierarchy' where it is not associated with a value 1778s 1778s plugins/modules/site_workflow_manager.py:1900: UnboundLocalError 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites': 1778s 1778s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888 1778s 1778s ERROR logger:dnac.py:294 Site: get_diff_merged: 1898: Unexpected error occurred while create: 1778s __ TestswimWorkflowManager.test_swim_workflow_manager_playbook_activate_image __ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_swim_workflow_manager_playbook_activate_image(self): 1778s """ 1778s Test case for swim workflow manager import image url 1778s This test case checks the behavior of activativating the image in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_version='2.3.5.3', 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s config_verify=True, 1778s state="merged", 1778s config=self.playbook_activate_image 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_swim_workflow_manager.py:281: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/swim_workflow_manager.py:2415: in main 1778s ccc_swims.get_diff_state_apply[state](config).check_return_status() 1778s plugins/modules/swim_workflow_manager.py:2113: in get_diff_merged 1778s self.get_diff_activation().check_return_status() 1778s plugins/modules/swim_workflow_manager.py:1964: in get_diff_activation 1778s device_uuid_list = self.get_device_uuids(site_name, device_family, device_role, device_series_name) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def get_device_uuids(self, site_name, device_family, device_role, device_series_name=None): 1778s """ 1778s Retrieve a list of device UUIDs based on the specified criteria. 1778s Parameters: 1778s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s site_name (str): The name of the site for which device UUIDs are requested. 1778s device_family (str): The family/type of devices to filter on. 1778s device_role (str): The role of devices to filter on. If None, 'ALL' roles are considered. 1778s device_series_name(str): Specifies the name of the device series. 1778s Returns: 1778s list: A list of device UUIDs that match the specified criteria. 1778s Description: 1778s The function checks the reachability status and role of devices in the given site. 1778s Only devices with "Reachable" status are considered, and filtering is based on the specified 1778s device family and role (if provided). 1778s """ 1778s 1778s device_uuid_list = [] 1778s device_id_list, site_response_list = [], [] 1778s if not site_name: 1778s site_name = "Global" 1778s self.log("Site name not specified; defaulting to 'Global' to fetch all devices under this category", "INFO") 1778s 1778s (site_exists, site_id) = self.site_exists(site_name) 1778s if not site_exists: 1778s self.log("""Site '{0}' is not found in the Cisco Catalyst Center, hence unable to fetch associated 1778s devices.""".format(site_name), "INFO") 1778s return device_uuid_list 1778s 1778s if device_series_name: 1778s if device_series_name.startswith(".*") and device_series_name.endswith(".*"): 1778s self.log("Device series name '{0}' is already in the regex format".format(device_series_name), "INFO") 1778s else: 1778s device_series_name = ".*" + device_series_name + ".*" 1778s 1778s if self.dnac_version <= self.version_2_3_5_3: 1778s site_params = { 1778s "site_id": site_id, 1778s "device_family": device_family 1778s } 1778s 1778s try: 1778s response = self.dnac._exec( 1778s family="sites", 1778s function='get_membership', 1778s op_modifies=True, 1778s params=site_params, 1778s ) 1778s 1778s except Exception as e: 1778s self.log("Unable to fetch the device(s) associated to the site '{0}' due to '{1}'".format(site_name, str(e)), "WARNING") 1778s return device_uuid_list 1778s 1778s self.log("Received API response from 'get_membership': {0}".format(str(response)), "DEBUG") 1778s response = response.get("device") 1778s 1778s > for item in response: 1778s E TypeError: 'NoneType' object is not iterable 1778s 1778s plugins/modules/swim_workflow_manager.py:935: TypeError 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1778s ________ TestDnacSiteWorkflow.test_Site_workflow_manager_update_a_site _________ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_update_a_site(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.7.6", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_site 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:611: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:136: in changed 1778s self.assertEqual(result["changed"], changed, result) 1778s E AssertionError: False != True : {'changed': False, 'diff': [], 'response': [], 'warnings': []} 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 Site: get_diff_merged: 1783: Yaml is not available for bulk: list indices must be integers or slices, not str 1778s ____ TestDnacSiteWorkflow.test_Site_workflow_manager_update_not_needed_site ____ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_update_not_needed_site(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.5.3", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_update_site 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:585: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def main(): 1778s """ main entry point for module execution 1778s """ 1778s element_spec = {'dnac_host': {'required': True, 'type': 'str'}, 1778s 'dnac_port': {'type': 'str', 'default': '443'}, 1778s 'dnac_username': {'type': 'str', 'default': 'admin', 'aliases': ['user']}, 1778s 'dnac_password': {'type': 'str', 'no_log': True}, 1778s 'dnac_verify': {'type': 'bool', 'default': 'True'}, 1778s 'dnac_version': {'type': 'str', 'default': '2.2.3.3'}, 1778s 'dnac_debug': {'type': 'bool', 'default': False}, 1778s 'dnac_log_level': {'type': 'str', 'default': 'WARNING'}, 1778s "dnac_log_file_path": {"type": 'str', "default": 'dnac.log'}, 1778s "dnac_log_append": {"type": 'bool', "default": True}, 1778s 'dnac_log': {'type': 'bool', 'default': False}, 1778s 'validate_response_schema': {'type': 'bool', 'default': True}, 1778s 'config_verify': {'type': 'bool', "default": False}, 1778s 'dnac_api_task_timeout': {'type': 'int', "default": 1200}, 1778s 'dnac_task_poll_interval': {'type': 'int', "default": 2}, 1778s 'config': {'required': True, 'type': 'list', 'elements': 'dict'}, 1778s 'state': {'default': 'merged', 'choices': ['merged', 'deleted']} 1778s } 1778s 1778s module = AnsibleModule(argument_spec=element_spec, 1778s supports_check_mode=False) 1778s 1778s ccc_site = Site(module) 1778s state = ccc_site.params.get("state") 1778s 1778s if ccc_site.compare_dnac_versions(ccc_site.get_ccc_version(), "2.3.5.3") < 0: 1778s ccc_site.msg = ( 1778s "The specified version '{0}' does not support the site workflow feature. Supported versions start from '2.3.5.3' onwards. " 1778s "Version '2.3.5.3' introduces APIs for creating, updating, and deleting sites. " 1778s "Version '2.3.7.6' expands support to include APIs for bulk site creating, updating, and deleting sites.".format( 1778s ccc_site.get_ccc_version()) 1778s ) 1778s 1778s ccc_site.status = "failed" 1778s ccc_site.check_return_status() 1778s 1778s if state not in ccc_site.supported_states: 1778s ccc_site.status = "invalid" 1778s ccc_site.msg = "State {0} is invalid".format(state) 1778s ccc_site.check_return_status() 1778s 1778s ccc_site.validate_input().check_return_status() 1778s config_verify = ccc_site.params.get("config_verify") 1778s ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status() 1778s 1778s if ccc_site.compare_dnac_versions(ccc_site.get_ccc_version(), "2.3.7.6") >= 0: 1778s ccc_site.reset_values() 1778s ccc_site.get_want(ccc_site.validated_config).check_return_status() 1778s ccc_site.get_have(ccc_site.validated_config).check_return_status() 1778s 1778s ccc_site.get_diff_state_apply[state](ccc_site.validated_config).check_return_status() 1778s 1778s if config_verify: 1778s ccc_site.update_site_messages().check_return_status() 1778s 1778s else: 1778s for config in ccc_site.validated_config: 1778s ccc_site.reset_values() 1778s 1778s ccc_site.get_want(config).check_return_status() 1778s > ccc_site.get_have(config).check_return_status() 1778s E AttributeError: 'NoneType' object has no attribute 'check_return_status' 1778s 1778s plugins/modules/site_workflow_manager.py:2537: AttributeError 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: An unexpected error occurred while retrieving site details: 'NoneType' object is not subscriptable 1778s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_image_distribution_failed _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s def get_device_ip_from_id(self, device_id): 1778s """ 1778s Retrieve the management IP address of a device from Cisco Catalyst Center using its ID. 1778s Parameters: 1778s - self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s - device_id (str): The unique identifier of the device in Cisco Catalyst Center. 1778s Returns: 1778s str: The management IP address of the specified device. 1778s Raises: 1778s Exception: If there is an error while retrieving the response from Cisco Catalyst Center. 1778s Description: 1778s This method queries Cisco Catalyst Center for the device details based on its unique identifier (ID). 1778s It uses the 'get_device_list' function in the 'devices' family, extracts the management IP address 1778s from the response, and returns it. If any error occurs during the process, an exception is raised 1778s with an appropriate error message logged. 1778s """ 1778s 1778s try: 1778s response = self.dnac._exec( 1778s family="devices", 1778s function='get_device_list', 1778s op_modifies=True, 1778s params={"id": device_id} 1778s ) 1778s self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") 1778s > response = response.get('response')[0] 1778s E KeyError: 0 1778s 1778s plugins/modules/swim_workflow_manager.py:1746: KeyError 1778s 1778s During handling of the above exception, another exception occurred: 1778s 1778s self = 1778s 1778s def test_swim_workflow_manager_playbook_image_distribution_failed(self): 1778s """ 1778s Test case for swim workflow manager when giving image distribution failed 1778s This test case checks the behavior of the swim workflow when giving image distribution failed 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_version='2.3.5.3', 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_image_distribution_failed 1778s ) 1778s ) 1778s > result = self.execute_module(changed=False, failed=True) 1778s 1778s tests/unit/modules/dnac/test_swim_workflow_manager.py:533: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1778s result = self.failed() 1778s tests/unit/modules/dnac/dnac_module.py:125: in failed 1778s self.module.main() 1778s plugins/modules/swim_workflow_manager.py:2415: in main 1778s ccc_swims.get_diff_state_apply[state](config).check_return_status() 1778s plugins/modules/swim_workflow_manager.py:2110: in get_diff_merged 1778s self.get_diff_distribution().check_return_status() 1778s plugins/modules/swim_workflow_manager.py:1834: in get_diff_distribution 1778s device_ip = self.get_device_ip_from_id(distribution_device_id) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def get_device_ip_from_id(self, device_id): 1778s """ 1778s Retrieve the management IP address of a device from Cisco Catalyst Center using its ID. 1778s Parameters: 1778s - self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s - device_id (str): The unique identifier of the device in Cisco Catalyst Center. 1778s Returns: 1778s str: The management IP address of the specified device. 1778s Raises: 1778s Exception: If there is an error while retrieving the response from Cisco Catalyst Center. 1778s Description: 1778s This method queries Cisco Catalyst Center for the device details based on its unique identifier (ID). 1778s It uses the 'get_device_list' function in the 'devices' family, extracts the management IP address 1778s from the response, and returns it. If any error occurs during the process, an exception is raised 1778s with an appropriate error message logged. 1778s """ 1778s 1778s try: 1778s response = self.dnac._exec( 1778s family="devices", 1778s function='get_device_list', 1778s op_modifies=True, 1778s params={"id": device_id} 1778s ) 1778s self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") 1778s response = response.get('response')[0] 1778s device_ip = response.get("managementIpAddress") 1778s 1778s return device_ip 1778s except Exception as e: 1778s error_message = "Error occurred while getting the response of device from Cisco Catalyst Center: {0}".format(str(e)) 1778s self.log(error_message, "ERROR") 1778s > raise Exception(error_message) 1778s E Exception: Error occurred while getting the response of device from Cisco Catalyst Center: 0 1778s 1778s plugins/modules/swim_workflow_manager.py:1753: Exception 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1778s 1778s ERROR logger:dnac.py:294 Swim: get_device_uuids: 1058: An exception occured while fetching the device uuids from Cisco Catalyst Center: string indices must be integers, not 'str' 1778s 1778s ERROR logger:dnac.py:294 Swim: get_device_ip_from_id: 1752: Error occurred while getting the response of device from Cisco Catalyst Center: 0 1778s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_import_cco_image _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_swim_workflow_manager_playbook_import_cco_image(self): 1778s """ 1778s Test case for SWIM workflow manager to import an image from Cisco's cloud (CCO). 1778s This test case verifies the import of an image from the CCO into the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_version='2.3.7.6', 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_import_cco_image 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_swim_workflow_manager.py:303: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/swim_workflow_manager.py:2413: in main 1778s ccc_swims.get_diff_import().check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "Error: Import image details are missing from the playbook or the Import Image API was not triggered successfully. Please ensure that all necessary details are provided and verify the status of the Import Image process. Details: 'list' object has no attribute 'get'", 'response': "Error: Import image details are missing from the playbook or the Import Image API was not triggered successfully. Please ensure that all necessary details are provided and verify the status of the Import Image process. Details: 'list' object has no attribute 'get'", 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1355: image_type - cco 1778s 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1372: cat9k_iosxe_npe.17.12.04.SPA.bin 1778s 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1434: importing with the import_params - {'id': '8b01c34b-7e5e-4181-81ee-9bece7b5d078'} 1778s 1778s ERROR logger:dnac.py:294 Swim: get_diff_import: 1520: Error: Import image details are missing from the playbook or the Import Image API was not triggered successfully. Please ensure that all necessary details are provided and verify the status of the Import Image process. Details: 'list' object has no attribute 'get' 1778s _________ TestDnacSiteWorkflow.test_Site_workflow_manager_update_site __________ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s def get_diff_merged(self, config): 1778s """ 1778s Update/Create site information in Cisco Catalyst Center with fields 1778s provided in the playbook. 1778s Parameters: 1778s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s config (dict): A dictionary containing configuration information. 1778s Returns: 1778s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s Description: 1778s This method determines whether to update or create a site in Cisco Catalyst Center based on the provided 1778s configuration information. If the specified site exists, the method checks if it requires an update 1778s by calling the 'site_requires_update' method. If an update is required, it calls the 'update_site' 1778s function from the 'sites' family of the Cisco Catalyst Center API. If the site does not require an update, 1778s the method exits, indicating that the site is up to date. 1778s """ 1778s site_updated = False 1778s site_created = False 1778s 1778s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0: 1778s self.handle_config['area'] = [] 1778s self.handle_config['building'] = [] 1778s self.handle_config['floor'] = [] 1778s try: 1778s create_site = copy.deepcopy(self.handle_config["create_site"]) 1778s if len(create_site) > 0: 1778s self.log("Starting site creation process.", "DEBUG") 1778s for each_config in create_site: 1778s payload_data = self.change_payload_data(each_config.get("want")) 1778s if payload_data: 1778s payload_data[self.keymap["parent_name_hierarchy"]] =\ 1778s payload_data.get(self.keymap["parent_name"]) 1778s del payload_data[self.keymap["parent_name"]] 1778s self.log("Payload data prepared for site creation: {}".format(payload_data), "DEBUG") 1778s 1778s if payload_data.get("type") == "area": 1778s self.handle_config["area"].append(payload_data) 1778s self.log("Added to area: {}".format(payload_data), "DEBUG") 1778s elif payload_data.get("type") == "building": 1778s self.handle_config["building"].append(payload_data) 1778s self.log("Added to building: {}".format(payload_data), "DEBUG") 1778s elif payload_data.get("type") == "floor": 1778s self.handle_config["floor"].append(payload_data) 1778s self.log("Added to floor: {}".format(payload_data), "DEBUG") 1778s for each_type in ("area", "building", "floor"): 1778s if self.handle_config[each_type]: 1778s self.log("Processing configurations for '{0}'.".format(each_type), "DEBUG") 1778s for create_config in self.handle_config[each_type]: 1778s self.log("Handling configuration: {0}".format(create_config), "DEBUG") 1778s parent_name = create_config.get(self.keymap.get("parent_name_hierarchy")) 1778s if not parent_name: 1778s self.msg = "No parent name found in configuration for '{0}'.".format(each_type) 1778s self.log(self.msg, "DEBUG") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s self.log("Checking if parent site '{0}' exists in the hierarchy.".format(parent_name), "DEBUG") 1778s 1778s site_exists = self.is_site_exist(parent_name) 1778s if not site_exists: 1778s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1778s self.log(self.msg, "DEBUG") 1778s self.site_absent_list.append(str(parent_name) + " does not exist ") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s 1778s response = self.creating_bulk_site(self.handle_config[each_type]) 1778s self.log("Response from creating_bulk_site for {}: {}".format(each_type, response), "DEBUG") 1778s 1778s if response and isinstance(response, dict) and "response" in response: 1778s task_id = response["response"].get("taskId") 1778s if task_id: 1778s self.log("Task Id for the 'site_creation' task is {}".format(task_id), "INFO") 1778s 1778s task_name = "create_sites" 1778s success_msg = "Site created successfully." 1778s self.get_task_status_from_tasks_by_id(task_id, task_name, success_msg) 1778s 1778s for site in self.handle_config[each_type]: 1778s if "name" in site: 1778s self.created_site_list.append(str(each_type) + ": " + str(site.get("name"))) 1778s 1778s self.log("Site '{}' created successfully".format(self.created_site_list), "INFO") 1778s 1778s for site in self.handle_config[each_type]: 1778s if site.get("type") == "floor": 1778s floor_name = site.get("name") 1778s self.log("Floor '{}' has been created successfully.".format(floor_name), "INFO") 1778s 1778s upload_path = site.get("upload_floor_image_path", None) 1778s if upload_path: 1778s self.log("Upload path found for floor '{}'. Starting upload floor map from '{}.'". 1778s format(floor_name, upload_path), "INFO") 1778s 1778s map_details, map_status, success_message = self.upload_floor_image(site) 1778s if map_details: 1778s self.log("Floor map for '{}' uploaded successfully: {}". 1778s format(floor_name, success_message), "INFO") 1778s else: 1778s self.log("Floor map upload failed for '{}'. Please check the upload path and retry.". 1778s format(floor_name), "ERROR") 1778s else: 1778s self.log("No upload path provided for '{}'. Floor created without floor map.". 1778s format(floor_name), "INFO") 1778s else: 1778s self.log("No valid task ID received from the 'creating_bulk_site' response.", "WARNING") 1778s return None 1778s else: 1778s self.log("No response received from the 'creating_bulk_site' API call.", "WARNING") 1778s return None 1778s 1778s task_detail_list = [] 1778s for each_config in self.have: 1778s site_name_hierarchy = each_config.get("site_name_hierarchy") 1778s 1778s if each_config.get("site_exists"): 1778s self.log("Processing site: {}".format(site_name_hierarchy), "DEBUG") 1778s payload_new = self.change_payload_data(each_config.get("want")) 1778s if payload_new.get("type") == "area": 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1778s elif payload_new.get("type") in ("building", "floor"): 1778s site_params = each_config.get("site_params") 1778s site_params["site_id"] = each_config.get("site_id") 1778s site_type = site_params.get("type") 1778s 1778s if self.site_requires_update(each_config): 1778s self.log("Site requires update, starting update for type: {}".format(site_type), "DEBUG") 1778s response = (self.update_floor(site_params, payload_new) if site_type == "floor" 1778s else self.update_area(site_params) if site_type == "area" 1778s else self.update_building(site_params) if site_type == "building" 1778s else self.log("Unknown site type: {0}".format(site_type), "ERROR")) 1778s 1778s self.log("Received API response from 'update_site': {0}". 1778s format(str(response)), "DEBUG") 1778s 1778s if response and isinstance(response, dict): 1778s taskid = response["response"]["taskId"] 1778s 1778s while True: 1778s task_details = self.get_task_details(taskid) 1778s if site_type != "floor": 1778s if task_details.get("progress") == "Group is updated successfully": 1778s task_detail_list.append(task_details) 1778s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1778s self.log("Site '{}' updated successfully.".format(site_name_hierarchy), "INFO") 1778s break 1778s else: 1778s if task_details.get("progress") == "Service domain is updated successfully.": 1778s task_detail_list.append(task_details) 1778s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1778s break 1778s 1778s if task_details.get("bapiError"): 1778s msg = task_details.get("bapiError") 1778s self.set_operation_result("failed", False, msg, "ERROR", 1778s task_details).check_return_status() 1778s break 1778s else: 1778s self.msg = "Unable to execute the update the site: {0} ".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s else: 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1778s except Exception as e: 1778s self.log("Yaml is not available for bulk: {}".format(str(e)), "ERROR") 1778s 1778s return self 1778s 1778s else: 1778s site_params = self.want.get("site_params") 1778s site_type = site_params.get("type") 1778s if self.have.get("site_exists"): 1778s site_name_hierarchy = self.want.get("site_name_hierarchy") 1778s if not self.site_requires_update(): 1778s self.update_not_needed_sites.append(site_type + ": " + site_name_hierarchy) 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s else: 1778s try: 1778s site_params["site_id"] = self.have.get("site_id") 1778s self.log("Site parameters prepared for update: {}".format(site_params)) 1778s self.log("Site update process started.", "INFO") 1778s 1778s if site_params['site'].get('building'): 1778s building_details = {} 1778s for key, value in site_params['site']['building'].items(): 1778s if value is not None: 1778s building_details[key] = value 1778s 1778s site_params['site']['building'] = building_details 1778s 1778s response = self.dnac._exec( 1778s family="sites", 1778s function='update_site', 1778s op_modifies=True, 1778s params=site_params, 1778s ) 1778s self.log("Received API response from 'update_site': {0}".format(str(response)), "DEBUG") 1778s 1778s if response and isinstance(response, dict): 1778s execution_id = response.get("executionId") 1778s while True: 1778s execution_details = self.get_execution_details(execution_id) 1778s if execution_details.get("status") == "SUCCESS": 1778s self.result['changed'] = True 1778s site_updated = True 1778s self.updated_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1778s self.log("Site - {0} Updated Successfully".format(site_name_hierarchy), "INFO") 1778s break 1778s elif execution_details.get("bapiError"): 1778s self.msg = "Unable to Update: " + execution_details.get("bapiError") 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s execution_details).check_return_status() 1778s 1778s except Exception as e: 1778s self.msg = "Unexpected error occurred while update: {0}".format(str(e)) 1778s self.log(self.msg, "ERROR") 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s site_name_hierarchy).check_return_status() 1778s 1778s else: 1778s try: 1778s try: 1778s if site_params['site'].get('building'): 1778s building_details = {} 1778s for key, value in site_params['site']['building'].items(): 1778s if value is not None: 1778s building_details[key] = value 1778s 1778s site_params['site']['building'] = building_details 1778s 1778s except Exception as e: 1778s site_type = site_params['type'] 1778s name = site_params['site'][site_type]['name'] 1778s self.log("The site '{0}' is not categorized as a building; no need to filter 'None' values.". 1778s format(name), "INFO") 1778s 1778s site_type = site_params['type'] 1778s parent_name = site_params.get('site').get(site_type).get('parentName') 1778s try: 1778s response = self.get_site_v1(parent_name) 1778s if not response: 1778s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1778s self.log(self.msg, "DEBUG") 1778s self.site_absent_list.append(str(parent_name) + " does not exist ") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s except Exception as e: 1778s self.log("No response received from 'get_site_v1' API for site: {0}".format(parent_name + str(e)), "ERROR") 1778s 1778s > response = self.dnac._exec( 1778s family="sites", 1778s function='create_site', 1778s op_modifies=True, 1778s params=site_params, 1778s ) 1778s 1778s plugins/modules/site_workflow_manager.py:1868: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1778s return self._mock_call(*args, **kwargs) 1778s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1778s return self._execute_mock_call(*args, **kwargs) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s self = , args = () 1778s kwargs = {'family': 'sites', 'function': 'create_site', 'op_modifies': True, 'params': {'site': {'area': {'name': 'japan8888', 'parentName': 'Global'}}, 'type': 'area'}} 1778s effect = , result = Exception() 1778s 1778s def _execute_mock_call(self, /, *args, **kwargs): 1778s # separate from _increment_mock_call so that awaited functions are 1778s # executed separately from their call, also AsyncMock overrides this method 1778s 1778s effect = self.side_effect 1778s if effect is not None: 1778s if _is_exception(effect): 1778s raise effect 1778s elif not _callable(effect): 1778s result = next(effect) 1778s if _is_exception(result): 1778s > raise result 1778s E Exception 1778s 1778s /usr/lib/python3.13/unittest/mock.py:1232: Exception 1778s 1778s During handling of the above exception, another exception occurred: 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_update_site(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.5.3", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_update_site 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:559: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/site_workflow_manager.py:2539: in main 1778s ccc_site.get_diff_state_apply[state](config).check_return_status() 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def get_diff_merged(self, config): 1778s """ 1778s Update/Create site information in Cisco Catalyst Center with fields 1778s provided in the playbook. 1778s Parameters: 1778s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s config (dict): A dictionary containing configuration information. 1778s Returns: 1778s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s Description: 1778s This method determines whether to update or create a site in Cisco Catalyst Center based on the provided 1778s configuration information. If the specified site exists, the method checks if it requires an update 1778s by calling the 'site_requires_update' method. If an update is required, it calls the 'update_site' 1778s function from the 'sites' family of the Cisco Catalyst Center API. If the site does not require an update, 1778s the method exits, indicating that the site is up to date. 1778s """ 1778s site_updated = False 1778s site_created = False 1778s 1778s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0: 1778s self.handle_config['area'] = [] 1778s self.handle_config['building'] = [] 1778s self.handle_config['floor'] = [] 1778s try: 1778s create_site = copy.deepcopy(self.handle_config["create_site"]) 1778s if len(create_site) > 0: 1778s self.log("Starting site creation process.", "DEBUG") 1778s for each_config in create_site: 1778s payload_data = self.change_payload_data(each_config.get("want")) 1778s if payload_data: 1778s payload_data[self.keymap["parent_name_hierarchy"]] =\ 1778s payload_data.get(self.keymap["parent_name"]) 1778s del payload_data[self.keymap["parent_name"]] 1778s self.log("Payload data prepared for site creation: {}".format(payload_data), "DEBUG") 1778s 1778s if payload_data.get("type") == "area": 1778s self.handle_config["area"].append(payload_data) 1778s self.log("Added to area: {}".format(payload_data), "DEBUG") 1778s elif payload_data.get("type") == "building": 1778s self.handle_config["building"].append(payload_data) 1778s self.log("Added to building: {}".format(payload_data), "DEBUG") 1778s elif payload_data.get("type") == "floor": 1778s self.handle_config["floor"].append(payload_data) 1778s self.log("Added to floor: {}".format(payload_data), "DEBUG") 1778s for each_type in ("area", "building", "floor"): 1778s if self.handle_config[each_type]: 1778s self.log("Processing configurations for '{0}'.".format(each_type), "DEBUG") 1778s for create_config in self.handle_config[each_type]: 1778s self.log("Handling configuration: {0}".format(create_config), "DEBUG") 1778s parent_name = create_config.get(self.keymap.get("parent_name_hierarchy")) 1778s if not parent_name: 1778s self.msg = "No parent name found in configuration for '{0}'.".format(each_type) 1778s self.log(self.msg, "DEBUG") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s self.log("Checking if parent site '{0}' exists in the hierarchy.".format(parent_name), "DEBUG") 1778s 1778s site_exists = self.is_site_exist(parent_name) 1778s if not site_exists: 1778s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1778s self.log(self.msg, "DEBUG") 1778s self.site_absent_list.append(str(parent_name) + " does not exist ") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s 1778s response = self.creating_bulk_site(self.handle_config[each_type]) 1778s self.log("Response from creating_bulk_site for {}: {}".format(each_type, response), "DEBUG") 1778s 1778s if response and isinstance(response, dict) and "response" in response: 1778s task_id = response["response"].get("taskId") 1778s if task_id: 1778s self.log("Task Id for the 'site_creation' task is {}".format(task_id), "INFO") 1778s 1778s task_name = "create_sites" 1778s success_msg = "Site created successfully." 1778s self.get_task_status_from_tasks_by_id(task_id, task_name, success_msg) 1778s 1778s for site in self.handle_config[each_type]: 1778s if "name" in site: 1778s self.created_site_list.append(str(each_type) + ": " + str(site.get("name"))) 1778s 1778s self.log("Site '{}' created successfully".format(self.created_site_list), "INFO") 1778s 1778s for site in self.handle_config[each_type]: 1778s if site.get("type") == "floor": 1778s floor_name = site.get("name") 1778s self.log("Floor '{}' has been created successfully.".format(floor_name), "INFO") 1778s 1778s upload_path = site.get("upload_floor_image_path", None) 1778s if upload_path: 1778s self.log("Upload path found for floor '{}'. Starting upload floor map from '{}.'". 1778s format(floor_name, upload_path), "INFO") 1778s 1778s map_details, map_status, success_message = self.upload_floor_image(site) 1778s if map_details: 1778s self.log("Floor map for '{}' uploaded successfully: {}". 1778s format(floor_name, success_message), "INFO") 1778s else: 1778s self.log("Floor map upload failed for '{}'. Please check the upload path and retry.". 1778s format(floor_name), "ERROR") 1778s else: 1778s self.log("No upload path provided for '{}'. Floor created without floor map.". 1778s format(floor_name), "INFO") 1778s else: 1778s self.log("No valid task ID received from the 'creating_bulk_site' response.", "WARNING") 1778s return None 1778s else: 1778s self.log("No response received from the 'creating_bulk_site' API call.", "WARNING") 1778s return None 1778s 1778s task_detail_list = [] 1778s for each_config in self.have: 1778s site_name_hierarchy = each_config.get("site_name_hierarchy") 1778s 1778s if each_config.get("site_exists"): 1778s self.log("Processing site: {}".format(site_name_hierarchy), "DEBUG") 1778s payload_new = self.change_payload_data(each_config.get("want")) 1778s if payload_new.get("type") == "area": 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1778s elif payload_new.get("type") in ("building", "floor"): 1778s site_params = each_config.get("site_params") 1778s site_params["site_id"] = each_config.get("site_id") 1778s site_type = site_params.get("type") 1778s 1778s if self.site_requires_update(each_config): 1778s self.log("Site requires update, starting update for type: {}".format(site_type), "DEBUG") 1778s response = (self.update_floor(site_params, payload_new) if site_type == "floor" 1778s else self.update_area(site_params) if site_type == "area" 1778s else self.update_building(site_params) if site_type == "building" 1778s else self.log("Unknown site type: {0}".format(site_type), "ERROR")) 1778s 1778s self.log("Received API response from 'update_site': {0}". 1778s format(str(response)), "DEBUG") 1778s 1778s if response and isinstance(response, dict): 1778s taskid = response["response"]["taskId"] 1778s 1778s while True: 1778s task_details = self.get_task_details(taskid) 1778s if site_type != "floor": 1778s if task_details.get("progress") == "Group is updated successfully": 1778s task_detail_list.append(task_details) 1778s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1778s self.log("Site '{}' updated successfully.".format(site_name_hierarchy), "INFO") 1778s break 1778s else: 1778s if task_details.get("progress") == "Service domain is updated successfully.": 1778s task_detail_list.append(task_details) 1778s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1778s break 1778s 1778s if task_details.get("bapiError"): 1778s msg = task_details.get("bapiError") 1778s self.set_operation_result("failed", False, msg, "ERROR", 1778s task_details).check_return_status() 1778s break 1778s else: 1778s self.msg = "Unable to execute the update the site: {0} ".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s else: 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1778s except Exception as e: 1778s self.log("Yaml is not available for bulk: {}".format(str(e)), "ERROR") 1778s 1778s return self 1778s 1778s else: 1778s site_params = self.want.get("site_params") 1778s site_type = site_params.get("type") 1778s if self.have.get("site_exists"): 1778s site_name_hierarchy = self.want.get("site_name_hierarchy") 1778s if not self.site_requires_update(): 1778s self.update_not_needed_sites.append(site_type + ": " + site_name_hierarchy) 1778s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1778s self.log(self.msg, "INFO") 1778s else: 1778s try: 1778s site_params["site_id"] = self.have.get("site_id") 1778s self.log("Site parameters prepared for update: {}".format(site_params)) 1778s self.log("Site update process started.", "INFO") 1778s 1778s if site_params['site'].get('building'): 1778s building_details = {} 1778s for key, value in site_params['site']['building'].items(): 1778s if value is not None: 1778s building_details[key] = value 1778s 1778s site_params['site']['building'] = building_details 1778s 1778s response = self.dnac._exec( 1778s family="sites", 1778s function='update_site', 1778s op_modifies=True, 1778s params=site_params, 1778s ) 1778s self.log("Received API response from 'update_site': {0}".format(str(response)), "DEBUG") 1778s 1778s if response and isinstance(response, dict): 1778s execution_id = response.get("executionId") 1778s while True: 1778s execution_details = self.get_execution_details(execution_id) 1778s if execution_details.get("status") == "SUCCESS": 1778s self.result['changed'] = True 1778s site_updated = True 1778s self.updated_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1778s self.log("Site - {0} Updated Successfully".format(site_name_hierarchy), "INFO") 1778s break 1778s elif execution_details.get("bapiError"): 1778s self.msg = "Unable to Update: " + execution_details.get("bapiError") 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s execution_details).check_return_status() 1778s 1778s except Exception as e: 1778s self.msg = "Unexpected error occurred while update: {0}".format(str(e)) 1778s self.log(self.msg, "ERROR") 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s site_name_hierarchy).check_return_status() 1778s 1778s else: 1778s try: 1778s try: 1778s if site_params['site'].get('building'): 1778s building_details = {} 1778s for key, value in site_params['site']['building'].items(): 1778s if value is not None: 1778s building_details[key] = value 1778s 1778s site_params['site']['building'] = building_details 1778s 1778s except Exception as e: 1778s site_type = site_params['type'] 1778s name = site_params['site'][site_type]['name'] 1778s self.log("The site '{0}' is not categorized as a building; no need to filter 'None' values.". 1778s format(name), "INFO") 1778s 1778s site_type = site_params['type'] 1778s parent_name = site_params.get('site').get(site_type).get('parentName') 1778s try: 1778s response = self.get_site_v1(parent_name) 1778s if not response: 1778s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1778s self.log(self.msg, "DEBUG") 1778s self.site_absent_list.append(str(parent_name) + " does not exist ") 1778s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1778s except Exception as e: 1778s self.log("No response received from 'get_site_v1' API for site: {0}".format(parent_name + str(e)), "ERROR") 1778s 1778s response = self.dnac._exec( 1778s family="sites", 1778s function='create_site', 1778s op_modifies=True, 1778s params=site_params, 1778s ) 1778s self.log("Received API response from 'create_site': {0}".format(str(response)), "DEBUG") 1778s 1778s if response and isinstance(response, dict): 1778s executionid = response.get("executionId") 1778s while True: 1778s execution_details = self.get_execution_details(executionid) 1778s if execution_details.get("status") == "SUCCESS": 1778s self.result['changed'] = True 1778s break 1778s elif execution_details.get("bapiError"): 1778s self.msg = "Unable to Create: " + str(execution_details.get("bapiError")) 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s execution_details).check_return_status() 1778s break 1778s 1778s site_exists, current_site = self.site_exists() 1778s if site_exists: 1778s site_name_hierarchy = self.want.get("site_name_hierarchy") 1778s self.created_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1778s self.log("Site '{0}' created successfully".format(site_name_hierarchy), "INFO") 1778s return self 1778s 1778s except Exception as e: 1778s self.msg = "Unexpected error occurred while create: {0}".format(str(e)) 1778s self.log(self.msg, "ERROR") 1778s self.set_operation_result("failed", False, self.msg, "ERROR", 1778s > site_name_hierarchy).check_return_status() 1778s E UnboundLocalError: cannot access local variable 'site_name_hierarchy' where it is not associated with a value 1778s 1778s plugins/modules/site_workflow_manager.py:1900: UnboundLocalError 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites': 1778s 1778s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888 1778s 1778s ERROR logger:dnac.py:294 Site: get_diff_merged: 1898: Unexpected error occurred while create: 1778s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_import_image_already_exist _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_swim_workflow_manager_playbook_import_image_already_exist(self): 1778s """ 1778s Test case for swim workflow manager when giving import image already exist 1778s This test case checks the behavior of the swim workflow when giving import image already exist 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_version='2.3.5.3', 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_import_image_already_exist 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=False) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Image(s) cat9k_iosxe.17.12.02.SPA.bin were skipped as they already exist in Cisco Catalyst Center. No new images were imported." 1778s ) 1778s E AssertionError: 'Imag[61 chars]y exist in Cisco Catalyst Center.' != 'Imag[61 chars]y exist in Cisco Catalyst Center. No new images were imported.' 1778s E - Image(s) cat9k_iosxe.17.12.02.SPA.bin were skipped as they already exist in Cisco Catalyst Center. 1778s E + Image(s) cat9k_iosxe.17.12.02.SPA.bin were skipped as they already exist in Cisco Catalyst Center. No new images were imported. 1778s E ? +++++++++++++++++++++++++++++ 1778s 1778s tests/unit/modules/dnac/test_swim_workflow_manager.py:465: AssertionError 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1355: image_type - remote 1778s 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1372: cat9k_iosxe.17.12.02.SPA.bin 1778s _______ TestDnacSiteWorkflow.test_Site_workflow_manager_upload_floor_map _______ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_Site_workflow_manager_upload_floor_map(self): 1778s """ 1778s Test case for site workflow manager when creating a site. 1778s 1778s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_version="2.3.7.6", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.upload_floor_map_playbook 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_site_workflow_manager.py:320: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/site_workflow_manager.py:2520: in main 1778s ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "Missing or invalid parameters in playbook config: 'name should not be None or empty, parent_name should not be None or empty, Site_type should not be None or empty' ", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s ------------------------------ Captured log call ------------------------------- 1778s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1188: Missing 'name' field in entry. 1778s 1778s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1196: Missing 'parent_name' field in entry. 1778s 1778s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1335: Missing or invalid parameters in playbook config: 'name should not be None or empty, parent_name should not be None or empty, Site_type should not be None or empty' 1778s _ TestswimWorkflowManager.test_swim_workflow_playbook_image_distribution_successfull _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_swim_workflow_playbook_image_distribution_successfull(self): 1778s """ 1778s Test case for SWIM workflow manager image distribution. 1778s This test case verifies the successful distribution of an image to all specified devices in the Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_version='2.3.5.3', 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_image_distribution_successfull 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_swim_workflow_manager.py:395: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/swim_workflow_manager.py:2415: in main 1778s ccc_swims.get_diff_state_apply[state](config).check_return_status() 1778s plugins/modules/swim_workflow_manager.py:2110: in get_diff_merged 1778s self.get_diff_distribution().check_return_status() 1778s plugins/modules/swim_workflow_manager.py:1828: in get_diff_distribution 1778s device_uuid_list = self.get_device_uuids(site_name, device_family, device_role, device_series_name) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def get_device_uuids(self, site_name, device_family, device_role, device_series_name=None): 1778s """ 1778s Retrieve a list of device UUIDs based on the specified criteria. 1778s Parameters: 1778s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s site_name (str): The name of the site for which device UUIDs are requested. 1778s device_family (str): The family/type of devices to filter on. 1778s device_role (str): The role of devices to filter on. If None, 'ALL' roles are considered. 1778s device_series_name(str): Specifies the name of the device series. 1778s Returns: 1778s list: A list of device UUIDs that match the specified criteria. 1778s Description: 1778s The function checks the reachability status and role of devices in the given site. 1778s Only devices with "Reachable" status are considered, and filtering is based on the specified 1778s device family and role (if provided). 1778s """ 1778s 1778s device_uuid_list = [] 1778s device_id_list, site_response_list = [], [] 1778s if not site_name: 1778s site_name = "Global" 1778s self.log("Site name not specified; defaulting to 'Global' to fetch all devices under this category", "INFO") 1778s 1778s (site_exists, site_id) = self.site_exists(site_name) 1778s if not site_exists: 1778s self.log("""Site '{0}' is not found in the Cisco Catalyst Center, hence unable to fetch associated 1778s devices.""".format(site_name), "INFO") 1778s return device_uuid_list 1778s 1778s if device_series_name: 1778s if device_series_name.startswith(".*") and device_series_name.endswith(".*"): 1778s self.log("Device series name '{0}' is already in the regex format".format(device_series_name), "INFO") 1778s else: 1778s device_series_name = ".*" + device_series_name + ".*" 1778s 1778s if self.dnac_version <= self.version_2_3_5_3: 1778s site_params = { 1778s "site_id": site_id, 1778s "device_family": device_family 1778s } 1778s 1778s try: 1778s response = self.dnac._exec( 1778s family="sites", 1778s function='get_membership', 1778s op_modifies=True, 1778s params=site_params, 1778s ) 1778s 1778s except Exception as e: 1778s self.log("Unable to fetch the device(s) associated to the site '{0}' due to '{1}'".format(site_name, str(e)), "WARNING") 1778s return device_uuid_list 1778s 1778s self.log("Received API response from 'get_membership': {0}".format(str(response)), "DEBUG") 1778s response = response.get("device") 1778s 1778s > for item in response: 1778s E TypeError: 'NoneType' object is not iterable 1778s 1778s plugins/modules/swim_workflow_manager.py:935: TypeError 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1778s __ TestswimWorkflowManager.test_swim_workflow_manager_playbook_site_not_exist __ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_swim_workflow_manager_playbook_site_not_exist(self): 1778s """ 1778s Test case for swim workflow manager when giving site not exist 1778s This test case checks the behavior of the swim workflow when giving site not exist 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_version='2.3.5.3', 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_site_not_exist 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "An exception occurred: Site 'Global/ltts/flor1' does not exist in the Cisco Catalyst Center" 1778s ) 1778s E AssertionError: "An e[26 chars]lobal/ltts/flor1' does not exist in the Cisco Catalyst Center." != "An e[26 chars]lobal/ltts/flor1' does not exist in the Cisco Catalyst Center" 1778s E - An exception occurred: Site 'Global/ltts/flor1' does not exist in the Cisco Catalyst Center. 1778s E ? - 1778s E + An exception occurred: Site 'Global/ltts/flor1' does not exist in the Cisco Catalyst Center 1778s 1778s tests/unit/modules/dnac/test_swim_workflow_manager.py:488: AssertionError 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1778s 1778s ERROR logger:dnac.py:294 Swim: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_site' from Family: 'sites'. Parameters: {'name': 'Global/ltts/flor1'}. Exception: . 1778s 1778s ERROR logger:dnac.py:294 Swim: site_exists: 671: An exception occurred: Site 'Global/ltts/flor1' does not exist in the Cisco Catalyst Center. 1778s _ TestswimWorkflowManager.test_swim_workflow_playbook_image_distribution_successfull_v2_3_7_6 _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s def site_exists(self, site_name): 1778s """ 1778s Parameters: 1778s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1778s Returns: 1778s tuple: A tuple containing two values: 1778s - site_exists (bool): A boolean indicating whether the site exists (True) or not (False). 1778s - site_id (str or None): The ID of the site if it exists, or None if the site is not found. 1778s Description: 1778s This method checks the existence of a site in the Catalyst Center. If the site is found,it sets 'site_exists' to True, 1778s retrieves the site's ID, and returns both values in a tuple. If the site does not exist, 'site_exists' is set 1778s to False, and 'site_id' is None. If an exception occurs during the site lookup, an exception is raised. 1778s """ 1778s 1778s site_exists = False 1778s site_id = None 1778s response = None 1778s 1778s try: 1778s response = self.get_site(site_name) 1778s if response is None: 1778s > raise ValueError 1778s E ValueError 1778s 1778s plugins/modules/swim_workflow_manager.py:662: ValueError 1778s 1778s During handling of the above exception, another exception occurred: 1778s 1778s self = 1778s 1778s def test_swim_workflow_playbook_image_distribution_successfull_v2_3_7_6(self): 1778s """ 1778s Test case for SWIM workflow manager image distribution with DNAC version 2.3.7.6. 1778s This test case verifies the successful distribution of an image to all specified devices in the Cisco Catalyst Center for DNAC version 2.3.7.6. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_version='2.3.7.6', 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_image_distribution_successfull_v2_3_7_6 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_swim_workflow_manager.py:418: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/swim_workflow_manager.py:2417: in main 1778s ccc_swims.verify_diff_state_apply[state](config).check_return_status() 1778s plugins/modules/swim_workflow_manager.py:2314: in verify_diff_merged 1778s self.get_have() 1778s plugins/modules/swim_workflow_manager.py:1167: in get_have 1778s (site_exists, site_id) = self.site_exists(site_name) 1778s plugins/modules/swim_workflow_manager.py:672: in site_exists 1778s self.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "An exception occurred: Site 'Global/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center.", 'response': "An exception occurred: Site 'Global/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center.", 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1778s 1778s WARNING logger:dnac.py:294 Swim: get_diff_distribution: 1892: The SWIM image distribution task could not proceed because no eligible devices were found 1778s 1778s WARNING logger:dnac.py:294 Swim: execute_get_request: 1866: Empty 'response' key in the API response from GET API call to Function: 'get_sites' from Family: 'site_design'. 1778s 1778s ERROR logger:dnac.py:294 Swim: site_exists: 671: An exception occurred: Site 'Global/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center. 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_create_1_role _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_create_1_role(self): 1778s """ 1778s Test case for user role workflow manager when creating a role. 1778s 1778s This test case checks the behavior of the role workflow when creating a new role in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_1_role 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:510: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/user_role_workflow_manager.py:3458: in main 1778s ccc_user_role.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_swim_image_golden_already_tagged _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_swim_workflow_manager_playbook_swim_image_golden_already_tagged(self): 1778s """ 1778s Test case for swim workflow manager when givingswim image golden already tagged 1778s This test case checks the behavior of the swim workflow when giving swim image golden already tagged 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_version='2.3.5.3', 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_swim_image_golden_already_tagged 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=False) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "SWIM Image 'cat9k_iosxe.17.12.02.SPA.bin' already tagged as Golden image in Cisco Catalyst Center" 1778s ) 1778s E AssertionError: "SWIM[52 chars] as Golden image in Cisco Catalyst Center for the roles - ALL." != "SWIM[52 chars] as Golden image in Cisco Catalyst Center" 1778s E - SWIM Image 'cat9k_iosxe.17.12.02.SPA.bin' already tagged as Golden image in Cisco Catalyst Center for the roles - ALL. 1778s E ? --------------------- 1778s E + SWIM Image 'cat9k_iosxe.17.12.02.SPA.bin' already tagged as Golden image in Cisco Catalyst Center 1778s 1778s tests/unit/modules/dnac/test_swim_workflow_manager.py:580: AssertionError 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_create_default_role _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_create_default_role(self): 1778s """ 1778s Test case for user role workflow manager when update is not needed for a role . 1778s 1778s This test case checks the behavior of the role workflow when update is not needed for a role in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_for_creating_default_role 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:787: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/user_role_workflow_manager.py:3458: in main 1778s ccc_user_role.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_create_role __ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_create_role(self): 1778s """ 1778s Test case for user role workflow manager when creating a role. 1778s 1778s This test case checks the behavior of the role workflow when creating a new role in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_role 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:487: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/user_role_workflow_manager.py:3458: in main 1778s ccc_user_role.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_swim_image_golden_tag _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_swim_workflow_manager_playbook_swim_image_golden_tag(self): 1778s """ 1778s Test case for swim workflow manager when givingswim image golden already tagged 1778s This test case checks the behavior of the swim workflow when giving swim image golden tagged 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_version='2.3.5.3', 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config_verify=True, 1778s config=self.playbook_swim_image_golden_tag 1778s ) 1778s ) 1778s result = self.execute_module(changed=True, failed=False) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Tagging image cat9k_iosxe.17.12.02.SPA.bin golden for site Global for family Cisco Catalyst 9300 Switch for device deviceTag ALL successful." 1778s ) 1778s E AssertionError: 'Tagging image cat9k_iosxe.17.12.02.SPA.bin golden for s[76 chars]ful.' != 'Tagging image cat9k_iosxe.17.12.02.SPA.bin golden for[85 chars]ful.' 1778s E - Tagging image cat9k_iosxe.17.12.02.SPA.bin golden for site Global for family Cisco Catalyst 9300 Switch for device role ALL successful. 1778s E ? ^^^ 1778s E + Tagging image cat9k_iosxe.17.12.02.SPA.bin golden for site Global for family Cisco Catalyst 9300 Switch for device deviceTag ALL successful. 1778s E ? + + + + ^ +++++++ 1778s 1778s tests/unit/modules/dnac/test_swim_workflow_manager.py:557: AssertionError 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1778s 1778s WARNING logger:dnac.py:294 Swim: get_have: 1154: Site Name not given by user. Using global site. 1778s 1778s WARNING logger:dnac.py:294 Swim: get_have: 1154: Site Name not given by user. Using global site. 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_create_user __ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_create_user(self): 1778s """ 1778s Test case for user role workflow manager when creating a user. 1778s 1778s This test case checks the behavior of the user workflow when creating a new user in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_user 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:228: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/user_role_workflow_manager.py:3458: in main 1778s ccc_user_role.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_delete_existing_role _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_delete_existing_role(self): 1778s """ 1778s Test case for user role workflow manager when deleting a role. 1778s 1778s This test case checks the behavior of the role workflow when deleting a role in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="deleted", 1778s config=self.playbook_config_role 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:579: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/user_role_workflow_manager.py:3458: in main 1778s ccc_user_role.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_untag_image_as_golden_and_load_on_device _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_swim_workflow_manager_playbook_untag_image_as_golden_and_load_on_device(self): 1778s """ 1778s Test case for swim workflow manager when giving untag image as golden and load on device 1778s This test case checks the behavior of the swim workflow when giving untag image as golden and load on device 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_version='2.3.5.3', 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_untag_image_as_golden_and_load_on_device 1778s ) 1778s ) 1778s result = self.execute_module(changed=True, failed=False) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Untagging of image cat9k_iosxe.17.12.02.SPA.bin for site LTTS for family Cisco \ 1778s Catalyst 9000 UADP 8 Port Virtual Switch for device deviceTag ALL successful." 1778s ) 1778s E AssertionError: 'Un-Tagging image cat9k_iosxe.17.12.02.SPA.b[116 chars]ful.' != 'Untagging of image cat9k_iosxe.17.12.02.SP[112 chars]ful.' 1778s E - Un-Tagging image cat9k_iosxe.17.12.02.SPA.bin golden for site Global/LTTS for family Cisco Catalyst 9000 UADP 8 Port Virtual Switch for device role ALL successful. 1778s E ? ^^ ------- ^^^^^^^ ^^^ 1778s E + Untagging of image cat9k_iosxe.17.12.02.SPA.bin for site LTTS for family Cisco Catalyst 9000 UADP 8 Port Virtual Switch for device deviceTag ALL successful. 1778s E ? ^ +++ + ^ + ^ +++++++ 1778s 1778s tests/unit/modules/dnac/test_swim_workflow_manager.py:442: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'changed': True, 'diff': [], 'response': 'Un-Tagging image cat9k_iosxe.17.12.02.SPA.bin golden for site Global/LTTS for family Cisco Catalyst 9000 UADP 8 Port Virtual Switch for device role ALL successful.', 'warnings': [], 'msg': 'Un-Tagging image cat9k_iosxe.17.12.02.SPA.bin golden for site Global/LTTS for family Cisco Catalyst 9000 UADP 8 Port Virtual Switch for device role ALL successful.'} 1778s ------------------------------ Captured log call ------------------------------- 1778s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_invalid_param_role_invalid_permission _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_invalid_param_role_invalid_permission(self): 1778s """ 1778s Test case for user workflow manager when invalid role param given. 1778s 1778s This test case checks the behavior of the user workflow when invalid role param given in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_invalid_param_role_invalid_permission 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get("msg"), 1778s "Invalid permission aaa for assurance resource overall" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Invalid permission aaa for assurance resource overall' 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + Invalid permission aaa for assurance resource overall 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:743: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_delete_existing_user _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_delete_existing_user(self): 1778s """ 1778s Test case for user role workflow manager when deleting a user. 1778s 1778s This test case checks the behavior of the user workflow when deleting a user in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="deleted", 1778s config=self.playbook_config_delete_existing_user 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:297: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/user_role_workflow_manager.py:3458: in main 1778s ccc_user_role.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_invalid_param_role_update_invalid_permission _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_invalid_param_role_update_invalid_permission(self): 1778s """ 1778s Test case for user workflow manager when invalid role param given. 1778s 1778s This test case checks the behavior of the user workflow when invalid role param given in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_invalid_param_role_invalid_permission 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get("msg"), 1778s "Invalid permission aaa for assurance resource overall" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Invalid permission aaa for assurance resource overall' 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + Invalid permission aaa for assurance resource overall 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:766: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_delete_non_existing_role _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_delete_non_existing_role(self): 1778s """ 1778s Test case for user role workflow manager when deleting a non existing role. 1778s 1778s This test case checks the behavior of the role workflow when deleting a non existing role in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="deleted", 1778s config=self.playbook_config_role 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Please provide a valid role_name for role deletion" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Please provide a valid role_name for role deletion' 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + Please provide a valid role_name for role deletion 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:604: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_invalid_param_type_list_missing _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_invalid_param_type_list_missing(self): 1778s """ 1778s Test case for user workflow manager when invalid role param given. 1778s 1778s This test case checks the behavior of the user workflow when invalid role param given in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_invalid_param_type_list_missing 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get("msg"), 1778s "Configuration is not available in the playbook for validation or user/role details are not type list" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Configuration is not available in the pl[56 chars]list' 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + Configuration is not available in the playbook for validation or user/role details are not type list 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:720: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_delete_non_existing_user _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_delete_non_existing_user(self): 1778s """ 1778s Test case for user role workflow manager when deleting a non existing user. 1778s 1778s This test case checks the behavior of the user workflow when deleting a non existing user in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="deleted", 1778s config=self.playbook_config_user 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get("msg"), 1778s "Please provide a valid 'username' or 'email' for user deletion" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Please provide a valid 'username' or 'ema[17 chars]tion" 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + Please provide a valid 'username' or 'email' for user deletion 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:322: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_invalid_param_not_type_list _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_role_invalid_param_not_type_list(self): 1778s """ 1778s Test case for user role workflow manager when invalid role param given. 1778s 1778s This test case checks the behavior of the role workflow when invalid role param given in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_invalid_param_role_not_type_list 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Invalid parameter(s) found in playbook: {'overall': 'read'} : is not a valid list" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Invalid parameter(s) found in playbook: {[36 chars]list" 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + Invalid parameter(s) found in playbook: {'overall': 'read'} : is not a valid list 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:650: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_invalid_param_rolename_not_correct_formate _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_role_invalid_param_rolename_not_correct_formate(self): 1778s """ 1778s Test case for user workflow manager when invalid role param given. 1778s 1778s This test case checks the behavior of the user workflow when invalid role param given in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_invalid_param_rolename_not_correct_formate 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get("msg"), 1778s "Invalid parameters in playbook config: role_name: 'Test_Role_1 ' must only contain letters, numbers, underscores \ 1778s and hyphens and should not contain spaces or other special characters." 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Invalid parameters in playbook config: ro[138 chars]ers." 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + Invalid parameters in playbook config: role_name: 'Test_Role_1 ' must only contain letters, numbers, underscores and hyphens and should not contain spaces or other special characters. 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:696: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_param_with_all_permision_deny _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_role_param_with_all_permision_deny(self): 1778s """ 1778s Test case for user role workflow manager when invalid role param given. 1778s 1778s This test case checks the behavior of the role workflow when invalid role param given in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_invalid_param_with_all_permision_deny 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "An error occurred while creating the role without access-level parameters and permissions" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'An error occurred while creating the rol[45 chars]ions' 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + An error occurred while creating the role without access-level parameters and permissions 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:673: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_invalid_param_rolename_not_present _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_role_invalid_param_rolename_not_present(self): 1778s """ 1778s Test case for user role workflow manager when invalid role param given. 1778s 1778s This test case checks the behavior of the role workflow when invalid role param given in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_invalid_param_rolename_not_present 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Configuration params like 'username' or 'email' or 'role_name' is not available in the playbook" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Configuration params like 'username' or '[50 chars]book" 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + Configuration params like 'username' or 'email' or 'role_name' is not available in the playbook 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:627: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_update_not_needed _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_role_update_not_needed(self): 1778s """ 1778s Test case for user role workflow manager when update is not needed for a role . 1778s 1778s This test case checks the behavior of the role workflow when update is not needed for a role in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_role 1778s ) 1778s ) 1778s > result = self.execute_module(changed=False, failed=False) 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:556: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/user_role_workflow_manager.py:3458: in main 1778s ccc_user_role.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_update_needed _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_role_update_needed(self): 1778s """ 1778s Test case for user role workflow manager when update for a role is needed. 1778s 1778s This test case checks the behavior of the role workflow when updating a existing role in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_role 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:533: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/user_role_workflow_manager.py:3458: in main 1778s ccc_user_role.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_param_not_correct_formate _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_user_invalid_param_not_correct_formate(self): 1778s """ 1778s Test case for user workflow manager when invalid user param given. 1778s 1778s This test case checks the behavior of the user workflow when invalid user param given in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_invalid_param_username_not_correct_formate 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get("msg"), 1778s "Invalid parameters in playbook config: first_name: 'ajith ' must only contain letters, \ 1778s numbers, underscores and hyphens and should not contain spaces or other \ 1778s special characters., last_name: 'andrew ' must only contain letters, numbers, underscores \ 1778s and hyphens and should not contain spaces or other special characters., email: Invalid email format for 'email': ajith.andrewexample.com, \ 1778s password: 'Password' does not meet complexity requirements for password: \ 1778s Ajith123, username: 'ajithandrewj ' must only contain letters, numbers, underscores \ 1778s and hyphens and should not contain spaces or other special characters." 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Invalid parameters in playbook config: fi[569 chars]ers." 1778s E Diff is 981 characters long. Set self.maxDiff to None to see it. 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:391: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_mandatory_field_not_present_param _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_user_invalid_mandatory_field_not_present_param(self): 1778s """ 1778s Test case for user workflow manager when invalid user param given. 1778s 1778s This test case checks the behavior of the user workflow when invalid user param given in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_invalid_param_mandatory_field_not_present 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get("msg"), 1778s "Mandatory field not present: An error occurred while creating the user" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Mandatory field not present: An error oc[26 chars]user' 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + Mandatory field not present: An error occurred while creating the user 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:345: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_param_not_type_list _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_user_invalid_param_not_type_list(self): 1778s """ 1778s Test case for user role workflow manager when invalid user param given. 1778s 1778s This test case checks the behavior of the role workflow when invalid user param given in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_invalid_param_user_rolelist_not_type_list 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "Invalid parameter(s) found in playbook: Super-Admin-Role : is not a valid list" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Invalid parameter(s) found in playbook: [34 chars]list' 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + Invalid parameter(s) found in playbook: Super-Admin-Role : is not a valid list 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:420: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_param_rolelist_not_found _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_user_invalid_param_rolelist_not_found(self): 1778s """ 1778s Test case for user role workflow manager when invalid user param given. 1778s 1778s This test case checks the behavior of the role workflow when invalid user param given in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_user_invalid_param_rolelist_not_found 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "The role name in the user details role_list is not present in the Cisco Catalyst Center, Please provide a valid role name" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'The role name in the user details role_l[77 chars]name' 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + The role name in the user details role_list is not present in the Cisco Catalyst Center, Please provide a valid role name 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:443: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_param_update_rolelist_not_found _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_user_invalid_param_update_rolelist_not_found(self): 1778s """ 1778s Test case for user role workflow manager when invalid user param given. 1778s 1778s This test case checks the behavior of the role workflow when invalid user param given in the specified Cisco Calyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_user_invalid_param_rolelist_not_found 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get('msg'), 1778s "The role name in the user details role_list is not present in the Cisco Catalyst Center, Please provide a valid role name" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'The role name in the user details role_l[77 chars]name' 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + The role name in the user details role_list is not present in the Cisco Catalyst Center, Please provide a valid role name 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:466: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_username_email_not_present_param _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_user_invalid_username_email_not_present_param(self): 1778s """ 1778s Test case for user workflow manager when invalid user param given. 1778s 1778s This test case checks the behavior of the user workflow when invalid user param given in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_invalid_param_username_email_not_present 1778s ) 1778s ) 1778s result = self.execute_module(changed=False, failed=True) 1778s print(result) 1778s > self.assertEqual( 1778s result.get("msg"), 1778s "Configuration params like 'username' or 'email' or 'role_name' is not available in the playbook" 1778s ) 1778s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Configuration params like 'username' or '[50 chars]book" 1778s E - The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles. 1778s E + Configuration params like 'username' or 'email' or 'role_name' is not available in the playbook 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:368: AssertionError 1778s ----------------------------- Captured stdout call ----------------------------- 1778s {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_update_needed _ 1778s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_user_update_needed(self): 1778s """ 1778s Test case for user role workflow manager when updating a user. 1778s 1778s This test case checks the behavior of the user workflow when updating a user in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_user 1778s ) 1778s ) 1778s > result = self.execute_module(changed=True, failed=False) 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:251: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/user_role_workflow_manager.py:3458: in main 1778s ccc_user_role.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_update_not_needed _ 1778s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1778s 1778s self = 1778s 1778s def test_user_role_workflow_manager_user_update_not_needed(self): 1778s """ 1778s Test case for user role workflow manager when user update not needed. 1778s 1778s This test case checks the behavior of the user workflow when user update not needed in the specified Cisco Catalyst Center. 1778s """ 1778s set_module_args( 1778s dict( 1778s dnac_host="1.1.1.1", 1778s dnac_username="dummy", 1778s dnac_password="dummy", 1778s dnac_log=True, 1778s state="merged", 1778s config=self.playbook_config_user 1778s ) 1778s ) 1778s > result = self.execute_module(changed=False, failed=False) 1778s 1778s tests/unit/modules/dnac/test_user_role_workflow_manager.py:274: 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1778s result = self.changed(changed) 1778s tests/unit/modules/dnac/dnac_module.py:133: in changed 1778s self.module.main() 1778s plugins/modules/user_role_workflow_manager.py:3458: in main 1778s ccc_user_role.check_return_status() 1778s plugins/module_utils/dnac.py:307: in check_return_status 1778s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1778s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1778s 1778s def fail_json(*args, **kwargs): 1778s kwargs["failed"] = True 1778s > raise AnsibleFailJson(kwargs) 1778s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the user and role workflow feature. Supported versions start from '2.3.5.3' onwards. Version '2.3.5.3' introduces APIs for creating and updating users, as well as retrieving users and roles. Version '2.3.7.6' expands support to include APIs for creating, updating, retrieving, and deleting both users and roles.", 'response': [], 'failed': True} 1778s 1778s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1778s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/dnac/tests/output/junit/python3.13-controller-units.xml - 1778s =========================== short test summary info ============================ 1778s ERROR tests/unit/modules/dnac/test_discovery_intent.py::TestDnacDiscoveryIntent 1778s ERROR tests/unit/modules/dnac/test_discovery_intent.py::TestDnacDiscoveryIntent 1778s ERROR tests/unit/modules/dnac/test_pnp_intent.py::TestDnacPnPIntent - TypeErr... 1778s ERROR tests/unit/modules/dnac/test_pnp_intent.py::TestDnacPnPIntent - TypeErr... 1778s ERROR tests/unit/modules/dnac/test_site_intent.py::TestDnacSiteIntent - TypeE... 1778s ERROR tests/unit/modules/dnac/test_site_intent.py::TestDnacSiteIntent - TypeE... 1778s ERROR tests/unit/modules/dnac/test_swim_intent.py::TestDnacSwimIntent - TypeE... 1778s ERROR tests/unit/modules/dnac/test_swim_intent.py::TestDnacSwimIntent - TypeE... 1778s ERROR tests/unit/modules/dnac/test_template_intent.py::TestDnacTemplateIntent 1778s ERROR tests/unit/modules/dnac/test_template_intent.py::TestDnacTemplateIntent 1778s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_null_sync_status 1778s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_accesspoint_workflow_manager_negative_config_input 1778s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_update_verify 1778s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_add_existing_devices 1778s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_accesspoint_workflow_manager_provision_device 1778s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_add_udf 1778s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_del_provisioned_device_2353 1778s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_delete_a_device 1778s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_accesspoint_workflow_manager_provision_old_version 1778s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_delete_device_udf 1778s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_delete_provisioned_device 1778s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_accesspoint_workflow_manager_some_error_data_update_accesspoint 1778s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_prov_device_2353 1778s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_provision_device 1778s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_accesspoint_workflow_manager_task_error_update_accesspoint 1778s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_invalid_get_site_device 1778s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_provision_failed_for_site 1778s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_invalid_site_exists 1778s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_invalid_wlc_device 1778s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_update_mgmt_ip 1778s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_already_sync_cred 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_categories_iplist 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist 1778s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_apply_sync 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_failure_1 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_failure_2 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_failure_3 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_failure_4 1778s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_assign_cred_1 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_failure_5 1778s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_assign_cred_2 1778s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_creation 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_site 1778s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_deletion 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_1 1778s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_invalid_site 1778s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_invalid_site_response 1778s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_invalid_site_response_2 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_2 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_aaa_get 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_3 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_4 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_banner_get 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_5 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_dhcp_gett 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_6 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_dns_get 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_ntp_get 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_scale_run_compliance 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_iplist 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_site_not_exist 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_iplist_failure_1 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_telemetry_get 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_timezone_get 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_iplist_failure_2 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_iplist_site 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_aaa 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_iplist_site_nr 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_banner 1778s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_site 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_global_pool_Updation_not_req 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_dns 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_global_pool_creation 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_global_pool_deletion 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_ntp 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_timezone 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_telemetry 1778s FAILED tests/unit/modules/dnac/test_provision_workflow_manager.py::TestDnacProvisionWorkflow::test_provision_workflow_manager_playbook_provision_device 1778s FAILED tests/unit/modules/dnac/test_provision_workflow_manager.py::TestDnacProvisionWorkflow::test_provision_workflow_manager_playbook_wireless_provision 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_mandatory_aaa_param 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_network_not_need_update 1778s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_deploy_workflow_failure_unmark_failure 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_null_network_params 1778s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_deploy_workflow_failure_unmark_success 1778s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_deploy_workflow_success 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_update 1778s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_mark_device_failure 1778s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_mark_device_for_replacement_exception 1778s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_replacement_device_not_found 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_create_bulk_site 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_not_verified 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_create_site 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_reserve_pool_creation 1778s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_reserve_pool_deletion 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_create_site_bulk_invalid 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_delete_a_new_site 1778s FAILED tests/unit/modules/dnac/test_pnp_workflow_manager.py::TestDnacPnpWorkflow::test_pnp_workflow_manager_claim_switch 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_delete_a_site 1778s FAILED tests/unit/modules/dnac/test_provision_workflow_manager.py::TestDnacProvisionWorkflow::test_provision_workflow_manager_playbook_assign_wired_device_to_site 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_invalid_delete_config 1778s FAILED tests/unit/modules/dnac/test_provision_workflow_manager.py::TestDnacProvisionWorkflow::test_provision_workflow_manager_playbook_del_provision_device 1778s FAILED tests/unit/modules/dnac/test_provision_workflow_manager.py::TestDnacProvisionWorkflow::test_provision_workflow_manager_playbook_force_provision_device 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_invalid_delete_site 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_verify_diff_merged_site 1778s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_activate_image 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_update_a_site 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_update_not_needed_site 1778s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_image_distribution_failed 1778s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_import_cco_image 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_update_site 1778s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_import_image_already_exist 1778s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_upload_floor_map 1778s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_playbook_image_distribution_successfull 1778s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_site_not_exist 1778s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_playbook_image_distribution_successfull_v2_3_7_6 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_create_1_role 1778s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_swim_image_golden_already_tagged 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_create_default_role 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_create_role 1778s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_swim_image_golden_tag 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_create_user 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_delete_existing_role 1778s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_untag_image_as_golden_and_load_on_device 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_invalid_param_role_invalid_permission 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_delete_existing_user 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_invalid_param_role_update_invalid_permission 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_delete_non_existing_role 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_invalid_param_type_list_missing 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_delete_non_existing_user 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_invalid_param_not_type_list 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_invalid_param_rolename_not_correct_formate 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_param_with_all_permision_deny 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_invalid_param_rolename_not_present 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_update_not_needed 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_update_needed 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_param_not_correct_formate 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_mandatory_field_not_present_param 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_param_not_type_list 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_param_rolelist_not_found 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_param_update_rolelist_not_found 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_username_email_not_present_param 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_update_needed 1778s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_update_not_needed 1778s ================== 134 failed, 33 passed, 10 errors in 17.63s ================== 1778s ## return code is 1 1778s 1778s 1778s 1778s ############################################################ 1778s ############################################################ 1778s #### Running FLAKY tests in ansible_collections/community/dns 1778s ############################################################ 1778s ############################################################ 1778s Unit test modules with Python 3.13 1779s ============================= test session starts ============================== 1779s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1779s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns 1779s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1779s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1779s created: 2/2 workers 1779s 2 workers [0 items] 1779s 1779s 1779s ==================================== ERRORS ==================================== 1779s ____ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_record.py ____ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_record.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hetzner_dns_record.py:9: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s _ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_record_info.py __ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_record_info.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hetzner_dns_record_info.py:9: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s __ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_record_set.py __ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_record_set.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hetzner_dns_record_set.py:9: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s _ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_record_set_info.py _ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_record_set_info.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hetzner_dns_record_set_info.py:9: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s _ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_record_sets.py __ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_record_sets.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hetzner_dns_record_sets.py:9: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s __ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_zone_info.py ___ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_zone_info.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hetzner_dns_zone_info.py:9: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s ___ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_record.py ____ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_record.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hosttech_dns_record.py:11: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s _ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_record_info.py _ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_record_info.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hosttech_dns_record_info.py:11: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s _ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_record_set.py __ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_record_set.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hosttech_dns_record_set.py:11: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s _ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_record_set_info.py _ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_record_set_info.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hosttech_dns_record_set_info.py:11: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s _ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_record_sets.py _ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_record_sets.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hosttech_dns_record_sets.py:11: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s __ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_zone_info.py __ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_zone_info.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_hosttech_dns_zone_info.py:11: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s _____ ERROR collecting tests/unit/plugins/modules/test_nameserver_info.py ______ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_nameserver_info.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_nameserver_info.py:14: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock, patch 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s __ ERROR collecting tests/unit/plugins/modules/test_nameserver_record_info.py __ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_nameserver_record_info.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_nameserver_record_info.py:14: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock, patch 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s _______ ERROR collecting tests/unit/plugins/modules/test_wait_for_txt.py _______ 1779s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_wait_for_txt.py'. 1779s Hint: make sure your test modules/packages have valid Python names. 1779s Traceback: 1779s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1779s return _bootstrap._gcd_import(name[level:], package, level) 1779s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1779s assertion_rewriting_hook.exec_module(module) 1779s tests/unit/plugins/modules/test_wait_for_txt.py:14: in 1779s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock, patch 1779s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1779s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/output/junit/python3.13-modules-units.xml - 1779s =========================== short test summary info ============================ 1779s ERROR tests/unit/plugins/modules/test_hetzner_dns_record.py 1779s ERROR tests/unit/plugins/modules/test_hetzner_dns_record_info.py 1779s ERROR tests/unit/plugins/modules/test_hetzner_dns_record_set.py 1779s ERROR tests/unit/plugins/modules/test_hetzner_dns_record_set_info.py 1779s ERROR tests/unit/plugins/modules/test_hetzner_dns_record_sets.py 1779s ERROR tests/unit/plugins/modules/test_hetzner_dns_zone_info.py 1779s ERROR tests/unit/plugins/modules/test_hosttech_dns_record.py 1779s ERROR tests/unit/plugins/modules/test_hosttech_dns_record_info.py 1779s ERROR tests/unit/plugins/modules/test_hosttech_dns_record_set.py 1779s ERROR tests/unit/plugins/modules/test_hosttech_dns_record_set_info.py 1779s ERROR tests/unit/plugins/modules/test_hosttech_dns_record_sets.py 1779s ERROR tests/unit/plugins/modules/test_hosttech_dns_zone_info.py 1779s ERROR tests/unit/plugins/modules/test_nameserver_info.py 1779s ERROR tests/unit/plugins/modules/test_nameserver_record_info.py 1779s ERROR tests/unit/plugins/modules/test_wait_for_txt.py 1779s ============================== 15 errors in 1.42s ============================== 1779s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns tests/unit/plugins/modules/test_hetzner_dns_record.py tests/unit/plugins/modules/test_hetzner_dns_record_info.py tests/unit/plugins/modules/test_hetzner_dns_record_set.py tests/unit/plugins/modules/test_hetzner_dns_record_set_info.py tests/unit/plugins/modules/test_hetzner_dns_record_sets.py tests/unit/plugins/modules/test_hetzner_dns_zone_info.py tests/unit/plugins/modules/test_hosttech_dns_record.py tests/unit/plugins/modules/test_hosttech_dns_record_info.py tests/unit/plugins/modules/test_hosttech_dns_record_set.py tests/unit/plugins/modules/test_hosttech_dns_record_set_info.py tests/unit/plugins/modules/test_hosttech_dns_record_sets.py tests/unit/plugins/modules/test_hosttech_dns_zone_info.py tests/unit/plugins/modules/test_nameserver_info.py tests/unit/plugins/modules/test_nameserver_record_info.py tests/unit/plugins/modules/test_wait_for_txt.py" returned exit status 1. 1779s ## return code is 1 1779s 1779s 1779s 1779s ############################################################ 1779s ############################################################ 1779s #### Running FLAKY tests in ansible_collections/community/general 1779s ############################################################ 1779s ############################################################ 1780s Unit test modules with Python 3.13 1785s ============================= test session starts ============================== 1785s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1785s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/general 1785s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1785s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1785s created: 2/2 workers 1785s 2 workers [1282 items] 1785s 1787s ....F.F.FFFF.F..F....................................................... [ 5%] 1788s ........................................................................ [ 11%] 1789s ........................................................................ [ 16%] 1790s ...........................................................s............ [ 22%] 1793s ...............................s.......................FFFFFF........... [ 28%] 1795s ........................................................................ [ 33%] 1797s ........................................................................ [ 39%] 1799s ........................................................................ [ 44%] 1801s ........................................................................ [ 50%] 1803s ........................................................................ [ 56%] 1805s ........................................................................ [ 61%] 1807s ........................................................................ [ 67%] 1809s ...........................................s............s.........sss... [ 73%] 1811s ........................................................................ [ 78%] 1839s ........................................................................ [ 84%] 1841s ........................................................................ [ 89%] 1843s ........................................................................ [ 95%] 1873s .......................................................... [100%] 1873s ==================================== ERRORS ==================================== 1873s _______ ERROR collecting tests/unit/plugins/modules/test_jenkins_node.py _______ 1873s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/general/tests/unit/plugins/modules/test_jenkins_node.py'. 1873s Hint: make sure your test modules/packages have valid Python names. 1873s Traceback: 1873s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1873s return _bootstrap._gcd_import(name[level:], package, level) 1873s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1873s assertion_rewriting_hook.exec_module(module) 1873s tests/unit/plugins/modules/test_jenkins_node.py:8: in 1873s import jenkins 1873s E ModuleNotFoundError: No module named 'jenkins' 1873s _______ ERROR collecting tests/unit/plugins/modules/test_nomad_token.py ________ 1873s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/general/tests/unit/plugins/modules/test_nomad_token.py'. 1873s Hint: make sure your test modules/packages have valid Python names. 1873s Traceback: 1873s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1873s return _bootstrap._gcd_import(name[level:], package, level) 1873s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1873s assertion_rewriting_hook.exec_module(module) 1873s tests/unit/plugins/modules/test_nomad_token.py:11: in 1873s import nomad 1873s E ModuleNotFoundError: No module named 'nomad' 1873s =================================== FAILURES =================================== 1873s ___________________ TestGithubRepo.test_create_new_org_repo ____________________ 1873s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s self = 1873s 1873s @with_httmock(get_orgs_mock) 1873s @with_httmock(get_repo_notfound_mock) 1873s @with_httmock(create_new_org_repo_mock) 1873s def test_create_new_org_repo(self): 1873s > result = github_repo.run_module({ 1873s 'username': None, 1873s 'password': None, 1873s "access_token": "mytoken", 1873s "organization": "MyOrganization", 1873s "name": "myrepo", 1873s "description": "Just for fun", 1873s "private": False, 1873s "state": "present", 1873s "api_url": "https://api.github.com", 1873s "force_defaults": False, 1873s }) 1873s 1873s tests/unit/plugins/modules/test_github_repo.py:179: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s plugins/modules/github_repo.py:222: in run_module 1873s gh = authenticate( 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s username = None, password = None, access_token = 'mytoken' 1873s api_url = 'https://api.github.com' 1873s 1873s def authenticate(username=None, password=None, access_token=None, api_url=None): 1873s if not api_url: 1873s return None 1873s 1873s if access_token: 1873s > return Github(base_url=api_url, login_or_token=access_token) 1873s E NameError: name 'Github' is not defined 1873s 1873s plugins/modules/github_repo.py:150: NameError 1873s ______________ TestGithubRepo.test_create_new_org_repo_incomplete ______________ 1873s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s self = 1873s 1873s @with_httmock(get_orgs_mock) 1873s @with_httmock(get_repo_notfound_mock) 1873s @with_httmock(create_new_org_repo_mock) 1873s def test_create_new_org_repo_incomplete(self): 1873s > result = github_repo.run_module({ 1873s 'username': None, 1873s 'password': None, 1873s "access_token": "mytoken", 1873s "organization": "MyOrganization", 1873s "name": "myrepo", 1873s "description": None, 1873s "private": None, 1873s "state": "present", 1873s "api_url": "https://api.github.com", 1873s "force_defaults": False, 1873s }) 1873s 1873s tests/unit/plugins/modules/test_github_repo.py:200: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s plugins/modules/github_repo.py:222: in run_module 1873s gh = authenticate( 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s username = None, password = None, access_token = 'mytoken' 1873s api_url = 'https://api.github.com' 1873s 1873s def authenticate(username=None, password=None, access_token=None, api_url=None): 1873s if not api_url: 1873s return None 1873s 1873s if access_token: 1873s > return Github(base_url=api_url, login_or_token=access_token) 1873s E NameError: name 'Github' is not defined 1873s 1873s plugins/modules/github_repo.py:150: NameError 1873s ___________________ TestGithubRepo.test_create_new_user_repo ___________________ 1873s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s self = 1873s 1873s @with_httmock(get_user_mock) 1873s @with_httmock(get_repo_notfound_mock) 1873s @with_httmock(create_new_user_repo_mock) 1873s def test_create_new_user_repo(self): 1873s > result = github_repo.run_module({ 1873s 'username': None, 1873s 'password': None, 1873s "access_token": "mytoken", 1873s "organization": None, 1873s "name": "myrepo", 1873s "description": "Just for fun", 1873s "private": True, 1873s "state": "present", 1873s "api_url": "https://api.github.com", 1873s "force_defaults": False, 1873s }) 1873s 1873s tests/unit/plugins/modules/test_github_repo.py:221: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s plugins/modules/github_repo.py:222: in run_module 1873s gh = authenticate( 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s username = None, password = None, access_token = 'mytoken' 1873s api_url = 'https://api.github.com' 1873s 1873s def authenticate(username=None, password=None, access_token=None, api_url=None): 1873s if not api_url: 1873s return None 1873s 1873s if access_token: 1873s > return Github(base_url=api_url, login_or_token=access_token) 1873s E NameError: name 'Github' is not defined 1873s 1873s plugins/modules/github_repo.py:150: NameError 1873s _____________________ TestGithubRepo.test_delete_org_repo ______________________ 1873s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s self = 1873s 1873s @with_httmock(get_orgs_mock) 1873s @with_httmock(get_repo_mock) 1873s @with_httmock(delete_repo_mock) 1873s def test_delete_org_repo(self): 1873s > result = github_repo.run_module({ 1873s 'username': None, 1873s 'password': None, 1873s "access_token": "mytoken", 1873s "organization": "MyOrganization", 1873s "name": "myrepo", 1873s "description": "Just for fun", 1873s "private": False, 1873s "state": "absent", 1873s "api_url": "https://api.github.com", 1873s "force_defaults": False, 1873s }) 1873s 1873s tests/unit/plugins/modules/test_github_repo.py:278: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s plugins/modules/github_repo.py:222: in run_module 1873s gh = authenticate( 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s username = None, password = None, access_token = 'mytoken' 1873s api_url = 'https://api.github.com' 1873s 1873s def authenticate(username=None, password=None, access_token=None, api_url=None): 1873s if not api_url: 1873s return None 1873s 1873s if access_token: 1873s > return Github(base_url=api_url, login_or_token=access_token) 1873s E NameError: name 'Github' is not defined 1873s 1873s plugins/modules/github_repo.py:150: NameError 1873s _________________ TestGithubRepo.test_delete_org_repo_notfound _________________ 1873s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s self = 1873s 1873s @with_httmock(get_orgs_mock) 1873s @with_httmock(get_repo_notfound_mock) 1873s @with_httmock(delete_repo_notfound_mock) 1873s def test_delete_org_repo_notfound(self): 1873s > result = github_repo.run_module({ 1873s 'username': None, 1873s 'password': None, 1873s "access_token": "mytoken", 1873s "organization": "MyOrganization", 1873s "name": "myrepo", 1873s "description": "Just for fun", 1873s "private": True, 1873s "state": "absent", 1873s "api_url": "https://api.github.com", 1873s "force_defaults": False, 1873s }) 1873s 1873s tests/unit/plugins/modules/test_github_repo.py:314: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s plugins/modules/github_repo.py:222: in run_module 1873s gh = authenticate( 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s username = None, password = None, access_token = 'mytoken' 1873s api_url = 'https://api.github.com' 1873s 1873s def authenticate(username=None, password=None, access_token=None, api_url=None): 1873s if not api_url: 1873s return None 1873s 1873s if access_token: 1873s > return Github(base_url=api_url, login_or_token=access_token) 1873s E NameError: name 'Github' is not defined 1873s 1873s plugins/modules/github_repo.py:150: NameError 1873s _____________________ TestGithubRepo.test_delete_user_repo _____________________ 1873s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s self = 1873s 1873s @with_httmock(get_user_mock) 1873s @with_httmock(get_repo_mock) 1873s @with_httmock(delete_repo_mock) 1873s def test_delete_user_repo(self): 1873s > result = github_repo.run_module({ 1873s 'username': None, 1873s 'password': None, 1873s "access_token": "mytoken", 1873s "organization": None, 1873s "name": "myrepo", 1873s "description": "Just for fun", 1873s "private": False, 1873s "state": "absent", 1873s "api_url": "https://api.github.com", 1873s "force_defaults": False, 1873s }) 1873s 1873s tests/unit/plugins/modules/test_github_repo.py:296: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s plugins/modules/github_repo.py:222: in run_module 1873s gh = authenticate( 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s username = None, password = None, access_token = 'mytoken' 1873s api_url = 'https://api.github.com' 1873s 1873s def authenticate(username=None, password=None, access_token=None, api_url=None): 1873s if not api_url: 1873s return None 1873s 1873s if access_token: 1873s > return Github(base_url=api_url, login_or_token=access_token) 1873s E NameError: name 'Github' is not defined 1873s 1873s plugins/modules/github_repo.py:150: NameError 1873s __________ TestGithubRepo.test_idempotency_existing_org_private_repo ___________ 1873s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s self = 1873s 1873s @with_httmock(get_orgs_mock) 1873s @with_httmock(get_private_repo_mock) 1873s def test_idempotency_existing_org_private_repo(self): 1873s > result = github_repo.run_module({ 1873s 'username': None, 1873s 'password': None, 1873s "access_token": "mytoken", 1873s "organization": "MyOrganization", 1873s "name": "myrepo", 1873s "description": None, 1873s "private": None, 1873s "state": "present", 1873s "api_url": "https://api.github.com", 1873s "force_defaults": False, 1873s }) 1873s 1873s tests/unit/plugins/modules/test_github_repo.py:258: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s plugins/modules/github_repo.py:222: in run_module 1873s gh = authenticate( 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s username = None, password = None, access_token = 'mytoken' 1873s api_url = 'https://api.github.com' 1873s 1873s def authenticate(username=None, password=None, access_token=None, api_url=None): 1873s if not api_url: 1873s return None 1873s 1873s if access_token: 1873s > return Github(base_url=api_url, login_or_token=access_token) 1873s E NameError: name 'Github' is not defined 1873s 1873s plugins/modules/github_repo.py:150: NameError 1873s _________________ TestGithubRepo.test_patch_existing_org_repo __________________ 1873s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s self = 1873s 1873s @with_httmock(get_orgs_mock) 1873s @with_httmock(get_repo_mock) 1873s @with_httmock(patch_repo_mock) 1873s def test_patch_existing_org_repo(self): 1873s > result = github_repo.run_module({ 1873s 'username': None, 1873s 'password': None, 1873s "access_token": "mytoken", 1873s "organization": "MyOrganization", 1873s "name": "myrepo", 1873s "description": "Just for fun", 1873s "private": True, 1873s "state": "present", 1873s "api_url": "https://api.github.com", 1873s "force_defaults": False, 1873s }) 1873s 1873s tests/unit/plugins/modules/test_github_repo.py:240: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s plugins/modules/github_repo.py:222: in run_module 1873s gh = authenticate( 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s username = None, password = None, access_token = 'mytoken' 1873s api_url = 'https://api.github.com' 1873s 1873s def authenticate(username=None, password=None, access_token=None, api_url=None): 1873s if not api_url: 1873s return None 1873s 1873s if access_token: 1873s > return Github(base_url=api_url, login_or_token=access_token) 1873s E NameError: name 'Github' is not defined 1873s 1873s plugins/modules/github_repo.py:150: NameError 1873s _________________ test_find_version_by_spec[None-(,3.9]-3.8.2] _________________ 1873s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s mocker = 1873s version_by_spec = '(,3.9]', version_choosed = '3.8.2' 1873s 1873s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1873s (None, "(,3.9]", "3.8.2"), 1873s (None, "3.0", "3.8.2"), 1873s (None, "[3.7]", "3.7"), 1873s (None, "[4.10, 4.12]", "4.12"), 1873s (None, "[4.10, 4.12)", "4.11"), 1873s (None, "[2.0,)", "4.13-beta-2"), 1873s ]) 1873s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1873s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1873s _getContent.return_value = maven_metadata_example 1873s 1873s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1873s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1873s 1873s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1873s 1873s tests/unit/plugins/modules/test_maven_artifact.py:71: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s self = 1873s artifact = 1873s 1873s def find_version_by_spec(self, artifact): 1873s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1873s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1873s xml = etree.fromstring(content) 1873s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1873s versions = [] 1873s for version in original_versions: 1873s try: 1873s > versions.append(Version.coerce(version)) 1873s E NameError: name 'Version' is not defined 1873s 1873s plugins/modules/maven_artifact.py:407: NameError 1873s __________________ test_find_version_by_spec[None-3.0-3.8.2] ___________________ 1873s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s mocker = 1873s version_by_spec = '3.0', version_choosed = '3.8.2' 1873s 1873s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1873s (None, "(,3.9]", "3.8.2"), 1873s (None, "3.0", "3.8.2"), 1873s (None, "[3.7]", "3.7"), 1873s (None, "[4.10, 4.12]", "4.12"), 1873s (None, "[4.10, 4.12)", "4.11"), 1873s (None, "[2.0,)", "4.13-beta-2"), 1873s ]) 1873s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1873s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1873s _getContent.return_value = maven_metadata_example 1873s 1873s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1873s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1873s 1873s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1873s 1873s tests/unit/plugins/modules/test_maven_artifact.py:71: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s self = 1873s artifact = 1873s 1873s def find_version_by_spec(self, artifact): 1873s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1873s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1873s xml = etree.fromstring(content) 1873s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1873s versions = [] 1873s for version in original_versions: 1873s try: 1873s > versions.append(Version.coerce(version)) 1873s E NameError: name 'Version' is not defined 1873s 1873s plugins/modules/maven_artifact.py:407: NameError 1873s __________________ test_find_version_by_spec[None-[3.7]-3.7] ___________________ 1873s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s mocker = 1873s version_by_spec = '[3.7]', version_choosed = '3.7' 1873s 1873s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1873s (None, "(,3.9]", "3.8.2"), 1873s (None, "3.0", "3.8.2"), 1873s (None, "[3.7]", "3.7"), 1873s (None, "[4.10, 4.12]", "4.12"), 1873s (None, "[4.10, 4.12)", "4.11"), 1873s (None, "[2.0,)", "4.13-beta-2"), 1873s ]) 1873s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1873s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1873s _getContent.return_value = maven_metadata_example 1873s 1873s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1873s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1873s 1873s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1873s 1873s tests/unit/plugins/modules/test_maven_artifact.py:71: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s self = 1873s artifact = 1873s 1873s def find_version_by_spec(self, artifact): 1873s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1873s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1873s xml = etree.fromstring(content) 1873s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1873s versions = [] 1873s for version in original_versions: 1873s try: 1873s > versions.append(Version.coerce(version)) 1873s E NameError: name 'Version' is not defined 1873s 1873s plugins/modules/maven_artifact.py:407: NameError 1873s ______________ test_find_version_by_spec[None-[4.10, 4.12]-4.12] _______________ 1873s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s mocker = 1873s version_by_spec = '[4.10, 4.12]', version_choosed = '4.12' 1873s 1873s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1873s (None, "(,3.9]", "3.8.2"), 1873s (None, "3.0", "3.8.2"), 1873s (None, "[3.7]", "3.7"), 1873s (None, "[4.10, 4.12]", "4.12"), 1873s (None, "[4.10, 4.12)", "4.11"), 1873s (None, "[2.0,)", "4.13-beta-2"), 1873s ]) 1873s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1873s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1873s _getContent.return_value = maven_metadata_example 1873s 1873s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1873s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1873s 1873s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1873s 1873s tests/unit/plugins/modules/test_maven_artifact.py:71: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s self = 1873s artifact = 1873s 1873s def find_version_by_spec(self, artifact): 1873s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1873s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1873s xml = etree.fromstring(content) 1873s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1873s versions = [] 1873s for version in original_versions: 1873s try: 1873s > versions.append(Version.coerce(version)) 1873s E NameError: name 'Version' is not defined 1873s 1873s plugins/modules/maven_artifact.py:407: NameError 1873s ______________ test_find_version_by_spec[None-[4.10, 4.12)-4.11] _______________ 1873s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s mocker = 1873s version_by_spec = '[4.10, 4.12)', version_choosed = '4.11' 1873s 1873s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1873s (None, "(,3.9]", "3.8.2"), 1873s (None, "3.0", "3.8.2"), 1873s (None, "[3.7]", "3.7"), 1873s (None, "[4.10, 4.12]", "4.12"), 1873s (None, "[4.10, 4.12)", "4.11"), 1873s (None, "[2.0,)", "4.13-beta-2"), 1873s ]) 1873s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1873s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1873s _getContent.return_value = maven_metadata_example 1873s 1873s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1873s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1873s 1873s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1873s 1873s tests/unit/plugins/modules/test_maven_artifact.py:71: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s self = 1873s artifact = 1873s 1873s def find_version_by_spec(self, artifact): 1873s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1873s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1873s xml = etree.fromstring(content) 1873s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1873s versions = [] 1873s for version in original_versions: 1873s try: 1873s > versions.append(Version.coerce(version)) 1873s E NameError: name 'Version' is not defined 1873s 1873s plugins/modules/maven_artifact.py:407: NameError 1873s ______________ test_find_version_by_spec[None-[2.0,)-4.13-beta-2] ______________ 1873s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1873s 1873s mocker = 1873s version_by_spec = '[2.0,)', version_choosed = '4.13-beta-2' 1873s 1873s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1873s (None, "(,3.9]", "3.8.2"), 1873s (None, "3.0", "3.8.2"), 1873s (None, "[3.7]", "3.7"), 1873s (None, "[4.10, 4.12]", "4.12"), 1873s (None, "[4.10, 4.12)", "4.11"), 1873s (None, "[2.0,)", "4.13-beta-2"), 1873s ]) 1873s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1873s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1873s _getContent.return_value = maven_metadata_example 1873s 1873s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1873s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1873s 1873s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1873s 1873s tests/unit/plugins/modules/test_maven_artifact.py:71: 1873s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1873s 1873s self = 1873s artifact = 1873s 1873s def find_version_by_spec(self, artifact): 1873s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1873s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1873s xml = etree.fromstring(content) 1873s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1873s versions = [] 1873s for version in original_versions: 1873s try: 1873s > versions.append(Version.coerce(version)) 1873s E NameError: name 'Version' is not defined 1873s 1873s plugins/modules/maven_artifact.py:407: NameError 1873s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/general/tests/output/junit/python3.13-modules-units.xml - 1873s =========================== short test summary info ============================ 1873s SKIPPED [1] tests/unit/plugins/modules/test_datadog_downtime.py:19: could not import 'datadog_api_client': No module named 'datadog_api_client' 1873s SKIPPED [1] tests/unit/plugins/modules/test_dnsimple.py:17: could not import 'dnsimple': No module named 'dnsimple' 1873s SKIPPED [1] tests/unit/plugins/modules/test_linode_v4.py:14: could not import 'linode_api4': No module named 'linode_api4' 1873s SKIPPED [1] tests/unit/plugins/modules/helper.py:99: test helper does not support check mode yet 1873s SKIPPED [1] tests/unit/plugins/modules/test_linode.py: test_linode.py requires the `linode-python` module 1873s SKIPPED [1] tests/unit/plugins/modules/test_redis_data.py:137: Redis version > 3.4.0 1873s SKIPPED [1] tests/unit/plugins/modules/test_redis_data_incr.py:107: Redis version > 3.4.0 1873s SKIPPED [1] tests/unit/plugins/modules/test_redis_data_info.py:68: Redis version > 3.4.0 1873s SKIPPED [1] tests/unit/plugins/modules/test_redis_data_info.py:85: Redis version > 3.4.0 1873s SKIPPED [1] tests/unit/plugins/modules/test_redis_data_info.py:101: Redis version > 3.4.0 1873s ERROR tests/unit/plugins/modules/test_jenkins_node.py 1873s ERROR tests/unit/plugins/modules/test_nomad_token.py 1873s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_create_new_org_repo 1873s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_create_new_org_repo_incomplete 1873s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_create_new_user_repo 1873s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_delete_org_repo 1873s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_delete_org_repo_notfound 1873s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_delete_user_repo 1873s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_idempotency_existing_org_private_repo 1873s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_patch_existing_org_repo 1873s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-(,3.9]-3.8.2] 1873s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-3.0-3.8.2] 1873s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-[3.7]-3.7] 1873s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-[4.10, 4.12]-4.12] 1873s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-[4.10, 4.12)-4.11] 1873s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-[2.0,)-4.13-beta-2] 1873s ======= 14 failed, 1261 passed, 10 skipped, 2 errors in 93.18s (0:01:33) ======= 1874s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/general/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/general --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/general tests/unit/plugins/modules/interfaces_file/test_interfaces_file.py tests/unit/plugins/modules/test_alerta_customer.py tests/unit/plugins/modules/test_apache2_module.py tests/unit/plugins/modules/test_apk.py tests/unit/plugins/modules/test_archive.py tests/unit/plugins/modules/test_bitbucket_access_key.py tests/unit/plugins/modules/test_bitbucket_pipeline_key_pair.py tests/unit/plugins/modules/test_bitbucket_pipeline_known_host.py tests/unit/plugins/modules/test_bitbucket_pipeline_variable.py tests/unit/plugins/modules/test_bootc_manage.py tests/unit/plugins/modules/test_campfire.py tests/unit/plugins/modules/test_circonus_annotation.py tests/unit/plugins/modules/test_cpanm.py tests/unit/plugins/modules/test_datadog_downtime.py tests/unit/plugins/modules/test_dconf.py tests/unit/plugins/modules/test_discord.py tests/unit/plugins/modules/test_django_check.py tests/unit/plugins/modules/test_django_command.py tests/unit/plugins/modules/test_django_createcachetable.py tests/unit/plugins/modules/test_dnf_config_manager.py tests/unit/plugins/modules/test_dnsimple.py tests/unit/plugins/modules/test_dnsimple_info.py tests/unit/plugins/modules/test_facter_facts.py tests/unit/plugins/modules/test_gconftool2.py tests/unit/plugins/modules/test_gconftool2_info.py tests/unit/plugins/modules/test_gem.py tests/unit/plugins/modules/test_gio_mime.py tests/unit/plugins/modules/test_github_repo.py tests/unit/plugins/modules/test_gitlab_deploy_key.py tests/unit/plugins/modules/test_gitlab_group.py tests/unit/plugins/modules/test_gitlab_group_access_token.py tests/unit/plugins/modules/test_gitlab_hook.py tests/unit/plugins/modules/test_gitlab_project.py tests/unit/plugins/modules/test_gitlab_project_access_token.py tests/unit/plugins/modules/test_gitlab_protected_branch.py tests/unit/plugins/modules/test_gitlab_runner.py tests/unit/plugins/modules/test_gitlab_user.py tests/unit/plugins/modules/test_homebrew.py tests/unit/plugins/modules/test_homebrew_cask.py tests/unit/plugins/modules/test_icinga2_feature.py tests/unit/plugins/modules/test_ini_file.py tests/unit/plugins/modules/test_ipa_getkeytab.py tests/unit/plugins/modules/test_ipa_otpconfig.py tests/unit/plugins/modules/test_ipa_otptoken.py tests/unit/plugins/modules/test_ipa_pwpolicy.py tests/unit/plugins/modules/test_ipbase.py tests/unit/plugins/modules/test_java_keystore.py tests/unit/plugins/modules/test_jenkins_build.py tests/unit/plugins/modules/test_jenkins_build_info.py tests/unit/plugins/modules/test_jenkins_node.py tests/unit/plugins/modules/test_jenkins_plugin.py tests/unit/plugins/modules/test_keycloak_authentication.py tests/unit/plugins/modules/test_keycloak_authentication_required_actions.py tests/unit/plugins/modules/test_keycloak_client.py tests/unit/plugins/modules/test_keycloak_client_rolemapping.py tests/unit/plugins/modules/test_keycloak_clientscope.py tests/unit/plugins/modules/test_keycloak_component.py tests/unit/plugins/modules/test_keycloak_identity_provider.py tests/unit/plugins/modules/test_keycloak_realm.py tests/unit/plugins/modules/test_keycloak_realm_info.py tests/unit/plugins/modules/test_keycloak_realm_keys.py tests/unit/plugins/modules/test_keycloak_realm_keys_metadata_info.py tests/unit/plugins/modules/test_keycloak_role.py tests/unit/plugins/modules/test_keycloak_user.py tests/unit/plugins/modules/test_keycloak_user_federation.py tests/unit/plugins/modules/test_keycloak_userprofile.py tests/unit/plugins/modules/test_krb_ticket.py tests/unit/plugins/modules/test_linode.py tests/unit/plugins/modules/test_linode_v4.py tests/unit/plugins/modules/test_lvg_rename.py tests/unit/plugins/modules/test_lxca_cmms.py tests/unit/plugins/modules/test_lxca_nodes.py tests/unit/plugins/modules/test_macports.py tests/unit/plugins/modules/test_maven_artifact.py tests/unit/plugins/modules/test_modprobe.py tests/unit/plugins/modules/test_monit.py tests/unit/plugins/modules/test_nmcli.py tests/unit/plugins/modules/test_nomad_token.py tests/unit/plugins/modules/test_npm.py tests/unit/plugins/modules/test_ocapi_command.py tests/unit/plugins/modules/test_ocapi_info.py tests/unit/plugins/modules/test_one_vm.py tests/unit/plugins/modules/test_oneview_datacenter_info.py tests/unit/plugins/modules/test_oneview_enclosure_info.py tests/unit/plugins/modules/test_oneview_ethernet_network.py tests/unit/plugins/modules/test_oneview_ethernet_network_info.py tests/unit/plugins/modules/test_oneview_fc_network.py tests/unit/plugins/modules/test_oneview_fc_network_info.py tests/unit/plugins/modules/test_oneview_fcoe_network.py tests/unit/plugins/modules/test_oneview_fcoe_network_info.py tests/unit/plugins/modules/test_oneview_logical_interconnect_group.py tests/unit/plugins/modules/test_oneview_logical_interconnect_group_info.py tests/unit/plugins/modules/test_oneview_network_set.py tests/unit/plugins/modules/test_oneview_network_set_info.py tests/unit/plugins/modules/test_oneview_san_manager.py tests/unit/plugins/modules/test_oneview_san_manager_info.py tests/unit/plugins/modules/test_opkg.py tests/unit/plugins/modules/test_pacman.py tests/unit/plugins/modules/test_pacman_key.py tests/unit/plugins/modules/test_pagerduty.py tests/unit/plugins/modules/test_pagerduty_alert.py tests/unit/plugins/modules/test_pagerduty_change.py tests/unit/plugins/modules/test_pamd.py tests/unit/plugins/modules/test_parted.py tests/unit/plugins/modules/test_pkgin.py tests/unit/plugins/modules/test_pmem.py tests/unit/plugins/modules/test_pritunl_org.py tests/unit/plugins/modules/test_pritunl_org_info.py tests/unit/plugins/modules/test_pritunl_user.py tests/unit/plugins/modules/test_pritunl_user_info.py tests/unit/plugins/modules/test_proxmox_backup.py tests/unit/plugins/modules/test_proxmox_backup_info.py tests/unit/plugins/modules/test_proxmox_kvm.py tests/unit/plugins/modules/test_proxmox_snap.py tests/unit/plugins/modules/test_proxmox_storage_contents_info.py tests/unit/plugins/modules/test_proxmox_tasks_info.py tests/unit/plugins/modules/test_proxmox_template.py tests/unit/plugins/modules/test_proxmox_vm_info.py tests/unit/plugins/modules/test_puppet.py tests/unit/plugins/modules/test_redhat_subscription.py tests/unit/plugins/modules/test_redis_data.py tests/unit/plugins/modules/test_redis_data_incr.py tests/unit/plugins/modules/test_redis_data_info.py tests/unit/plugins/modules/test_redis_info.py tests/unit/plugins/modules/test_rhsm_release.py tests/unit/plugins/modules/test_rhsm_repository.py tests/unit/plugins/modules/test_rpm_ostree_pkg.py tests/unit/plugins/modules/test_scaleway_compute_private_network.py tests/unit/plugins/modules/test_scaleway_private_network.py tests/unit/plugins/modules/test_simpleinit_msb.py tests/unit/plugins/modules/test_slack.py tests/unit/plugins/modules/test_snap.py tests/unit/plugins/modules/test_solaris_zone.py tests/unit/plugins/modules/test_ss_3par_cpg.py tests/unit/plugins/modules/test_statsd.py tests/unit/plugins/modules/test_sysupgrade.py tests/unit/plugins/modules/test_terraform.py tests/unit/plugins/modules/test_ufw.py tests/unit/plugins/modules/test_usb_facts.py tests/unit/plugins/modules/test_wdc_redfish_command.py tests/unit/plugins/modules/test_wdc_redfish_info.py tests/unit/plugins/modules/test_xcc_redfish_command.py tests/unit/plugins/modules/test_xenserver_guest_info.py tests/unit/plugins/modules/test_xenserver_guest_powerstate.py tests/unit/plugins/modules/test_xfconf.py tests/unit/plugins/modules/test_xfconf_info.py" returned exit status 1. 1874s ## return code is 1 1874s 1874s 1874s 1874s ############################################################ 1874s ############################################################ 1874s #### Running FLAKY tests in ansible_collections/community/hrobot 1874s ############################################################ 1874s ############################################################ 1874s Unit test modules with Python 3.13 1876s ============================= test session starts ============================== 1876s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1876s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot 1876s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1876s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1876s created: 2/2 workers 1876s 2 workers [0 items] 1876s 1876s 1876s ==================================== ERRORS ==================================== 1876s ___________ ERROR collecting tests/unit/plugins/modules/test_boot.py ___________ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_boot.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_boot.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _______ ERROR collecting tests/unit/plugins/modules/test_failover_ip.py ________ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_failover_ip.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_failover_ip.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _____ ERROR collecting tests/unit/plugins/modules/test_failover_ip_info.py _____ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_failover_ip_info.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_failover_ip_info.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _________ ERROR collecting tests/unit/plugins/modules/test_firewall.py _________ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_firewall.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_firewall.py:11: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s ______ ERROR collecting tests/unit/plugins/modules/test_firewall_info.py _______ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_firewall_info.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_firewall_info.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s __________ ERROR collecting tests/unit/plugins/modules/test_reset.py ___________ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_reset.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_reset.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _______ ERROR collecting tests/unit/plugins/modules/test_reverse_dns.py ________ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_reverse_dns.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_reverse_dns.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s __________ ERROR collecting tests/unit/plugins/modules/test_server.py __________ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_server.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_server.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _______ ERROR collecting tests/unit/plugins/modules/test_server_info.py ________ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_server_info.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_server_info.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _________ ERROR collecting tests/unit/plugins/modules/test_ssh_key.py __________ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_ssh_key.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_ssh_key.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _______ ERROR collecting tests/unit/plugins/modules/test_ssh_key_info.py _______ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_ssh_key_info.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_ssh_key_info.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s ________ ERROR collecting tests/unit/plugins/modules/test_storagebox.py ________ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_storagebox.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_storagebox.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _____ ERROR collecting tests/unit/plugins/modules/test_storagebox_info.py ______ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_storagebox_info.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_storagebox_info.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _ ERROR collecting tests/unit/plugins/modules/test_storagebox_set_password.py __ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_storagebox_set_password.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_storagebox_set_password.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _ ERROR collecting tests/unit/plugins/modules/test_storagebox_snapshot_plan.py _ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_storagebox_snapshot_plan.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_storagebox_snapshot_plan.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _ ERROR collecting tests/unit/plugins/modules/test_storagebox_snapshot_plan_info.py _ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_storagebox_snapshot_plan_info.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_storagebox_snapshot_plan_info.py:9: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s _________ ERROR collecting tests/unit/plugins/modules/test_v_switch.py _________ 1876s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_v_switch.py'. 1876s Hint: make sure your test modules/packages have valid Python names. 1876s Traceback: 1876s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1876s return _bootstrap._gcd_import(name[level:], package, level) 1876s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1876s assertion_rewriting_hook.exec_module(module) 1876s tests/unit/plugins/modules/test_v_switch.py:12: in 1876s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1876s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1876s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/output/junit/python3.13-modules-units.xml - 1876s =========================== short test summary info ============================ 1876s ERROR tests/unit/plugins/modules/test_boot.py 1876s ERROR tests/unit/plugins/modules/test_failover_ip.py 1876s ERROR tests/unit/plugins/modules/test_failover_ip_info.py 1876s ERROR tests/unit/plugins/modules/test_firewall.py 1876s ERROR tests/unit/plugins/modules/test_firewall_info.py 1876s ERROR tests/unit/plugins/modules/test_reset.py 1876s ERROR tests/unit/plugins/modules/test_reverse_dns.py 1876s ERROR tests/unit/plugins/modules/test_server.py 1876s ERROR tests/unit/plugins/modules/test_server_info.py 1876s ERROR tests/unit/plugins/modules/test_ssh_key.py 1876s ERROR tests/unit/plugins/modules/test_ssh_key_info.py 1876s ERROR tests/unit/plugins/modules/test_storagebox.py 1876s ERROR tests/unit/plugins/modules/test_storagebox_info.py 1876s ERROR tests/unit/plugins/modules/test_storagebox_set_password.py 1876s ERROR tests/unit/plugins/modules/test_storagebox_snapshot_plan.py 1876s ERROR tests/unit/plugins/modules/test_storagebox_snapshot_plan_info.py 1876s ERROR tests/unit/plugins/modules/test_v_switch.py 1876s ============================== 17 errors in 1.52s ============================== 1876s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot tests/unit/plugins/modules/test_boot.py tests/unit/plugins/modules/test_failover_ip.py tests/unit/plugins/modules/test_failover_ip_info.py tests/unit/plugins/modules/test_firewall.py tests/unit/plugins/modules/test_firewall_info.py tests/unit/plugins/modules/test_reset.py tests/unit/plugins/modules/test_reverse_dns.py tests/unit/plugins/modules/test_server.py tests/unit/plugins/modules/test_server_info.py tests/unit/plugins/modules/test_ssh_key.py tests/unit/plugins/modules/test_ssh_key_info.py tests/unit/plugins/modules/test_storagebox.py tests/unit/plugins/modules/test_storagebox_info.py tests/unit/plugins/modules/test_storagebox_set_password.py tests/unit/plugins/modules/test_storagebox_snapshot_plan.py tests/unit/plugins/modules/test_storagebox_snapshot_plan_info.py tests/unit/plugins/modules/test_v_switch.py" returned exit status 1. 1876s ## return code is 1 1876s 1876s 1876s 1876s ############################################################ 1876s ############################################################ 1876s #### Running FLAKY tests in ansible_collections/community/library_inventory_filtering_v1 1876s ############################################################ 1876s ############################################################ 1876s Unit test controller with Python 3.13 1878s ============================= test session starts ============================== 1878s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1878s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/library_inventory_filtering_v1 1878s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1878s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1878s created: 2/2 workers 1878s 2 workers [0 items] 1878s 1878s 1878s ==================================== ERRORS ==================================== 1878s __ ERROR collecting tests/unit/plugins/plugin_utils/test_inventory_filter.py ___ 1878s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/library_inventory_filtering_v1/tests/unit/plugins/plugin_utils/test_inventory_filter.py'. 1878s Hint: make sure your test modules/packages have valid Python names. 1878s Traceback: 1878s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1878s return _bootstrap._gcd_import(name[level:], package, level) 1878s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1878s assertion_rewriting_hook.exec_module(module) 1878s tests/unit/plugins/plugin_utils/test_inventory_filter.py:14: in 1878s from ansible_collections.community.internal_test_tools.tests.unit.mock.loader import DictDataLoader 1878s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1878s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/library_inventory_filtering_v1/tests/output/junit/python3.13-controller-units.xml - 1878s =========================== short test summary info ============================ 1878s ERROR tests/unit/plugins/plugin_utils/test_inventory_filter.py 1878s =============================== 1 error in 1.54s =============================== 1878s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/library_inventory_filtering_v1/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/library_inventory_filtering_v1 --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/library_inventory_filtering_v1 tests/unit/plugins/plugin_utils/test_inventory_filter.py" returned exit status 1. 1879s ## return code is 1 1879s 1879s 1879s 1879s ############################################################ 1879s ############################################################ 1879s #### Running FLAKY tests in ansible_collections/infoblox/nios_modules 1879s ############################################################ 1879s ############################################################ 1879s Unit test modules with Python 3.13 1880s ============================= test session starts ============================== 1880s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1880s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/infoblox/nios_modules 1880s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1880s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1880s created: 2/2 workers 1880s 2 workers [91 items] 1880s 1884s FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 79%] 1885s FFFFFFFFFFFFFFFFFFF [100%] 1885s =================================== FAILURES =================================== 1885s ______ TestNiosExtensibleAttributeModule.test_create_extensible_attribute ______ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosExtensibleAttributeModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_extensible_attribute.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosCNameRecordModule.test_nios_cname_record_create ____________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosCNameRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_cname_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosExtensibleAttributeModule.test_nios_ea_update_comment _________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosExtensibleAttributeModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_extensible_attribute.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosCNameRecordModule.test_nios_cname_record_remove ____________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosCNameRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_cname_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ______ TestNiosExtensibleAttributeModule.test_remove_extensible_attribute ______ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosExtensibleAttributeModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_extensible_attribute.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _______ TestNiosCNameRecordModule.test_nios_cname_record_update_comment ________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosCNameRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_cname_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _______________ TestNiosARecordModule.test_nios_a_record_create ________________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosARecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_a_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _______________ TestNiosDnsViewModule.test_nios_dns_view_create ________________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDnsViewModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dns_view.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _______________ TestNiosARecordModule.test_nios_a_record_remove ________________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosARecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_a_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _______________ TestNiosDnsViewModule.test_nios_dns_view_remove ________________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDnsViewModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dns_view.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosARecordModule.test_nios_a_record_update_comment ____________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosARecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_a_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosDnsViewModule.test_nios_dns_view_update_comment ____________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDnsViewModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dns_view.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________ TestNiosARecordModule.test_nios_a_record_update_record_name __________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosARecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_a_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosDtcHttpMonitorModule.test_nios_dtc_monitor_http_create ________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcHttpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_http.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ____________ TestNiosAAAARecordModule.test_nios_aaaa_record_create _____________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosAAAARecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_aaaa_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosDtcHttpMonitorModule.test_nios_dtc_monitor_http_remove ________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcHttpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_http.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ____________ TestNiosAAAARecordModule.test_nios_aaaa_record_remove _____________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosAAAARecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_aaaa_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ____ TestNiosDtcHttpMonitorModule.test_nios_dtc_monitor_http_update_comment ____ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcHttpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_http.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosAAAARecordModule.test_nios_aaaa_record_update_comment _________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosAAAARecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_aaaa_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosDtcIcmpMonitorModule.test_nios_dtc_monitor_icmp_create ________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcIcmpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ______ TestNiosAAAARecordModule.test_nios_aaaa_record_update_record_name _______ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosAAAARecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_aaaa_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosDtcIcmpMonitorModule.test_nios_dtc_monitor_icmp_remove ________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcIcmpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ____ TestNiosDtcIcmpMonitorModule.test_nios_dtc_monitor_icmp_update_comment ____ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcIcmpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosFixedAddressModule.test_nios_fixed_address_ipv4_create ________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosFixedAddressModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_fixed_address.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_pdp_create _________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcTcpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _____ TestNiosFixedAddressModule.test_nios_fixed_address_ipv4_dhcp_update ______ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosFixedAddressModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_fixed_address.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_pdp_remove _________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcTcpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosFixedAddressModule.test_nios_fixed_address_ipv4_remove ________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosFixedAddressModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_fixed_address.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _____ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_pdp_update_comment _____ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcTcpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosFixedAddressModule.test_nios_fixed_address_ipv6_create ________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosFixedAddressModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_fixed_address.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________ TestNiosDtcSipMonitorModule.test_nios_dtc_monitor_sip_create _________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcSipMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosFixedAddressModule.test_nios_fixed_address_ipv6_remove ________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosFixedAddressModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_fixed_address.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________ TestNiosDtcSipMonitorModule.test_nios_dtc_monitor_sip_remove _________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcSipMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ____________ TestNiosHostRecordModule.test_nios_host_record_create _____________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s 1885s super(TestNiosHostRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_host_record.py:43: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _____ TestNiosDtcSipMonitorModule.test_nios_dtc_monitor_sip_update_comment _____ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcSipMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ____________ TestNiosHostRecordModule.test_nios_host_record_remove _____________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s 1885s super(TestNiosHostRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_host_record.py:43: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosDtcSnmpMonitorModule.test_nios_dtc_monitor_snmp_create ________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcSnmpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosHostRecordModule.test_nios_host_record_update_comment _________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s 1885s super(TestNiosHostRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_host_record.py:43: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________ TestNiosDtcSnmpMonitorModule.test_nios_dtc_monitor_snmp_remove ________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcSnmpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ______ TestNiosHostRecordModule.test_nios_host_record_update_record_name _______ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s 1885s super(TestNiosHostRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_host_record.py:43: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ____ TestNiosDtcSnmpMonitorModule.test_nios_dtc_monitor_snmp_update_comment ____ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcSnmpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________________ TestNiosMemberModule.test_nios_member_create _________________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosMemberModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_member.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_tcp_create _________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcTcpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________________ TestNiosMemberModule.test_nios_member_remove _________________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosMemberModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_member.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_tcp_remove _________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcTcpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________________ TestNiosMemberModule.test_nios_member_update _________________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosMemberModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_member.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _____ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_tcp_update_comment _____ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcTcpMonitorModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ______________ TestNiosMXRecordModule.test_nios_mx_record_create _______________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosMXRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_mx_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosDtcTopologyModule.test_nios_dtc_topology_create ____________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcTopologyModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_topology.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ______________ TestNiosMXRecordModule.test_nios_mx_record_remove _______________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosMXRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_mx_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosDtcTopologyModule.test_nios_dtc_topology_remove ____________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcTopologyModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_topology.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s __________ TestNiosMXRecordModule.test_nios_mx_record_update_comment ___________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosMXRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_mx_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _______ TestNiosDtcTopologyModule.test_nios_dtc_topology_update_comment ________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosDtcTopologyModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_dtc_topology.py:40: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosNAPTRRecordModule.test_nios_naptr_record_create ____________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNAPTRRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_naptr_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _____________ TestNiosNetworkModule.test_nios_network_ipv4_remove ______________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkModule, self).setUp() 1885s self.module = MagicMock( 1885s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1885s ) 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch( 1885s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1885s ) 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network.py:44: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosNAPTRRecordModule.test_nios_naptr_record_remove ____________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNAPTRRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_naptr_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _ TestNiosNetworkModule.test_nios_network_ipv4_update_with_use_logic_filter_rules _ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkModule, self).setUp() 1885s self.module = MagicMock( 1885s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1885s ) 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch( 1885s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1885s ) 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network.py:44: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _______ TestNiosNAPTRRecordModule.test_nios_naptr_record_update_comment ________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNAPTRRecordModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_naptr_record.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _____________ TestNiosNetworkModule.test_nios_network_ipv6_create ______________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkModule, self).setUp() 1885s self.module = MagicMock( 1885s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1885s ) 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch( 1885s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1885s ) 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network.py:44: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _____________ TestNiosNetworkModule.test_nios_network_ipv4_create ______________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkModule, self).setUp() 1885s self.module = MagicMock( 1885s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1885s ) 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch( 1885s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1885s ) 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network.py:44: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosNetworkModule.test_nios_network_ipv6_dhcp_update ___________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkModule, self).setUp() 1885s self.module = MagicMock( 1885s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1885s ) 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch( 1885s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1885s ) 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network.py:44: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _ TestNiosNetworkModule.test_nios_network_ipv4_create_with_use_logic_filter_rules _ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkModule, self).setUp() 1885s self.module = MagicMock( 1885s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1885s ) 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch( 1885s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1885s ) 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network.py:44: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/infoblox/nios_modules/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/infoblox/nios_modules --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/infoblox/nios_modules tests/unit/plugins/modules/test_extensible_attribute.py tests/unit/plugins/modules/test_nios_a_record.py tests/unit/plugins/modules/test_nios_aaaa_record.py tests/unit/plugins/modules/test_nios_cname_record.py tests/unit/plugins/modules/test_nios_dns_view.py tests/unit/plugins/modules/test_nios_dtc_monitor_http.py tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py tests/unit/plugins/modules/test_nios_dtc_topology.py tests/unit/plugins/modules/test_nios_fixed_address.py tests/unit/plugins/modules/test_nios_host_record.py tests/unit/plugins/modules/test_nios_member.py tests/unit/plugins/modules/test_nios_module.py tests/unit/plugins/modules/test_nios_mx_record.py tests/unit/plugins/modules/test_nios_naptr_record.py tests/unit/plugins/modules/test_nios_network.py tests/unit/plugins/modules/test_nios_network_view.py tests/unit/plugins/modules/test_nios_nsgroup.py tests/unit/plugins/modules/test_nios_ptr_record.py tests/unit/plugins/modules/test_nios_srv_record.py tests/unit/plugins/modules/test_nios_zone.py" returned exit status 1. 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _____________ TestNiosNetworkModule.test_nios_network_ipv6_remove ______________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkModule, self).setUp() 1885s self.module = MagicMock( 1885s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1885s ) 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch( 1885s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1885s ) 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network.py:44: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosNetworkModule.test_nios_network_ipv4_dhcp_update ___________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkModule, self).setUp() 1885s self.module = MagicMock( 1885s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1885s ) 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch( 1885s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1885s ) 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network.py:44: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________ TestNiosNetworkModule.test_nios_networkcontainer_ipv4_create _________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkModule, self).setUp() 1885s self.module = MagicMock( 1885s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1885s ) 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch( 1885s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1885s ) 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network.py:44: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________ TestNiosNetworkModule.test_nios_networkcontainer_ipv6_create _________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkModule, self).setUp() 1885s self.module = MagicMock( 1885s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1885s ) 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch( 1885s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1885s ) 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network.py:44: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s _________ TestNiosNetworkModule.test_nios_networkcontainer_ipv4_remove _________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkModule, self).setUp() 1885s self.module = MagicMock( 1885s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1885s ) 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch( 1885s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1885s ) 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network.py:44: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosNetworkViewModule.test_nios_network_view_create ____________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkViewModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network_view.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ________________ TestNiosNSGroupModule.test_nios_nsgroup_create ________________ 1885s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s 1885s super(TestNiosNSGroupModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_nsgroup.py:43: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1885s 1885s def __enter__(self): 1885s """Perform the patch.""" 1885s if self.is_started: 1885s > raise RuntimeError("Patch is already started") 1885s E RuntimeError: Patch is already started 1885s 1885s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1885s ___________ TestNiosNetworkViewModule.test_nios_network_view_remove ____________ 1885s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1885s 1885s self = 1885s 1885s def setUp(self): 1885s super(TestNiosNetworkViewModule, self).setUp() 1885s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1885s self.module.check_mode = False 1885s self.module.params = {'provider': None} 1885s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1885s self.exec_command = self.mock_wapi.start() 1885s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule.run') 1885s self.mock_wapi_run.start() 1885s > self.load_config = self.mock_wapi_run.start() 1885s 1885s tests/unit/plugins/modules/test_nios_network_view.py:42: 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s /usr/lib/python3.13/unittest/mock.py:1654: in start 1885s result = self.__enter__() 1885s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1885s 1885s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s ________________ TestNiosNSGroupModule.test_nios_nsgroup_remove ________________ 1886s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s 1886s super(TestNiosNSGroupModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_nsgroup.py:43: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _______ TestNiosNetworkViewModule.test_nios_network_view_update_comment ________ 1886s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosNetworkViewModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_network_view.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s ____________ TestNiosNSGroupModule.test_nios_nsgroup_update_comment ____________ 1886s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s 1886s super(TestNiosNSGroupModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_nsgroup.py:43: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _________ TestNiosNetworkViewModule.test_nios_network_view_update_name _________ 1886s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosNetworkViewModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_network_view.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _____________ TestNiosPTRRecordModule.test_nios_ptr6_record_create _____________ 1886s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s 1886s super(TestNiosPTRRecordModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_ptr_record.py:43: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _____________ TestNiosPTRRecordModule.test_nios_ptr_record_create ______________ 1886s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s 1886s super(TestNiosPTRRecordModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_ptr_record.py:43: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _____ TestNiosPTRRecordModule.test_nios_ptr_record_update_record_ptrdname ______ 1886s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s 1886s super(TestNiosPTRRecordModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_ptr_record.py:43: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _____________ TestNiosPTRRecordModule.test_nios_ptr_record_remove ______________ 1886s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s 1886s super(TestNiosPTRRecordModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_ptr_record.py:43: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _____________ TestNiosSRVRecordModule.test_nios_srv_record_create ______________ 1886s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosSRVRecordModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_srv_record.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _________ TestNiosPTRRecordModule.test_nios_ptr_record_update_comment __________ 1886s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s 1886s super(TestNiosPTRRecordModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_ptr_record.py:43: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _____________ TestNiosSRVRecordModule.test_nios_srv_record_remove ______________ 1886s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosSRVRecordModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_srv_record.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _________ TestNiosSRVRecordModule.test_nios_srv_record_update_comment __________ 1886s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosSRVRecordModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_srv_record.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s ___________________ TestNiosZoneModule.test_nios_zone_create ___________________ 1886s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosZoneModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_zone.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s ___ TestNiosZoneModule.test_nios_zone_create_using_grid_primary_secondaries ____ 1886s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosZoneModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_zone.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _______ TestNiosZoneModule.test_nios_zone_create_using_name_server_group _______ 1886s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosZoneModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_zone.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s __________ TestNiosZoneModule.test_nios_zone_create_using_zone_format __________ 1886s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosZoneModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_zone.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s ___________________ TestNiosZoneModule.test_nios_zone_remove ___________________ 1886s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosZoneModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_zone.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s ___ TestNiosZoneModule.test_nios_zone_remove_using_grid_primary_secondaries ____ 1886s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosZoneModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_zone.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _______ TestNiosZoneModule.test_nios_zone_remove_using_name_server_group _______ 1886s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosZoneModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_zone.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _______ TestNiosZoneModule.test_nios_zone_remove_using_using_zone_format _______ 1886s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosZoneModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_zone.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s _______________ TestNiosZoneModule.test_nios_zone_update_comment _______________ 1886s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1886s 1886s self = 1886s 1886s def setUp(self): 1886s super(TestNiosZoneModule, self).setUp() 1886s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.module.check_mode = False 1886s self.module.params = {'provider': None} 1886s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1886s self.exec_command = self.mock_wapi.start() 1886s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1886s self.mock_wapi_run.start() 1886s > self.load_config = self.mock_wapi_run.start() 1886s 1886s tests/unit/plugins/modules/test_nios_zone.py:42: 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s /usr/lib/python3.13/unittest/mock.py:1654: in start 1886s result = self.__enter__() 1886s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1886s 1886s self = 1886s 1886s def __enter__(self): 1886s """Perform the patch.""" 1886s if self.is_started: 1886s > raise RuntimeError("Patch is already started") 1886s E RuntimeError: Patch is already started 1886s 1886s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1886s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/infoblox/nios_modules/tests/output/junit/python3.13-modules-units.xml - 1886s =========================== short test summary info ============================ 1886s FAILED tests/unit/plugins/modules/test_extensible_attribute.py::TestNiosExtensibleAttributeModule::test_create_extensible_attribute 1886s FAILED tests/unit/plugins/modules/test_nios_cname_record.py::TestNiosCNameRecordModule::test_nios_cname_record_create 1886s FAILED tests/unit/plugins/modules/test_extensible_attribute.py::TestNiosExtensibleAttributeModule::test_nios_ea_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_cname_record.py::TestNiosCNameRecordModule::test_nios_cname_record_remove 1886s FAILED tests/unit/plugins/modules/test_extensible_attribute.py::TestNiosExtensibleAttributeModule::test_remove_extensible_attribute 1886s FAILED tests/unit/plugins/modules/test_nios_cname_record.py::TestNiosCNameRecordModule::test_nios_cname_record_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_a_record.py::TestNiosARecordModule::test_nios_a_record_create 1886s FAILED tests/unit/plugins/modules/test_nios_dns_view.py::TestNiosDnsViewModule::test_nios_dns_view_create 1886s FAILED tests/unit/plugins/modules/test_nios_a_record.py::TestNiosARecordModule::test_nios_a_record_remove 1886s FAILED tests/unit/plugins/modules/test_nios_dns_view.py::TestNiosDnsViewModule::test_nios_dns_view_remove 1886s FAILED tests/unit/plugins/modules/test_nios_a_record.py::TestNiosARecordModule::test_nios_a_record_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_dns_view.py::TestNiosDnsViewModule::test_nios_dns_view_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_a_record.py::TestNiosARecordModule::test_nios_a_record_update_record_name 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_http.py::TestNiosDtcHttpMonitorModule::test_nios_dtc_monitor_http_create 1886s FAILED tests/unit/plugins/modules/test_nios_aaaa_record.py::TestNiosAAAARecordModule::test_nios_aaaa_record_create 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_http.py::TestNiosDtcHttpMonitorModule::test_nios_dtc_monitor_http_remove 1886s FAILED tests/unit/plugins/modules/test_nios_aaaa_record.py::TestNiosAAAARecordModule::test_nios_aaaa_record_remove 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_http.py::TestNiosDtcHttpMonitorModule::test_nios_dtc_monitor_http_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_aaaa_record.py::TestNiosAAAARecordModule::test_nios_aaaa_record_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py::TestNiosDtcIcmpMonitorModule::test_nios_dtc_monitor_icmp_create 1886s FAILED tests/unit/plugins/modules/test_nios_aaaa_record.py::TestNiosAAAARecordModule::test_nios_aaaa_record_update_record_name 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py::TestNiosDtcIcmpMonitorModule::test_nios_dtc_monitor_icmp_remove 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py::TestNiosDtcIcmpMonitorModule::test_nios_dtc_monitor_icmp_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_fixed_address.py::TestNiosFixedAddressModule::test_nios_fixed_address_ipv4_create 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_pdp_create 1886s FAILED tests/unit/plugins/modules/test_nios_fixed_address.py::TestNiosFixedAddressModule::test_nios_fixed_address_ipv4_dhcp_update 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_pdp_remove 1886s FAILED tests/unit/plugins/modules/test_nios_fixed_address.py::TestNiosFixedAddressModule::test_nios_fixed_address_ipv4_remove 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_pdp_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_fixed_address.py::TestNiosFixedAddressModule::test_nios_fixed_address_ipv6_create 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py::TestNiosDtcSipMonitorModule::test_nios_dtc_monitor_sip_create 1886s FAILED tests/unit/plugins/modules/test_nios_fixed_address.py::TestNiosFixedAddressModule::test_nios_fixed_address_ipv6_remove 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py::TestNiosDtcSipMonitorModule::test_nios_dtc_monitor_sip_remove 1886s FAILED tests/unit/plugins/modules/test_nios_host_record.py::TestNiosHostRecordModule::test_nios_host_record_create 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py::TestNiosDtcSipMonitorModule::test_nios_dtc_monitor_sip_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_host_record.py::TestNiosHostRecordModule::test_nios_host_record_remove 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py::TestNiosDtcSnmpMonitorModule::test_nios_dtc_monitor_snmp_create 1886s FAILED tests/unit/plugins/modules/test_nios_host_record.py::TestNiosHostRecordModule::test_nios_host_record_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py::TestNiosDtcSnmpMonitorModule::test_nios_dtc_monitor_snmp_remove 1886s FAILED tests/unit/plugins/modules/test_nios_host_record.py::TestNiosHostRecordModule::test_nios_host_record_update_record_name 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py::TestNiosDtcSnmpMonitorModule::test_nios_dtc_monitor_snmp_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_member.py::TestNiosMemberModule::test_nios_member_create 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_tcp_create 1886s FAILED tests/unit/plugins/modules/test_nios_member.py::TestNiosMemberModule::test_nios_member_remove 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_tcp_remove 1886s FAILED tests/unit/plugins/modules/test_nios_member.py::TestNiosMemberModule::test_nios_member_update 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_tcp_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_mx_record.py::TestNiosMXRecordModule::test_nios_mx_record_create 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_topology.py::TestNiosDtcTopologyModule::test_nios_dtc_topology_create 1886s FAILED tests/unit/plugins/modules/test_nios_mx_record.py::TestNiosMXRecordModule::test_nios_mx_record_remove 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_topology.py::TestNiosDtcTopologyModule::test_nios_dtc_topology_remove 1886s FAILED tests/unit/plugins/modules/test_nios_mx_record.py::TestNiosMXRecordModule::test_nios_mx_record_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_dtc_topology.py::TestNiosDtcTopologyModule::test_nios_dtc_topology_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_naptr_record.py::TestNiosNAPTRRecordModule::test_nios_naptr_record_create 1886s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv4_remove 1886s FAILED tests/unit/plugins/modules/test_nios_naptr_record.py::TestNiosNAPTRRecordModule::test_nios_naptr_record_remove 1886s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv4_update_with_use_logic_filter_rules 1886s FAILED tests/unit/plugins/modules/test_nios_naptr_record.py::TestNiosNAPTRRecordModule::test_nios_naptr_record_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv6_create 1886s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv4_create 1886s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv6_dhcp_update 1886s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv4_create_with_use_logic_filter_rules 1886s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv6_remove 1886s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv4_dhcp_update 1886s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_networkcontainer_ipv4_create 1886s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_networkcontainer_ipv6_create 1886s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_networkcontainer_ipv4_remove 1886s FAILED tests/unit/plugins/modules/test_nios_network_view.py::TestNiosNetworkViewModule::test_nios_network_view_create 1886s FAILED tests/unit/plugins/modules/test_nios_nsgroup.py::TestNiosNSGroupModule::test_nios_nsgroup_create 1886s FAILED tests/unit/plugins/modules/test_nios_network_view.py::TestNiosNetworkViewModule::test_nios_network_view_remove 1886s FAILED tests/unit/plugins/modules/test_nios_nsgroup.py::TestNiosNSGroupModule::test_nios_nsgroup_remove 1886s FAILED tests/unit/plugins/modules/test_nios_network_view.py::TestNiosNetworkViewModule::test_nios_network_view_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_nsgroup.py::TestNiosNSGroupModule::test_nios_nsgroup_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_network_view.py::TestNiosNetworkViewModule::test_nios_network_view_update_name 1886s FAILED tests/unit/plugins/modules/test_nios_ptr_record.py::TestNiosPTRRecordModule::test_nios_ptr6_record_create 1886s FAILED tests/unit/plugins/modules/test_nios_ptr_record.py::TestNiosPTRRecordModule::test_nios_ptr_record_create 1886s FAILED tests/unit/plugins/modules/test_nios_ptr_record.py::TestNiosPTRRecordModule::test_nios_ptr_record_update_record_ptrdname 1886s FAILED tests/unit/plugins/modules/test_nios_ptr_record.py::TestNiosPTRRecordModule::test_nios_ptr_record_remove 1886s FAILED tests/unit/plugins/modules/test_nios_srv_record.py::TestNiosSRVRecordModule::test_nios_srv_record_create 1886s FAILED tests/unit/plugins/modules/test_nios_ptr_record.py::TestNiosPTRRecordModule::test_nios_ptr_record_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_srv_record.py::TestNiosSRVRecordModule::test_nios_srv_record_remove 1886s FAILED tests/unit/plugins/modules/test_nios_srv_record.py::TestNiosSRVRecordModule::test_nios_srv_record_update_comment 1886s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_create 1886s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_create_using_grid_primary_secondaries 1886s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_create_using_name_server_group 1886s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_create_using_zone_format 1886s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_remove 1886s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_remove_using_grid_primary_secondaries 1886s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_remove_using_name_server_group 1886s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_remove_using_using_zone_format 1886s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_update_comment 1886s ============================== 91 failed in 6.13s ============================== 1886s ## return code is 1 1886s 1886s 1886s 1886s ############################################################ 1886s ############################################################ 1886s #### Running FLAKY tests in ansible_collections/junipernetworks/junos 1886s ############################################################ 1886s ############################################################ 1886s Unit test controller with Python 3.13 1887s ============================= test session starts ============================== 1887s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1887s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/junipernetworks/junos 1887s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1887s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1887s created: 2/2 workers 1887s 2 workers [305 items] 1887s 1890s ...F....F...FFFF.FFFFFFFFFFFFFFFFFFFFFFFFFFF....F..FFFFFFFF....F.....F.. [ 23%] 1892s ..F....F....F....F....F...FFFF.FFFFFFFFFFFFFFFFFF..F...F.FF.FFFF...FFF.F [ 47%] 1895s FFFFFFFFFFFFFFFFFFFFF..FFFFFF.FFFFFFFFFFFF..F..F.F..F..FFF.F...F...F...F [ 70%] 1897s FFFFF.FFFF..F......F...F.FFF.FFFF.FFFF.FFF.F...F...F.F.FF.FFFFFFFFFFFFFF [ 94%] 1898s .FFFF.FFFF.FF..F. [100%] 1898s =================================== FAILURES =================================== 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_001 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_001(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - af_type 1898s - afi 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="evpn", 1898s af_type=[dict(type="signaling", set=True)], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s 1898s commands = [ 1898s '' 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1654: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_002 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_002(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - accepted_prefix_limit 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="evpn", 1898s af_type=[ 1898s dict( 1898s type="signaling", 1898s accepted_prefix_limit=dict( 1898s limit_threshold=98, 1898s idle_timeout_value=2001, 1898s maximum=20, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "2098" 1898s "2001" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1693: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_002_001 _ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_002_001(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - accepted_prefix_limit 1898s forever: true 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="evpn", 1898s af_type=[ 1898s dict( 1898s type="signaling", 1898s accepted_prefix_limit=dict( 1898s maximum=20, 1898s limit_threshold=98, 1898s forever=True, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "2098" 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1733: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____________ TestJunosBgp_globalModule.test_junos_bgp_global_delete ____________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_delete(self): 1898s set_module_args(dict(config=dict(), state="deleted")) 1898s 1898s commands = [ 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s "", 1898s '' 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:436: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_003 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_003(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - add_path 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="evpn", 1898s af_type=[ 1898s dict( 1898s type="signaling", 1898s add_path=dict( 1898s receive=True, 1898s send=dict( 1898s multipath=True, 1898s include_backup_path=1, 1898s path_count=10, 1898s prefix_policy="customer65443", 1898s path_selection_mode=dict( 1898s all_paths=True, 1898s equal_cost_paths=True, 1898s ), 1898s ), 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "10" 1898s "1" 1898s "" 1898s "customer65443" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1782: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________ TestJunosBgp_globalModule.test_junos_bgp_global_delete_purged _________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_delete_purged(self): 1898s set_module_args(dict(config=dict(), state="purged")) 1898s 1898s commands = [ 1898s '', 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:446: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_004 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_004(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - aggregate_label 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="evpn", 1898s af_type=[ 1898s dict( 1898s type="signaling", 1898s aggregate_label=dict( 1898s set=True, 1898s community="cuastomerapn1", 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "cuastomerapn1" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1819: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _________ TestJunosBgp_globalModule.test_junos_bgp_global_merge_groups _________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merge_groups(self): 1898s """ 1898s description: configure groups attributes: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s groups=[ 1898s dict( 1898s name="internal", 1898s neighbors=[ 1898s dict( 1898s neighbor_address="11.11.11.11", 1898s peer_as="65534", 1898s out_delay=11, 1898s accept_remote_nexthop=True, 1898s ), 1898s dict( 1898s neighbor_address="11.11.11.12", 1898s peer_as="65534", 1898s out_delay=12, 1898s accept_remote_nexthop=True, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "internal" 1898s "11.11.11.11" 1898s "65534" 1898s "11" 1898s "11.11.11.12" 1898s "6553412" 1898s "", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:513: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_005 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_005(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - aigp 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s aigp=dict(set=True), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1852: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____________ TestJunosBgp_globalModule.test_junos_bgp_global_merged ____________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s damping=True, 1898s description="This is configured with Junos_bgp resource module", 1898s preference="2", 1898s bfd_liveness_detection=dict( 1898s minimum_receive_interval=4, 1898s multiplier=10, 1898s no_adaptation=True, 1898s version="automatic", 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "This is configured with Junos_bgp resource module" 1898s "2" 1898s "4" 1898s "10" 1898s "automatic", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:119: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_005_001 _ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_005_001(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - aigp 1898s disable: true 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s aigp=dict(disable=True), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1887: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosBgp_globalModule.test_junos_bgp_global_merged_advertise_bgp_static __ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_advertise_bgp_static(self): 1898s """ 1898s configure advertise_bgp_static attributes: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict(advertise_bgp_static=dict(policy="static-to-bgp")), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "static-to-bgp" 1898s "" 1898s "", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:533: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_globalModule.test_junos_bgp_global_merged_advertise_external ___ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_advertise_external(self): 1898s """ 1898s configure advertise_external attributes: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s advertise_external=dict(set=True, conditional=True), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:554: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_006 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_006(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - aigp 1898s damping: true 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict(type="labeled-unicast", damping=True), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1918: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosBgp_globalModule.test_junos_bgp_global_merged_bfd_liveness_detection _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_bfd_liveness_detection(self): 1898s """ 1898s configure bfd_liveness_detection attributes: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s bfd_liveness_detection=dict( 1898s minimum_receive_interval=8, 1898s no_adaptation=True, 1898s authentication=dict( 1898s algorithm="keyed-md5", 1898s key_chain="junos", 1898s loose_check=True, 1898s ), 1898s detection_time=dict(threshold=1000000), 1898s transmit_interval=dict( 1898s minimum_interval=20, 1898s threshold=100000, 1898s ), 1898s holddown_interval=20, 1898s multiplier=20, 1898s session_mode="multihop", 1898s version="1", 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "keyed-md5junos" 1898s "" 1898s "1000000" 1898s "20" 1898s "208" 1898s "20" 1898s "multihop" 1898s "1" 1898s "", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:600: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_007 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_007(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - aigp 1898s defer_initial_multipath_build 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s defer_initial_multipath_build=dict( 1898s set=True, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1954: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_globalModule.test_junos_bgp_global_merged_bgp_error_tolerance __ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_bgp_error_tolerance(self): 1898s """ 1898s configure bgp_error_tolerance attributes: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s bgp_error_tolerance=dict( 1898s set=True, 1898s malformed_route_limit=10, 1898s malformed_update_log_interval=15, 1898s no_malformed_route_limit=True, 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "10" 1898s "15" 1898s "" 1898s "", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:628: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_007_001 _ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_007_001(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s defer_initial_multipath_build 1898s maximum_delay 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s defer_initial_multipath_build=dict( 1898s maximum_delay=1200, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "1200" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1991: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __________ TestJunosBgp_globalModule.test_junos_bgp_global_merged_bmp __________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_bmp(self): 1898s """ 1898s configure bmp attributes: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s bmp=dict( 1898s monitor=True, 1898s route_monitoring=dict( 1898s none=True, 1898s post_policy=True, 1898s post_policy_exclude_non_eligible=True, 1898s pre_policy=True, 1898s post_policy_exclude_non_feasible=True, 1898s ), 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "enable" 1898s "" 1898s "", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:659: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_008 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_008(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - delay_route_advertisements 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s delay_route_advertisements=dict( 1898s set=True, 1898s max_delay_route_age=12000, 1898s max_delay_routing_uptime=12000, 1898s min_delay_inbound_convergence=8000, 1898s min_delay_routing_uptime=8000, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "1200012000" 1898s "8000" 1898s "8000" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2033: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _________ TestJunosBgp_globalModule.test_junos_bgp_global_merged_bmp_2 _________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_bmp_2(self): 1898s """ 1898s configure bmp attributes: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s bmp=dict( 1898s monitor=False, 1898s route_monitoring=dict( 1898s none=False, 1898s post_policy=False, 1898s post_policy_exclude_non_eligible=False, 1898s pre_policy=False, 1898s post_policy_exclude_non_feasible=False, 1898s ), 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "disable" 1898s "", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:689: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_009 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_009(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - entropy_label 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s entropy_label=dict( 1898s set=True, 1898s no_next_hop_validation=True, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2070: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______ TestJunosBgp_globalModule.test_junos_bgp_global_merged_egress_te _______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_egress_te(self): 1898s """ 1898s configure egress_te attributes: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict(egress_te=dict(set=True, backup_path="sample")), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "sample" 1898s "", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:708: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_010 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_010(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - explicit_null 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s explicit_null=dict( 1898s set=True, 1898s connected_only=True, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2107: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosBgp_globalModule.test_junos_bgp_global_merged_egress_te_backup_paths _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_egress_te_backup_paths(self): 1898s """ 1898s configure egress_te_backup_paths attributes: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s egress_te_backup_paths=dict( 1898s templates=[ 1898s dict( 1898s path_name="temp", 1898s ip_forward=dict(set=True, rti_name="sample"), 1898s peers=["10.10.10.10", "11.11.11.11"], 1898s remote_nexthop="11.1.1.1", 1898s ), 1898s ], 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "temp" 1898s "10.10.10.1011.11.11.11" 1898s "11.1.1.1" 1898s "" 1898s "", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:741: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_011 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_011(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - extended_nexthop 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict(type="unicast", extended_nexthop=True), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2137: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____ TestJunosBgp_globalModule.test_junos_bgp_global_merged_groups_allow ______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_groups_allow(self): 1898s """ 1898s configure allow attributes: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s groups=[dict(name="internal", allow=["all", "1.1.1.0/24"])], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "internalall" 1898s "1.1.1.0/24" 1898s "", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:763: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_012 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_012(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - extended_nexthop_color 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict( 1898s type="unicast", 1898s extended_nexthop_color=True, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2170: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______ TestJunosBgp_globalModule.test_junos_bgp_global_merged_idempotent _______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_idempotent(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s accept_remote_nexthop=True, 1898s advertise_from_main_vpn_tables=True, 1898s advertise_inactive=True, 1898s as_number="65432", 1898s authentication_algorithm="md5", 1898s bgp_error_tolerance=dict(malformed_route_limit=30000000), 1898s damping=True, 1898s description="This is configured with Junos_bgp resource module", 1898s hold_time=5, 1898s holddown_all_stale_labels=True, 1898s log_updown=True, 1898s no_advertise_peer_as=True, 1898s no_aggregator_id=True, 1898s out_delay=10, 1898s preference="2", 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:145: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosBgp_globalModule.test_junos_bgp_global_merged_optimal_route_reflection _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_optimal_route_reflection(self): 1898s """ 1898s configure optimal_route_reflection attributes: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s groups=[ 1898s dict( 1898s name="internal", 1898s optimal_route_reflection=dict( 1898s igp_backup="test_igp", 1898s igp_primary="test_primary", 1898s ), 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "internal" 1898s "test_igptest_primary" 1898s "" 1898s "", 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:794: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_013 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_013(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - graceful_restart_forwarding_state_bit: from-fib 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="unicast", 1898s graceful_restart_forwarding_state_bit="from-fib", 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "from-fib" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2204: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosBgp_globalModule.test_junos_bgp_global_merged_routing_options ____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_merged_routing_options(self): 1898s """ 1898s configure routing-options attributes: 1898s - loops 1898s - as_number 1898s - asdot_notation 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict(as_number="65432", loops=5, asdot_notation=True), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "", 1898s '' 1898s "654325" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:469: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_013_001 _ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_013_001(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - graceful_restart_forwarding_state_bit: set 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="unicast", 1898s graceful_restart_forwarding_state_bit="set", 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "set" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2238: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_014 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_014(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - local_ipv4_address 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="unicast", 1898s local_ipv4_address="11.11.11.11", 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "11.11.11.11" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2271: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_015 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_015(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - legacy_redirect_ip_action 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="flow", 1898s legacy_redirect_ip_action=dict( 1898s set=True, 1898s send=True, 1898s receive=True, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2309: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___________ TestJunosBgp_globalModule.test_junos_bgp_global_rendered ___________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_rendered(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s description="This is configured with Junos_bgp resource module", 1898s groups=[dict(name="internal", out_delay=22)], 1898s hold_time=4, 1898s holddown_all_stale_labels=True, 1898s include_mp_next_hop=True, 1898s log_updown=True, 1898s loops=5, 1898s keep="all", 1898s mtu_discovery=True, 1898s out_delay=10, 1898s preference="2", 1898s ), 1898s state="rendered", 1898s ), 1898s ) 1898s 1898s rendered = ( 1898s '' 1898s "" 1898s "" 1898s "This is configured with Junos_bgp resource module" 1898s "4all2" 1898s "10" 1898s "internal22" 1898s "" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:295: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:94: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_016 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_016(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - loops 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict(afi="inet", af_type=[dict(type="flow", loops=3)]), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "3" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2334: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________ TestJunosBgp_globalModule.test_junos_bgp_global_rendered_empty ________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_rendered_empty(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args(dict(config=dict(description=""), state="rendered")) 1898s rendered = "" 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:304: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:94: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___________ TestJunosBgp_globalModule.test_junos_bgp_global_replaced ___________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_replaced(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s accept_remote_nexthop=True, 1898s advertise_from_main_vpn_tables=True, 1898s advertise_inactive=True, 1898s as_number="65432", 1898s authentication_algorithm="md5", 1898s bgp_error_tolerance=dict(malformed_route_limit=20000000), 1898s damping=True, 1898s description="This is configured with Junos_bgp resource module", 1898s groups=[ 1898s dict(name="internal", out_delay=22), 1898s dict(name="external", out_delay=20), 1898s ], 1898s hold_time=4, 1898s holddown_all_stale_labels=True, 1898s log_updown=True, 1898s keep="all", 1898s mtu_discovery=True, 1898s no_precision_timers=True, 1898s no_advertise_peer_as=True, 1898s no_aggregator_id=True, 1898s out_delay=10, 1898s preference="2", 1898s ), 1898s state="replaced", 1898s ), 1898s ) 1898s 1898s commands = [ 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s '' 1898s "" 1898s "" 1898s "" 1898s "" 1898s "md5" 1898s "This is configured with Junos_bgp resource module" 1898s "4all2" 1898s "10" 1898s "20000000" 1898s "internal" 1898s "22external" 1898s "20", 1898s '' 1898s '' 1898s "65432", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:233: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_017 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_017(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - no_install 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[dict(type="flow", no_install=True)], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2362: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____ TestJunosBgp_globalModule.test_junos_bgp_global_replaced_idempotent ______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_global_replaced_idempotent(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s accept_remote_nexthop=True, 1898s advertise_from_main_vpn_tables=True, 1898s advertise_inactive=True, 1898s as_number="65432", 1898s authentication_algorithm="md5", 1898s bgp_error_tolerance=dict(malformed_route_limit=30000000), 1898s damping=True, 1898s description="This is configured with Junos_bgp resource module", 1898s hold_time=5, 1898s holddown_all_stale_labels=True, 1898s log_updown=True, 1898s no_advertise_peer_as=True, 1898s no_aggregator_id=True, 1898s out_delay=10, 1898s preference="2", 1898s ), 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_global.py:259: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_global.py:1862: in main 1898s result = Bgp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_bgp_global_facts) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_018 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_018(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - no_validate 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[dict(type="flow", no_validate="sample")], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "sample" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2390: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_019 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_019(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - output_queue_priority_expedited 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="flow", 1898s output_queue_priority_expedited=True, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2423: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_020 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_020(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - output_queue_priority_priority 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="flow", 1898s output_queue_priority_priority=15, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "15" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2457: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_021 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_021(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - per_group_label 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s per_group_label=True, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2490: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_022 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_022(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - per_prefix_label 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s per_prefix_label=True, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2523: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_023 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_023(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - prefix_limit 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s prefix_limit=dict( 1898s maximum=4294967290, 1898s teardown=True, 1898s limit_threshold=22, 1898s idle_timeout=True, 1898s idle_timeout_value=2200, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "4294967290222200" 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2564: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_023_001 _ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_023_001(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - prefix_limit 1898s forever: true 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s prefix_limit=dict( 1898s teardown=True, 1898s forever=True, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2602: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_024 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_024(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - resolve_vpn 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict(type="labeled-unicast", resolve_vpn=True), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2632: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_025 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_025(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - rib 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict(type="labeled-unicast", rib="inet.3"), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2662: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____________ TestJunosHostnameModule.test_junos_hostname_merged_01 _____________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_hostname_merged_01(self): 1898s set_module_args(dict(config=dict(hostname="vsrx"), state="merged")) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_hostname.py:92: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_hostname.py:356: in main 1898s result = Hostname(module).execute_module() 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:102: in execute_module 1898s config_xmls = self.set_config(existing_hostname_facts) 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:140: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:152: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __________ TestJunosHostnameModule.test_junos_hostname_overridden_01 ___________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_hostname_overridden_01(self): 1898s set_module_args( 1898s dict(config=dict(hostname="vsrx12"), state="overridden"), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_hostname.py:118: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_hostname.py:356: in main 1898s result = Hostname(module).execute_module() 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:102: in execute_module 1898s config_xmls = self.set_config(existing_hostname_facts) 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:140: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:152: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_026 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_026(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - ribgroup_name 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s ribgroup_name="inet3", 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "inet3" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2695: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____________ TestJunosHostnameModule.test_junos_hostname_rendered _____________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_hostname_rendered(self): 1898s set_module_args(dict(config=dict(hostname="vsrx10"), state="rendered")) 1898s rendered = ( 1898s '' 1898s "vsrx10" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_hostname.py:139: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_hostname.py:356: in main 1898s result = Hostname(module).execute_module() 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:96: in execute_module 1898s config_xmls = self.set_config(existing_hostname_facts) 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:140: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:152: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_027 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_027(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - route_refresh_priority_expedited 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s route_refresh_priority_expedited=True, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2729: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____________ TestJunosHostnameModule.test_junos_hostname_replaced _____________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_hostname_replaced(self): 1898s set_module_args(dict(config=dict(hostname="vsrx12"), state="replaced")) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_hostname.py:144: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_hostname.py:356: in main 1898s result = Hostname(module).execute_module() 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:102: in execute_module 1898s config_xmls = self.set_config(existing_hostname_facts) 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:140: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/hostname/hostname.py:152: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_028 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_028(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - route_refresh_priority_priority 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet6", 1898s af_type=[ 1898s dict( 1898s type="labeled-unicast", 1898s route_refresh_priority_priority=15, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "15" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2763: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____________ TestJunosInterfacesModule.test_junos_interfaces_delete ____________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_interfaces_delete(self): 1898s set_module_args(dict(config=[dict(name="ge-0/0/2")], state="deleted")) 1898s 1898s commands = [ 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_interfaces.py:226: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_interfaces.py:961: in main 1898s result = Interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1898s config_xmls = self.set_config(existing_interfaces_facts) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_029 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_029(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - secondary_independent_resolution 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="flow", 1898s secondary_independent_resolution=True, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2796: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______ TestJunosInterfacesModule.test_junos_interfaces_delete_idempotent _______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_interfaces_delete_idempotent(self): 1898s set_module_args(dict(config=[dict(name="ge-0/0/4")], state="deleted")) 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_interfaces.py:231: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_interfaces.py:961: in main 1898s result = Interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1898s config_xmls = self.set_config(existing_interfaces_facts) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____________ TestJunosInterfacesModule.test_junos_interfaces_merged ____________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_interfaces_merged(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/1", 1898s description="This is configured with ansible resource module", 1898s mtu=1024, 1898s speed="100m", 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ge-0/0/1This is configured with ansible resource module" 1898s "100m1024", 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_interfaces.py:111: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_interfaces.py:961: in main 1898s result = Interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1898s config_xmls = self.set_config(existing_interfaces_facts) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_030 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_030(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - groups: 1898s address_family: 1898s topology 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s groups=[ 1898s dict( 1898s name="ebgp", 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="unicast", 1898s topology=[ 1898s dict( 1898s name="voice", 1898s community=["target:40:40"], 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ebgp" 1898s "voice" 1898s "target:40:40" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2843: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______ TestJunosInterfacesModule.test_junos_interfaces_merged_idempotent _______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_interfaces_merged_idempotent(self): 1898s self.get_config.return_value = load_fixture( 1898s "junos_interfaces_config.xml", 1898s ) 1898s src = load_fixture("junos_interfaces.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/0", 1898s description="Configured by Ansi-Team", 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_interfaces.py:131: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_interfaces.py:961: in main 1898s result = Interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1898s config_xmls = self.set_config(existing_interfaces_facts) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_033 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_config_033(self): 1898s """ 1898s This function generate the commands to configure attributes: 1898s - groups: 1898s address_family: 1898s topology 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s groups=[ 1898s dict( 1898s name="ebgp", 1898s neighbors=[ 1898s dict( 1898s neighbor_address="14.14.14.14", 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="unicast", 1898s no_install=True, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ebgp" 1898s "14.14.14.14" 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2958: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __________ TestJunosInterfacesModule.test_junos_interfaces_overridden __________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_interfaces_overridden(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/2", 1898s description="This is configured with ansible", 1898s mtu=1024, 1898s speed="100m", 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ge-0/0/2" 1898s "This is configured with ansible" 1898s "100m1024", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_interfaces.py:197: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_interfaces.py:961: in main 1898s result = Interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1898s config_xmls = self.set_config(existing_interfaces_facts) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_deleted_031 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_deleted_031(self): 1898s """ 1898s This function generate the commands to to delete bgp_address family completely: 1898s """ 1898s set_module_args(dict(config=dict(), state="deleted")) 1898s commands = [ 1898s '' 1898s "internal" 1898s "ebgp" 1898s '' 1898s '' 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2861: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosInterfacesModule.test_junos_interfaces_overridden_idempotent _____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_interfaces_overridden_idempotent(self): 1898s self.get_config.return_value = load_fixture( 1898s "junos_interfaces_config.xml", 1898s ) 1898s src = load_fixture("junos_interfaces.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/0", 1898s description="Configured by Ansi-Team", 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_interfaces.py:218: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_interfaces.py:961: in main 1898s result = Interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1898s config_xmls = self.set_config(existing_interfaces_facts) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___________ TestJunosInterfacesModule.test_junos_interfaces_rendered ___________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_interfaces_rendered(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/1", 1898s description="This is configured with ansible resource module", 1898s mtu=1024, 1898s speed="100m", 1898s ), 1898s ], 1898s state="rendered", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ge-0/0/1" 1898s "This is configured with ansible resource module" 1898s "100m" 1898s "1024" 1898s "", 1898s ] 1898s > self.execute_module(changed=False, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_interfaces.py:255: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_interfaces.py:961: in main 1898s result = Interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:92: in execute_module 1898s config_xmls = self.set_config(existing_interfaces_facts) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_deleted_032 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_bgp_address_family_deleted_032(self): 1898s """ 1898s This function generate the commands to to delete bgp_address family completely: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s groups=[ 1898s dict( 1898s name="ebgp", 1898s address_family=[ 1898s dict( 1898s afi="inet", 1898s af_type=[ 1898s dict( 1898s type="unicast", 1898s topology=[ 1898s dict( 1898s name="voice", 1898s community=["target:40:40"], 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="overridden", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "internal" 1898s '' 1898s "ebgp" 1898s '' 1898s '' 1898s "ebgp" 1898s "voice" 1898s "target:40:40" 1898s "" 1898s "", 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2911: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_bgp_address_family.py:2004: in main 1898s result = Bgp_address_family(module).execute_module() 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1898s config_xmls = self.set_config(existing_bgp_address_family_facts) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___________ TestJunosInterfacesModule.test_junos_interfaces_replaced ___________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_interfaces_replaced(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/2", 1898s description="This is configured with ansible", 1898s mtu=1024, 1898s speed="100m", 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_interfaces.py:147: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_interfaces.py:961: in main 1898s result = Interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1898s config_xmls = self.set_config(existing_interfaces_facts) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosLogging_globalModule.test_junos_logging_global_replaced_user_09 ___ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_replaced_user_09(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s users=[ 1898s dict(name="user1", allow_duplicates=True), 1898s dict( 1898s name="user2", 1898s allow_duplicates=True, 1898s any=dict(level="any"), 1898s user=dict(level="info"), 1898s ), 1898s ], 1898s ), 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:326: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____ TestJunosInterfacesModule.test_junos_interfaces_replaced_idempotent ______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_interfaces_replaced_idempotent(self): 1898s self.get_config.return_value = load_fixture( 1898s "junos_interfaces_config.xml", 1898s ) 1898s src = load_fixture("junos_interfaces.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/0", 1898s description="Configured by Ansi-Team", 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_interfaces.py:175: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_interfaces.py:961: in main 1898s result = Interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1898s config_xmls = self.set_config(existing_interfaces_facts) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _________ TestJunosL2InterfacesModule.test_junos_l2_interfaces_delete __________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l2_interfaces_delete(self): 1898s self.get_res_config.return_value = load_fixture( 1898s "junos_interfaces_config.xml", 1898s ) 1898s src = load_fixture("junos_l2_interfaces.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args(dict(config=[dict(name="ge-0/0/1")], state="deleted")) 1898s commands = [ 1898s '' 1898s "ge-0/0/10" 1898s '' 1898s '' 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:234: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l2_interfaces.py:1057: in main 1898s result = L2_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1898s config_xmls = self.set_config(existing_l2_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosL2InterfacesModule.test_junos_l2_interfaces_delete_idempotent ____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l2_interfaces_delete_idempotent(self): 1898s set_module_args(dict(config=[dict(name="ge-0/0/3")], state="deleted")) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:239: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l2_interfaces.py:1057: in main 1898s result = L2_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1898s config_xmls = self.set_config(existing_l2_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __________ TestJunosNtp_globalModule.test_junos_ntp_global_merged_01 ___________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ntp_global_merged_01(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s boot_server="78.46.194.186", 1898s broadcasts=[ 1898s dict( 1898s address="172.16.255.255", 1898s key="50", 1898s ttl=200, 1898s version=3, 1898s routing_instance_name="rt1", 1898s ), 1898s dict( 1898s address="192.16.255.255", 1898s key="50", 1898s ttl=200, 1898s version=3, 1898s routing_instance_name="rt1", 1898s ), 1898s ], 1898s broadcast_client=True, 1898s interval_range=2, 1898s multicast_client="224.0.0.1", 1898s peers=[ 1898s dict(peer="78.44.194.186"), 1898s dict( 1898s peer="172.44.194.186", 1898s key_id="10000", 1898s prefer=True, 1898s version=3, 1898s ), 1898s ], 1898s servers=[ 1898s dict( 1898s server="48.46.194.186", 1898s key_id=34, 1898s prefer=True, 1898s version=2, 1898s routing_instance="rt1", 1898s ), 1898s dict( 1898s server="48.45.194.186", 1898s key_id=34, 1898s prefer=True, 1898s version=2, 1898s ), 1898s ], 1898s source_addresses=[ 1898s dict( 1898s source_address="172.45.194.186", 1898s routing_instance="rt1", 1898s ), 1898s dict( 1898s source_address="171.45.194.186", 1898s routing_instance="rt2", 1898s ), 1898s ], 1898s threshold=dict(action="accept", value=300), 1898s trusted_keys=[dict(key_id=3000), dict(key_id=2000)], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ntp_global.py:154: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ntp_global.py:1014: in main 1898s result = Ntp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:102: in execute_module 1898s config_xmls = self.set_config(existing_ntp_global_facts) 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:140: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:152: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __________ TestJunosNtp_globalModule.test_junos_ntp_global_merged_02 ___________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ntp_global_merged_02(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s boot_server="78.46.194.186", 1898s authentication_keys=[ 1898s dict(id="2", algorithm="md5", key="asdfghd"), 1898s dict(id="5", algorithm="sha1", key="aasdad"), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ntp_global.py:189: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ntp_global.py:1014: in main 1898s result = Ntp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:102: in execute_module 1898s config_xmls = self.set_config(existing_ntp_global_facts) 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:140: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:152: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _________ TestJunosL2InterfacesModule.test_junos_l2_interfaces_merged __________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l2_interfaces_merged(self): 1898s set_module_args( 1898s dict( 1898s config=[dict(name="ge-0/0/1", access=dict(vlan="vlan100"))], 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ge-0/0/10" 1898s "access" 1898s "vlan100" 1898s "" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:109: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l2_interfaces.py:1057: in main 1898s result = L2_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1898s config_xmls = self.set_config(existing_l2_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________ TestJunosNtp_globalModule.test_junos_ntp_global_overridden_01 _________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ntp_global_overridden_01(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s boot_server="78.46.194.186", 1898s broadcasts=[ 1898s dict( 1898s address="172.16.255.255", 1898s key="50", 1898s ttl=200, 1898s version=3, 1898s routing_instance_name="rt1", 1898s ), 1898s dict( 1898s address="192.16.255.255", 1898s key="50", 1898s ttl=200, 1898s version=3, 1898s routing_instance_name="rt1", 1898s ), 1898s ], 1898s broadcast_client=True, 1898s interval_range=2, 1898s multicast_client="224.0.0.1", 1898s peers=[ 1898s dict(peer="78.44.194.186"), 1898s dict( 1898s peer="172.44.194.186", 1898s key_id="10000", 1898s prefer=True, 1898s version=3, 1898s ), 1898s ], 1898s servers=[ 1898s dict( 1898s server="48.46.194.186", 1898s key_id=34, 1898s prefer=True, 1898s version=2, 1898s routing_instance="rt1", 1898s ), 1898s dict( 1898s server="48.45.194.186", 1898s key_id=34, 1898s prefer=True, 1898s version=2, 1898s ), 1898s ], 1898s source_addresses=[ 1898s dict( 1898s source_address="172.45.194.186", 1898s routing_instance="rt1", 1898s ), 1898s dict( 1898s source_address="171.45.194.186", 1898s routing_instance="rt2", 1898s ), 1898s ], 1898s threshold=dict(action="accept", value=300), 1898s trusted_keys=[dict(key_id=3000), dict(key_id=2000)], 1898s ), 1898s state="overridden", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ntp_global.py:567: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ntp_global.py:1014: in main 1898s result = Ntp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:102: in execute_module 1898s config_xmls = self.set_config(existing_ntp_global_facts) 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:140: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:152: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosL2InterfacesModule.test_junos_l2_interfaces_merged_idempotent ____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l2_interfaces_merged_idempotent(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict(name="ge-0/0/1", access=dict(vlan="vlan100"), unit=0, enhanced_layer=True), 1898s dict( 1898s name="ge-0/0/2", 1898s trunk=dict(allowed_vlans=["vlan200", "vlan300"], native_vlan="400"), 1898s unit=0, 1898s enhanced_layer=True, 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:146: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l2_interfaces.py:1057: in main 1898s result = L2_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1898s config_xmls = self.set_config(existing_l2_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______ TestJunosL2InterfacesModule.test_junos_l2_interfaces_overridden ________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l2_interfaces_overridden(self): 1898s set_module_args( 1898s dict( 1898s config=[dict(name="ge-0/0/1", access=dict(vlan="vlan100"), enhanced_layer=False)], 1898s state="overridden", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ge-0/0/10" 1898s "access" 1898s "vlan100" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:199: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l2_interfaces.py:1057: in main 1898s result = L2_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1898s config_xmls = self.set_config(existing_l2_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___________ TestJunosNtp_globalModule.test_junos_ntp_global_rendered ___________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ntp_global_rendered(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s boot_server="78.46.194.186", 1898s authentication_keys=[ 1898s dict(id="2", algorithm="md5", key="asdfghd"), 1898s dict(id="5", algorithm="sha1", key="aasdad"), 1898s ], 1898s ), 1898s state="rendered", 1898s ), 1898s ) 1898s rendered = ( 1898s '' 1898s "2md5" 1898s "asdfghd" 1898s "5sha1aasdad" 1898s "78.46.194.186" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_ntp_global.py:631: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ntp_global.py:1014: in main 1898s result = Ntp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:96: in execute_module 1898s config_xmls = self.set_config(existing_ntp_global_facts) 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:140: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:152: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosL2InterfacesModule.test_junos_l2_interfaces_overridden_idempotent __ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l2_interfaces_overridden_idempotent(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict(name="ge-0/0/1", access=dict(vlan="vlan100"), unit=0, enhanced_layer=True), 1898s dict( 1898s name="ge-0/0/2", 1898s trunk=dict(allowed_vlans=["vlan200", "vlan300"], native_vlan="400"), 1898s unit=0, 1898s enhanced_layer=True, 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:217: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l2_interfaces.py:1057: in main 1898s result = L2_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1898s config_xmls = self.set_config(existing_l2_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _________ TestJunosNtp_globalModule.test_junos_ntp_global_replaced_01 __________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ntp_global_replaced_01(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s boot_server="78.46.194.186", 1898s broadcasts=[ 1898s dict( 1898s address="172.16.255.255", 1898s key="50", 1898s ttl=200, 1898s version=3, 1898s routing_instance_name="rt1", 1898s ), 1898s dict( 1898s address="192.16.255.255", 1898s key="50", 1898s ttl=200, 1898s version=3, 1898s routing_instance_name="rt1", 1898s ), 1898s ], 1898s broadcast_client=True, 1898s interval_range=2, 1898s multicast_client="224.0.0.1", 1898s peers=[ 1898s dict(peer="78.44.194.186"), 1898s dict( 1898s peer="172.44.194.186", 1898s key_id="10000", 1898s prefer=True, 1898s version=3, 1898s ), 1898s ], 1898s servers=[ 1898s dict( 1898s server="48.46.194.186", 1898s key_id=34, 1898s prefer=True, 1898s version=2, 1898s routing_instance="rt1", 1898s ), 1898s dict( 1898s server="48.45.194.186", 1898s key_id=34, 1898s prefer=True, 1898s version=2, 1898s ), 1898s ], 1898s source_addresses=[ 1898s dict( 1898s source_address="172.45.194.186", 1898s routing_instance="rt1", 1898s ), 1898s dict( 1898s source_address="171.45.194.186", 1898s routing_instance="rt2", 1898s ), 1898s ], 1898s threshold=dict(action="accept", value=300), 1898s trusted_keys=[dict(key_id=3000), dict(key_id=2000)], 1898s ), 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ntp_global.py:698: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ntp_global.py:1014: in main 1898s result = Ntp_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:102: in execute_module 1898s config_xmls = self.set_config(existing_ntp_global_facts) 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:140: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:152: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________ TestJunosL2InterfacesModule.test_junos_l2_interfaces_rendered _________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l2_interfaces_rendered(self): 1898s set_module_args( 1898s dict( 1898s config=[dict(name="ge-0/0/4", access=dict(vlan="vlan100"))], 1898s state="rendered", 1898s ), 1898s ) 1898s rendered = ( 1898s '' 1898s "ge-0/0/40" 1898s "access" 1898s "vlan100" 1898s "" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:315: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l2_interfaces.py:1057: in main 1898s result = L2_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:99: in execute_module 1898s config_xmls = self.set_config(existing_l2_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___________ TestJunosOspfv3Module.test_junos_ospf_interfaces_delete ____________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospf_interfaces_delete(self): 1898s self.get_connection.return_value = load_fixture( 1898s "junos_ospf_interfaces_config.cfg", 1898s ) 1898s src = load_fixture("junos_ospf_interfaces.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[dict(router_id="10.200.16.75", name="ge-0/0/2.0")], 1898s state="deleted", 1898s ), 1898s ) 1898s 1898s commands = [ 1898s '', 1898s '', 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:303: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospf_interfaces.py:607: in main 1898s result = Ospf_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1898s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________ TestJunosL2InterfacesModule.test_junos_l2_interfaces_replaced _________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l2_interfaces_replaced(self): 1898s set_module_args( 1898s dict( 1898s config=[dict(name="ge-0/0/1", access=dict(vlan="vlan100"), enhanced_layer=False)], 1898s state="replaced", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ge-0/0/10" 1898s "access" 1898s "vlan100" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:163: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l2_interfaces.py:1057: in main 1898s result = L2_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1898s config_xmls = self.set_config(existing_l2_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______ TestJunosOspfv3Module.test_junos_ospf_interfaces_delete_idempotent ______ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospf_interfaces_delete_idempotent(self): 1898s set_module_args( 1898s dict( 1898s config=[dict(router_id="10.200.16.75", name="ge-0/0/2.0")], 1898s state="deleted", 1898s ), 1898s ) 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:313: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospf_interfaces.py:607: in main 1898s result = Ospf_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1898s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosL2InterfacesModule.test_junos_l2_interfaces_replaced_idempotent ___ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l2_interfaces_replaced_idempotent(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict(name="ge-0/0/1", access=dict(vlan="vlan100"), unit=0, enhanced_layer=True), 1898s dict( 1898s name="ge-0/0/2", 1898s trunk=dict(allowed_vlans=["vlan200", "vlan300"], native_vlan="400"), 1898s unit=0, 1898s enhanced_layer=True, 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:182: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l2_interfaces.py:1057: in main 1898s result = L2_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1898s config_xmls = self.set_config(existing_l2_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___________ TestJunosOspfv3Module.test_junos_ospf_interfaces_merged ____________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospf_interfaces_merged(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s name="ge-0/0/2.0", 1898s address_family=[ 1898s dict( 1898s afi="ipv4", 1898s processes=dict( 1898s area=dict(area_id="0.0.0.2"), 1898s priority=3, 1898s metric=5, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "0.0.0.2ge-0/0/2.0" 1898s "35", 1898s '' 1898s "10.200.16.75", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:129: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospf_interfaces.py:607: in main 1898s result = Ospf_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1898s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _________ TestJunosL3InterfacesModule.test_junos_l3_interfaces_merged __________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l3_interfaces_merged(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/1", 1898s ipv4=[ 1898s dict(address="100.64.0.1/10"), 1898s dict(address="100.64.0.2/10"), 1898s ], 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ge-0/0/10" 1898s "100.64.0.1/10" 1898s "100.64.0.2/10" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:113: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l3_interfaces.py:1021: in main 1898s result = L3_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1898s config_xmls = self.set_config(existing_l3_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______ TestJunosOspfv3Module.test_junos_ospf_interfaces_merged_idempotent ______ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospf_interfaces_merged_idempotent(self): 1898s self.get_connection.return_value = load_fixture( 1898s "junos_ospf_interfaces_config.cfg", 1898s ) 1898s src = load_fixture("junos_ospf_interfaces.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.77", 1898s name="so-0/0/0.0", 1898s address_family=[ 1898s dict( 1898s afi="ipv4", 1898s processes=dict( 1898s area=dict(area_id="0.0.0.10"), 1898s priority=3, 1898s metric=5, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:159: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospf_interfaces.py:607: in main 1898s result = Ospf_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1898s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosL3InterfacesModule.test_junos_l3_interfaces_merged_idempotent ____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l3_interfaces_merged_idempotent(self): 1898s self.get_config.return_value = load_fixture( 1898s "junos_interfaces_config.xml", 1898s ) 1898s src = load_fixture("junos_l3_interfaces.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/1", 1898s ipv4=[ 1898s dict(address="100.64.0.1/10"), 1898s dict(address="100.64.0.2/10"), 1898s ], 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:136: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l3_interfaces.py:1021: in main 1898s result = L3_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1898s config_xmls = self.set_config(existing_l3_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _________ TestJunosOspfv3Module.test_junos_ospf_interfaces_overridden __________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospf_interfaces_overridden(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s name="ge-0/0/2.0", 1898s address_family=[ 1898s dict( 1898s afi="ipv4", 1898s processes=dict( 1898s area=dict(area_id="0.0.0.1"), 1898s priority=6, 1898s metric=7, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "0.0.0.1ge-0/0/2.0" 1898s "67", 1898s '' 1898s "10.200.16.75", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:252: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospf_interfaces.py:607: in main 1898s result = Ospf_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1898s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______ TestJunosL3InterfacesModule.test_junos_l3_interfaces_overridden ________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l3_interfaces_overridden(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/1", 1898s ipv4=[ 1898s dict(address="100.64.0.1/10"), 1898s dict(address="100.64.0.2/10"), 1898s ], 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ge-0/0/10" 1898s "100.64.0.1/10" 1898s "100.64.0.2/10" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:208: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l3_interfaces.py:1021: in main 1898s result = L3_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1898s config_xmls = self.set_config(existing_l3_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosOspfv3Module.test_junos_ospf_interfaces_overridden_idempotent ____ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospf_interfaces_overridden_idempotent(self): 1898s self.get_connection.return_value = load_fixture( 1898s "junos_ospf_interfaces_config.cfg", 1898s ) 1898s src = load_fixture("junos_ospf_interfaces.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s name="ge-0/0/2.0", 1898s address_family=[ 1898s dict( 1898s afi="ipv4", 1898s processes=dict( 1898s area=dict(area_id="0.0.0.1"), 1898s priority=6, 1898s metric=7, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:283: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospf_interfaces.py:607: in main 1898s result = Ospf_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1898s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosL3InterfacesModule.test_junos_l3_interfaces_overridden_idempotent __ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l3_interfaces_overridden_idempotent(self): 1898s self.get_config.return_value = load_fixture( 1898s "junos_interfaces_config.xml", 1898s ) 1898s src = load_fixture("junos_l3_interfaces.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/1", 1898s ipv4=[ 1898s dict(address="100.64.0.1/10"), 1898s dict(address="100.64.0.2/10"), 1898s ], 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:232: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l3_interfaces.py:1021: in main 1898s result = L3_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1898s config_xmls = self.set_config(existing_l3_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __________ TestJunosOspfv3Module.test_junos_ospf_interfaces_rendered ___________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospf_interfaces_rendered(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s name="ge-0/0/2.0", 1898s address_family=[ 1898s dict( 1898s afi="ipv4", 1898s processes=dict( 1898s area=dict(area_id="0.0.0.1"), 1898s priority=6, 1898s metric=7, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="rendered", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "0.0.0.1ge-0/0/2.0" 1898s "67", 1898s '' 1898s "10.200.16.75", 1898s ] 1898s > self.execute_module(changed=False, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:344: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospf_interfaces.py:607: in main 1898s result = Ospf_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:100: in execute_module 1898s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________ TestJunosL3InterfacesModule.test_junos_l3_interfaces_rendered _________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l3_interfaces_rendered(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/1", 1898s ipv4=[ 1898s dict(address="100.64.0.1/10"), 1898s dict(address="100.64.0.2/10"), 1898s ], 1898s ), 1898s ], 1898s state="rendered", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ge-0/0/10" 1898s "100.64.0.1/10" 1898s "100.64.0.2/10" 1898s "", 1898s ] 1898s > self.execute_module(changed=False, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:256: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l3_interfaces.py:1021: in main 1898s result = L3_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:96: in execute_module 1898s config_xmls = self.set_config(existing_l3_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __________ TestJunosOspfv3Module.test_junos_ospf_interfaces_replaced ___________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospf_interfaces_replaced(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s name="ge-0/0/2.0", 1898s address_family=[ 1898s dict( 1898s afi="ipv4", 1898s processes=dict( 1898s area=dict(area_id="0.0.0.1"), 1898s priority=6, 1898s metric=7, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:183: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospf_interfaces.py:607: in main 1898s result = Ospf_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1898s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________ TestJunosL3InterfacesModule.test_junos_l3_interfaces_replaced _________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l3_interfaces_replaced(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/2", 1898s ipv4=[ 1898s dict(address="100.64.0.1/10"), 1898s dict(address="100.64.0.2/10"), 1898s ], 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "ge-0/0/20" 1898s "100.64.0.1/10" 1898s "100.64.0.2/10" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:160: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l3_interfaces.py:1021: in main 1898s result = L3_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1898s config_xmls = self.set_config(existing_l3_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____ TestJunosOspfv3Module.test_junos_ospf_interfaces_replaced_idempotent _____ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospf_interfaces_replaced_idempotent(self): 1898s self.get_connection.return_value = load_fixture( 1898s "junos_ospf_interfaces_config.cfg", 1898s ) 1898s src = load_fixture("junos_ospf_interfaces.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s name="ge-0/0/2.0", 1898s address_family=[ 1898s dict( 1898s afi="ipv4", 1898s processes=dict( 1898s area=dict(area_id="0.0.0.1"), 1898s priority=6, 1898s metric=7, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:221: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospf_interfaces.py:607: in main 1898s result = Ospf_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1898s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosL3InterfacesModule.test_junos_l3_interfaces_replaced_idempotent ___ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_l3_interfaces_replaced_idempotent(self): 1898s self.get_config.return_value = load_fixture( 1898s "junos_interfaces_config.xml", 1898s ) 1898s src = load_fixture("junos_l3_interfaces.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="ge-0/0/1", 1898s ipv4=[ 1898s dict(address="100.64.0.1/10"), 1898s dict(address="100.64.0.2/10"), 1898s ], 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:184: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_l3_interfaces.py:1021: in main 1898s result = L3_interfaces(module).execute_module() 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1898s config_xmls = self.set_config(existing_l3_interfaces_facts) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1898s root = build_root_xml_node("interfaces") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______________ TestJunosOspfv2Module.test_junos_ospfv2_deleted ________________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv2_deleted(self): 1898s set_module_args( 1898s dict( 1898s config=[], 1898s state="deleted", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s '0.0.0.1000.0.0.200' 1898s '' 1898s '' 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv2.py:585: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv2.py:1168: in main 1898s result = Ospfv2(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospf_facts) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosLogging_globalModule.test_junos_logging_global_deleted_user_11 ____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_deleted_user_11(self): 1898s set_module_args(dict(config=dict(), state="deleted")) 1898s commands = [ 1898s '' 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:381: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________________ TestJunosOspfv2Module.test_junos_ospfv2_merged ________________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv2_merged(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s rfc1583compatibility="False", 1898s external_preference=10, 1898s overload=dict( 1898s allow_route_leaking=True, 1898s as_external=True, 1898s stub_network=True, 1898s timeout=1200, 1898s ), 1898s spf_options=dict( 1898s delay=3000, 1898s holddown=4000, 1898s rapid_runs=9, 1898s no_ignore_our_externals=True, 1898s ), 1898s prefix_export_limit=30000, 1898s areas=[ 1898s dict( 1898s area_id="0.0.0.100", 1898s stub=dict(default_metric=200, set=True), 1898s area_ranges=[ 1898s dict( 1898s address="10.200.17.0/24", 1898s exact=True, 1898s restrict=True, 1898s override_metric=2000, 1898s ), 1898s ], 1898s interfaces=[ 1898s dict( 1898s name="so-0/0/0.0", 1898s priority=3, 1898s metric=5, 1898s flood_reduction=False, 1898s passive=True, 1898s bandwidth_based_metrics=[ 1898s dict( 1898s bandwidth="1g", 1898s metric=5, 1898s ), 1898s ], 1898s timers=dict( 1898s dead_interval=4, 1898s hello_interval=2, 1898s poll_interval=2, 1898s retransmit_interval=2, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "30004000" 1898s "9" 1898s "1200" 1898s "10" 1898s "30000" 1898s "" 1898s "0.0.0.10010.200.17.0/24" 1898s "2000" 1898s "so-0/0/0.035" 1898s "1g5" 1898s "42" 1898s "22" 1898s "200", 1898s '' 1898s "10.200.16.75", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv2.py:188: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv2.py:1168: in main 1898s result = Ospfv2(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospf_facts) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______ TestJunosLogging_globalModule.test_junos_logging_global_merged_07 _______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_merged_07(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s allow_duplicates=True, 1898s routing_instance="inst11", 1898s log_rotate_frequency=45, 1898s source_address="33.33.33.33", 1898s time_format=dict(millisecond=True, year=True), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "45" 1898s "inst1133.33.33.33" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:275: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____________ TestJunosOspfv2Module.test_junos_ospfv2_merged_areas _____________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv2_merged_areas(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s areas=[ 1898s dict( 1898s area_id="0.0.0.100", 1898s stub=dict(default_metric=200, set=True), 1898s area_ranges=[ 1898s dict( 1898s address="10.200.17.0/24", 1898s ), 1898s dict( 1898s address="10.200.18.0/24", 1898s ), 1898s ], 1898s interfaces=[ 1898s dict( 1898s name="so-0/1/0.0", 1898s bandwidth_based_metrics=[ 1898s dict( 1898s bandwidth="1g", 1898s metric=5, 1898s ), 1898s dict( 1898s bandwidth="10g", 1898s metric=5, 1898s ), 1898s ], 1898s ), 1898s dict( 1898s name="so-0/1/0.0", 1898s priority=3, 1898s ), 1898s ], 1898s ), 1898s dict( 1898s area_id="0.0.0.200", 1898s area_range="10.200.20.0/24", 1898s interfaces=[ 1898s dict( 1898s name="so-0/1/0.0", 1898s bandwidth_based_metrics=[ 1898s dict( 1898s bandwidth="1g", 1898s metric=5, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "0.0.0.100" 1898s "10.200.17.0/24" 1898s "10.200.18.0/24" 1898s "so-0/1/0.0" 1898s "1g5" 1898s "10g5" 1898s "so-0/1/0.03" 1898s "200" 1898s "0.0.0.20010.200.20.0/24" 1898s "so-0/1/0.0" 1898s "1g5" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv2.py:264: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv2.py:1168: in main 1898s result = Ospfv2(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospf_facts) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosLogging_globalModule.test_junos_logging_global_merged_archive_01 ___ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_merged_archive_01(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s archive=dict( 1898s set=True, 1898s files=10, 1898s file_size=65578, 1898s no_binary_data=True, 1898s no_world_readable=True, 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "10" 1898s "65578" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:111: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______________ TestJunosOspfv2Module.test_junos_ospfv2_overridden ______________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv2_overridden(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s rfc1583compatibility="False", 1898s external_preference=10, 1898s overload=dict( 1898s allow_route_leaking=True, 1898s as_external=True, 1898s stub_network=True, 1898s timeout=1200, 1898s ), 1898s spf_options=dict( 1898s delay=3000, 1898s holddown=4000, 1898s rapid_runs=9, 1898s no_ignore_our_externals=True, 1898s ), 1898s prefix_export_limit=30000, 1898s areas=[ 1898s dict( 1898s area_id="0.0.0.100", 1898s stub=dict(default_metric=200, set=True), 1898s area_ranges=[ 1898s dict( 1898s address="10.200.17.0/24", 1898s exact=True, 1898s restrict=True, 1898s override_metric=2000, 1898s ), 1898s ], 1898s interfaces=[ 1898s dict( 1898s name="so-0/0/0.0", 1898s priority=3, 1898s metric=5, 1898s flood_reduction=False, 1898s passive=True, 1898s bandwidth_based_metrics=[ 1898s dict( 1898s bandwidth="1g", 1898s metric=5, 1898s ), 1898s ], 1898s timers=dict( 1898s dead_interval=4, 1898s hello_interval=2, 1898s poll_interval=2, 1898s retransmit_interval=2, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s '0.0.0.100' 1898s '0.0.0.200' 1898s '' 1898s '' 1898s '' 1898s "30004000" 1898s "9" 1898s "1200" 1898s "" 1898s "10" 1898s "30000" 1898s "0.0.0.100" 1898s "10.200.17.0/24" 1898s "2000" 1898s "so-0/0/0.035" 1898s "" 1898s "1g5" 1898s "42" 1898s "22" 1898s "200" 1898s "", 1898s '' 1898s "10.200.16.75", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv2.py:568: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv2.py:1168: in main 1898s result = Ospfv2(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospf_facts) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosLogging_globalModule.test_junos_logging_global_merged_console_02 ___ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_merged_console_02(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s console=dict( 1898s any=dict(level="info"), 1898s authorization=dict(level="any"), 1898s change_log=dict(level="critical"), 1898s ftp=dict(level="none"), 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:128: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______________ TestJunosOspfv2Module.test_junos_ospfv2_rendered _______________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv2_rendered(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s rfc1583compatibility="False", 1898s external_preference=10, 1898s overload=dict( 1898s allow_route_leaking=True, 1898s as_external=True, 1898s stub_network=True, 1898s timeout=1200, 1898s ), 1898s spf_options=dict( 1898s delay=3000, 1898s holddown=4000, 1898s rapid_runs=9, 1898s no_ignore_our_externals=True, 1898s ), 1898s prefix_export_limit=30000, 1898s areas=[ 1898s dict( 1898s area_id="0.0.0.100", 1898s stub=dict(default_metric=200, set=True), 1898s area_ranges=[ 1898s dict( 1898s address="10.200.17.0/24", 1898s exact=True, 1898s restrict=True, 1898s override_metric=2000, 1898s ), 1898s ], 1898s interfaces=[ 1898s dict( 1898s name="so-0/0/0.0", 1898s priority=3, 1898s metric=5, 1898s flood_reduction=False, 1898s passive=True, 1898s bandwidth_based_metrics=[ 1898s dict( 1898s bandwidth="1g", 1898s metric=5, 1898s ), 1898s ], 1898s timers=dict( 1898s dead_interval=4, 1898s hello_interval=2, 1898s poll_interval=2, 1898s retransmit_interval=2, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="rendered", 1898s ), 1898s ) 1898s rendered = ( 1898s '' 1898s "30004000" 1898s "9" 1898s "1200" 1898s "" 1898s "10" 1898s "30000" 1898s "0.0.0.100" 1898s "10.200.17.0/24" 1898s "2000" 1898s "so-0/0/0.0" 1898s "35" 1898s "1g" 1898s "5" 1898s "42" 1898s "2" 1898s "2" 1898s "200" 1898s "" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv2.py:807: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv2.py:1168: in main 1898s result = Ospfv2(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:106: in execute_module 1898s config_xmls = self.set_config(existing_ospf_facts) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosLogging_globalModule.test_junos_logging_global_merged_files_03 ____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_merged_files_03(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s files=[dict(name="file101", allow_duplicates=True)], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "file101" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:160: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______________ TestJunosOspfv2Module.test_junos_ospfv2_replaced _______________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv2_replaced(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s rfc1583compatibility="False", 1898s external_preference=10, 1898s overload=dict( 1898s allow_route_leaking=True, 1898s as_external=True, 1898s stub_network=True, 1898s timeout=1200, 1898s ), 1898s spf_options=dict( 1898s delay=3000, 1898s holddown=4000, 1898s rapid_runs=9, 1898s no_ignore_our_externals=True, 1898s ), 1898s prefix_export_limit=30000, 1898s areas=[ 1898s dict( 1898s area_id="0.0.0.100", 1898s stub=dict(default_metric=200, set=True), 1898s area_ranges=[ 1898s dict( 1898s address="10.200.17.0/24", 1898s exact=True, 1898s restrict=True, 1898s override_metric=2000, 1898s ), 1898s ], 1898s interfaces=[ 1898s dict( 1898s name="so-0/0/0.0", 1898s priority=3, 1898s metric=5, 1898s flood_reduction=False, 1898s passive=True, 1898s bandwidth_based_metrics=[ 1898s dict( 1898s bandwidth="1g", 1898s metric=5, 1898s ), 1898s ], 1898s timers=dict( 1898s dead_interval=4, 1898s hello_interval=2, 1898s poll_interval=2, 1898s retransmit_interval=2, 1898s ), 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s '0.0.0.1000.0.0.200' 1898s '' 1898s '' 1898s '' 1898s "300040009" 1898s "1200" 1898s "" 1898s "1030000" 1898s "0.0.0.10010.200.17.0/24" 1898s "2000" 1898s "so-0/0/0.035" 1898s "1g5" 1898s "42" 1898s "22" 1898s "200", 1898s '' 1898s "10.200.16.75", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv2.py:478: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv2.py:1168: in main 1898s result = Ospfv2(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospf_facts) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosLogging_globalModule.test_junos_logging_global_merged_files_04 ____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_merged_files_04(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s files=[ 1898s dict( 1898s name="file102", 1898s allow_duplicates=True, 1898s any=dict(level="any"), 1898s structured_data=dict(set=True), 1898s ), 1898s dict( 1898s name="file103", 1898s archive=dict( 1898s set=True, 1898s no_binary_data=True, 1898s files=10, 1898s file_size=65578, 1898s no_world_readable=True, 1898s ), 1898s explicit_priority=True, 1898s match="^set*", 1898s match_strings=["^delete", "^prompt"], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "file102" 1898s "any" 1898s "file103" 1898s "10" 1898s "65578" 1898s "^set*" 1898s "^delete" 1898s "^prompt", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:203: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________________ TestJunosOspfv3Module.test_junos_ospfv3_delete ________________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv3_delete(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s areas=[ 1898s dict( 1898s area_id="0.0.0.100", 1898s stub=dict(default_metric=200, set=True), 1898s interfaces=[dict(name="so-0/0/0.0")], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="deleted", 1898s ), 1898s ) 1898s 1898s commands = [ 1898s '' 1898s "0.0.0.100so-0/0/0.0" 1898s "200", 1898s '' 1898s "10.200.16.75", 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv3.py:332: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv3.py:748: in main 1898s result = Ospfv3(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospfv3_facts) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosLogging_globalModule.test_junos_logging_global_merged_hosts_05 ____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_merged_hosts_05(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s hosts=[ 1898s dict( 1898s name="host222", 1898s exclude_hostname=True, 1898s allow_duplicates=True, 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "host222" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:226: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __________ TestJunosOspfv3Module.test_junos_ospfv3_delete_idempotent ___________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv3_delete_idempotent(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.70", 1898s areas=[ 1898s dict( 1898s area_id="0.0.0.100", 1898s stub=dict(default_metric=200, set=True), 1898s interfaces=[dict(name="so-0/0/0.0")], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="deleted", 1898s ), 1898s ) 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv3.py:353: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv3.py:748: in main 1898s result = Ospfv3(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospfv3_facts) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosLogging_globalModule.test_junos_logging_global_merged_hosts_idempotent_06 _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_merged_hosts_idempotent_06(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s hosts=[ 1898s dict( 1898s name="host111", 1898s exclude_hostname=True, 1898s allow_duplicates=True, 1898s any=dict(level="any"), 1898s structured_data=dict(set=True, brief=True), 1898s facility_override="ftp", 1898s log_prefix="field", 1898s match="^set*", 1898s match_strings=["^delete", "^prompt"], 1898s port=1231, 1898s routing_instance="inst11", 1898s source_address="11.11.11.11", 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:253: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________________ TestJunosOspfv3Module.test_junos_ospfv3_merged ________________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv3_merged(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s areas=[ 1898s dict( 1898s area_id="0.0.0.100", 1898s stub=dict(default_metric=200, set=True), 1898s interfaces=[ 1898s dict( 1898s name="so-0/0/0.0", 1898s priority=3, 1898s metric=5, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "0.0.0.100so-0/0/0.0" 1898s "35" 1898s "200", 1898s '' 1898s "10.200.16.75", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv3.py:131: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv3.py:748: in main 1898s result = Ospfv3(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospfv3_facts) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosLogging_globalModule.test_junos_logging_global_merged_user_08 ____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_merged_user_08(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s users=[ 1898s dict(name="user1", allow_duplicates=True), 1898s dict( 1898s name="user2", 1898s allow_duplicates=True, 1898s any=dict(level="any"), 1898s user=dict(level="info"), 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:295: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __________ TestJunosOspfv3Module.test_junos_ospfv3_merged_idempotent ___________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv3_merged_idempotent(self): 1898s self.get_connection.return_value = load_fixture( 1898s "junos_ospfv3_config.cfg", 1898s ) 1898s src = load_fixture("junos_ospfv3.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="30", 1898s areas=[ 1898s dict( 1898s area_id="100", 1898s stub=dict(default_metric=10, set=True), 1898s interfaces=[ 1898s dict( 1898s name="so-0/0/0.0", 1898s priority=3, 1898s metric=5, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv3.py:163: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv3.py:748: in main 1898s result = Ospfv3(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospfv3_facts) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosLogging_globalModule.test_junos_logging_global_overridden_user_10 __ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_overridden_user_10(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s users=[ 1898s dict(name="user1", allow_duplicates=True), 1898s dict( 1898s name="user2", 1898s allow_duplicates=True, 1898s any=dict(level="any"), 1898s user=dict(level="info"), 1898s ), 1898s ], 1898s ), 1898s state="overridden", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:361: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______________ TestJunosOspfv3Module.test_junos_ospfv3_overridden ______________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv3_overridden(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s areas=[ 1898s dict( 1898s area_id="0.0.0.100", 1898s stub=dict(default_metric=200, set=True), 1898s interfaces=[ 1898s dict( 1898s name="so-0/0/0.0", 1898s priority=3, 1898s metric=5, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "0.0.0.100so-0/0/0.0" 1898s "3" 1898s "5" 1898s "200", 1898s '' 1898s "10.200.16.75", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv3.py:270: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv3.py:748: in main 1898s result = Ospfv3(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospfv3_facts) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________ TestJunosOspfv3Module.test_junos_ospfv3_overridden_idempotent _________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv3_overridden_idempotent(self): 1898s self.get_connection.return_value = load_fixture( 1898s "junos_ospfv3_config.cfg", 1898s ) 1898s src = load_fixture("junos_ospfv3.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="30", 1898s areas=[ 1898s dict( 1898s area_id="100", 1898s stub=dict(default_metric=10, set=True), 1898s interfaces=[ 1898s dict( 1898s name="so-0/0/0.0", 1898s priority=3, 1898s metric=5, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv3.py:303: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv3.py:748: in main 1898s result = Ospfv3(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospfv3_facts) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____ TestJunosLogging_globalModule.test_junos_logging_global_rendered_12 ______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_logging_global_rendered_12(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s archive=dict( 1898s set=True, 1898s files=10, 1898s file_size=65578, 1898s no_binary_data=True, 1898s no_world_readable=True, 1898s ), 1898s ), 1898s state="rendered", 1898s ), 1898s ) 1898s rendered = ( 1898s '' 1898s "10" 1898s "65578" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_logging_global.py:404: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_logging_global.py:1738: in main 1898s result = Logging_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:101: in execute_module 1898s config_xmls = self.set_config(existing_logging_global_facts) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1898s self.root = build_root_xml_node("system") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______________ TestJunosOspfv3Module.test_junos_ospfv3_rendered _______________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv3_rendered(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s areas=[ 1898s dict( 1898s area_id="0.0.0.100", 1898s stub=dict(default_metric=200, set=True), 1898s interfaces=[ 1898s dict( 1898s name="so-0/0/0.0", 1898s priority=3, 1898s metric=5, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="rendered", 1898s ), 1898s ) 1898s commands = ( 1898s '' 1898s "0.0.0.100so-0/0/0.0" 1898s "35" 1898s "200" 1898s ) 1898s > self.execute_module(changed=False, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv3.py:403: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv3.py:748: in main 1898s result = Ospfv3(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:106: in execute_module 1898s config_xmls = self.set_config(existing_ospfv3_facts) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______________ TestJunosOspfv3Module.test_junos_ospfv3_replaced _______________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv3_replaced(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="10.200.16.75", 1898s areas=[ 1898s dict( 1898s area_id="0.0.0.100", 1898s stub=dict(default_metric=200, set=True), 1898s interfaces=[ 1898s dict( 1898s name="so-0/0/0.0", 1898s priority=3, 1898s metric=5, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv3.py:189: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv3.py:748: in main 1898s result = Ospfv3(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospfv3_facts) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________ TestJunosPrefix_listsModule.test_junos_prefix_lists_merged_01 _________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_prefix_lists_merged_01(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="Internal", 1898s address_prefixes=["172.16.1.32", "172.16.3.32"], 1898s ), 1898s dict(name="Test1", dynamic_db=True), 1898s dict( 1898s name="Test2", 1898s address_prefixes=[ 1898s "172.16.2.32", 1898s "172.16.7.32", 1898s "172.16.9.32", 1898s ], 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "Internal" 1898s "172.16.1.32" 1898s "172.16.3.32" 1898s "" 1898s "Test1" 1898s "Test2" 1898s "172.16.2.32" 1898s "172.16.7.32" 1898s "" 1898s "172.16.9.32" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_prefix_lists.py:125: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_prefix_lists.py:653: in main 1898s result = Prefix_lists(module).execute_module() 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1898s config_xmls = self.set_config(existing_prefix_lists_facts) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1898s self.root = build_root_xml_node("policy-options") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _________ TestJunosOspfv3Module.test_junos_ospfv3_replaced_idempotent __________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ospfv3_replaced_idempotent(self): 1898s self.get_connection.return_value = load_fixture( 1898s "junos_ospfv3_config.cfg", 1898s ) 1898s src = load_fixture("junos_ospfv3.cfg", content="str") 1898s set_module_args(dict(src=src)) 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s router_id="30", 1898s areas=[ 1898s dict( 1898s area_id="100", 1898s stub=dict(default_metric=10, set=True), 1898s interfaces=[ 1898s dict( 1898s name="so-0/0/0.0", 1898s priority=3, 1898s metric=5, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s 1898s > self.execute_module(changed=False, commands=[]) 1898s 1898s tests/unit/modules/network/junos/test_junos_ospfv3.py:235: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_ospfv3.py:748: in main 1898s result = Ospfv3(module).execute_module() 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1898s config_xmls = self.set_config(existing_ospfv3_facts) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosPrefix_listsModule.test_junos_prefix_lists_merged_idempotent_01 ___ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_prefix_lists_merged_idempotent_01(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict(name="customer_64510"), 1898s dict( 1898s name="customer_64500", 1898s dynamic_db=True, 1898s address_prefixes=["172.16.1.16/28", "172.16.1.32/28"], 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_prefix_lists.py:142: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_prefix_lists.py:653: in main 1898s result = Prefix_lists(module).execute_module() 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1898s config_xmls = self.set_config(existing_prefix_lists_facts) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1898s self.root = build_root_xml_node("policy-options") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______ TestJunosPrefix_listsModule.test_junos_prefix_lists_overridden_01 _______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_prefix_lists_overridden_01(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="customer_65500", 1898s address_prefixes=["172.16.2.16/28", "172.16.1.32/28"], 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s 'customer_64510' 1898s 'customer_64500' 1898s "customer_65500" 1898s "172.16.2.16/28" 1898s "172.16.1.32/28" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_prefix_lists.py:217: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_prefix_lists.py:653: in main 1898s result = Prefix_lists(module).execute_module() 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1898s config_xmls = self.set_config(existing_prefix_lists_facts) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1898s self.root = build_root_xml_node("policy-options") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosPrefix_listsModule.test_junos_prefix_lists_overridden_idempotent_01 _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_prefix_lists_overridden_idempotent_01(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict(name="customer_64510"), 1898s dict( 1898s name="customer_64500", 1898s dynamic_db=True, 1898s address_prefixes=["172.16.1.16/28", "172.16.1.32/28"], 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_prefix_lists.py:234: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_prefix_lists.py:653: in main 1898s result = Prefix_lists(module).execute_module() 1898s plugins/module_utiFATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/junipernetworks/junos/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/junipernetworks/junos --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/junipernetworks/junos tests/unit/modules/network/junos/test_junos_bgp_address_family.py tests/unit/modules/network/junos/test_junos_bgp_global.py tests/unit/modules/network/junos/test_junos_command.py tests/unit/modules/network/junos/test_junos_config.py tests/unit/modules/network/junos/test_junos_facts.py tests/unit/modules/network/junos/test_junos_hostname.py tests/unit/modules/network/junos/test_junos_interfaces.py tests/unit/modules/network/junos/test_junos_l2_interfaces.py tests/unit/modules/network/junos/test_junos_l3_interfaces.py tests/unit/modules/network/junos/test_junos_logging_global.py tests/unit/modules/network/junos/test_junos_netconf.py tests/unit/modules/network/junos/test_junos_ntp_global.py tests/unit/modules/network/junos/test_junos_ospf_interfaces.py tests/unit/modules/network/junos/test_junos_ospfv2.py tests/unit/modules/network/junos/test_junos_ospfv3.py tests/unit/modules/network/junos/test_junos_package.py tests/unit/modules/network/junos/test_junos_ping.py tests/unit/modules/network/junos/test_junos_prefix_lists.py tests/unit/modules/network/junos/test_junos_routing_instances.py tests/unit/modules/network/junos/test_junos_routing_options.py tests/unit/modules/network/junos/test_junos_rpc.py tests/unit/modules/network/junos/test_junos_scp.py tests/unit/modules/network/junos/test_junos_security_policies.py tests/unit/modules/network/junos/test_junos_security_policies_global.py tests/unit/modules/network/junos/test_junos_security_zones.py tests/unit/modules/network/junos/test_junos_snmp_server.py tests/unit/modules/network/junos/test_junos_vlans.py tests/unit/plugins/terminal/test_junos.py" returned exit status 1. 1898s ls/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1898s config_xmls = self.set_config(existing_prefix_lists_facts) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1898s self.root = build_root_xml_node("policy-options") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______ TestJunosPrefix_listsModule.test_junos_prefix_lists_rendered_01 ________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_prefix_lists_rendered_01(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="Internal", 1898s address_prefixes=["172.16.1.32", "172.16.3.32"], 1898s ), 1898s dict(name="Test1", dynamic_db=True), 1898s dict( 1898s name="Test2", 1898s address_prefixes=[ 1898s "172.16.2.32", 1898s "172.16.7.32", 1898s "172.16.9.32", 1898s ], 1898s ), 1898s ], 1898s state="rendered", 1898s ), 1898s ) 1898s 1898s rendered = ( 1898s '' 1898s "Internal" 1898s "172.16.1.32" 1898s "172.16.3.32" 1898s "" 1898s "Test1" 1898s "Test2" 1898s "172.16.2.32" 1898s "172.16.7.32" 1898s "" 1898s "172.16.9.32" 1898s "" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_prefix_lists.py:326: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_prefix_lists.py:653: in main 1898s result = Prefix_lists(module).execute_module() 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:96: in execute_module 1898s config_xmls = self.set_config(existing_prefix_lists_facts) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1898s self.root = build_root_xml_node("policy-options") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____ TestJunosRouting_optionsModule.test_junos_routing_options_merged_01 ______ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_options_merged_01(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s autonomous_system=dict( 1898s as_number="2", 1898s loops=4, 1898s asdot_notation=True, 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_options.py:103: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_options.py:397: in main 1898s result = Routing_options(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:106: in execute_module 1898s config_xmls = self.set_config(existing_routing_options_facts) 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______ TestJunosPrefix_listsModule.test_junos_prefix_lists_replaced_01 ________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_prefix_lists_replaced_01(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="customer_64510", 1898s address_prefixes=["172.16.1.32/28", "172.16.3.32/28"], 1898s ), 1898s dict( 1898s name="customer_64500", 1898s address_prefixes=["172.16.2.16/28", "172.16.1.32/28"], 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s 'customer_64510' 1898s '' 1898s "customer_64500" 1898s "customer_64510" 1898s "172.16.1.32/28" 1898s "" 1898s "172.16.3.32/28" 1898s "customer_64500" 1898s "172.16.2.16/28" 1898s "172.16.1.32/28" 1898s "", 1898s ] 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_prefix_lists.py:176: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_prefix_lists.py:653: in main 1898s result = Prefix_lists(module).execute_module() 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1898s config_xmls = self.set_config(existing_prefix_lists_facts) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1898s self.root = build_root_xml_node("policy-options") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosRouting_optionsModule.test_junos_routing_options_merged_idempotent __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_options_merged_idempotent(self): 1898s self.execute_show_command.return_value = load_fixture( 1898s "junos_routing_options_config.cfg", 1898s ) 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s router_id="12.12.12.13", 1898s autonomous_system=dict(as_number="1"), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_options.py:122: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_options.py:397: in main 1898s result = Routing_options(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:106: in execute_module 1898s config_xmls = self.set_config(existing_routing_options_facts) 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosPrefix_listsModule.test_junos_prefix_lists_replaced_idempotent_01 __ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_prefix_lists_replaced_idempotent_01(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict(name="customer_64510"), 1898s dict( 1898s name="customer_64500", 1898s dynamic_db=True, 1898s address_prefixes=["172.16.1.16/28", "172.16.1.32/28"], 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_prefix_lists.py:193: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_prefix_lists.py:653: in main 1898s result = Prefix_lists(module).execute_module() 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1898s config_xmls = self.set_config(existing_prefix_lists_facts) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1898s self.root = build_root_xml_node("policy-options") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____ TestJunosRouting_optionsModule.test_junos_routing_options_overridden _____ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_options_overridden(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s autonomous_system=dict( 1898s as_number="1", 1898s loops=4, 1898s asdot_notation=True, 1898s ), 1898s ), 1898s state="overridden", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_options.py:207: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_options.py:397: in main 1898s result = Routing_options(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:106: in execute_module 1898s config_xmls = self.set_config(existing_routing_options_facts) 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosRouting_instancesModule.test_junos_routing_instances_deleted _____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_instances_deleted(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args(dict(config=[], state="deleted")) 1898s 1898s commands = [ 1898s '' 1898s '', 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_instances.py:411: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_instances.py:796: in main 1898s result = Routing_instances(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1898s config_xmls = self.set_config(existing_routing_instances_facts) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1898s self.root = build_root_xml_node("routing-instances") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______ TestJunosRouting_optionsModule.test_junos_routing_options_rendered ______ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_options_rendered(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s autonomous_system=dict( 1898s as_number="2", 1898s loops=4, 1898s asdot_notation=True, 1898s ), 1898s router_id="12.12.12.12", 1898s ), 1898s state="rendered", 1898s ), 1898s ) 1898s rendered = ( 1898s '' 1898s "24" 1898s "12.12.12.12" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_options.py:191: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_options.py:397: in main 1898s result = Routing_options(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:100: in execute_module 1898s config_xmls = self.set_config(existing_routing_options_facts) 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosRouting_instancesModule.test_junos_routing_instances_delted_single_entry _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_instances_delted_single_entry(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args( 1898s dict(config=[dict(name="forwardinst")], state="deleted"), 1898s ) 1898s 1898s commands = [ 1898s '' 1898s 'forwardinst', 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_instances.py:426: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_instances.py:796: in main 1898s result = Routing_instances(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1898s config_xmls = self.set_config(existing_routing_instances_facts) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1898s self.root = build_root_xml_node("routing-instances") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosRouting_optionsModule.test_junos_routing_options_replaced_01 _____ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_options_replaced_01(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s autonomous_system=dict( 1898s as_number="1", 1898s loops=4, 1898s asdot_notation=True, 1898s ), 1898s ), 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_options.py:166: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_options.py:397: in main 1898s result = Routing_options(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:106: in execute_module 1898s config_xmls = self.set_config(existing_routing_options_facts) 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:144: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_options/routing_options.py:156: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosRouting_instancesModule.test_junos_routing_instances_domains_merged _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_instances_domains_merged(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="EVPN", 1898s type="virtual-switch", 1898s route_distinguisher="10.0.0.21:444", 1898s bridge_domains=[ 1898s dict( 1898s name="BD456", 1898s vlan_id=456, 1898s enable_mac_move_action=True, 1898s mcae_mac_flush=True, 1898s no_local_switching=True, 1898s service_id=20, 1898s ), 1898s dict( 1898s name="BD457", 1898s vlan_id=457, 1898s ), 1898s ], 1898s ), 1898s dict( 1898s name="mgmt_junos", 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "EVPN" 1898s "virtual-switch" 1898s "" 1898s "BD456" 1898s "20" 1898s "456" 1898s "" 1898s "" 1898s "" 1898s "" 1898s "BD457" 1898s "457" 1898s "10.0.0.21:444" 1898s "mgmt_junos", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_instances.py:145: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_instances.py:796: in main 1898s result = Routing_instances(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1898s config_xmls = self.set_config(existing_routing_instances_facts) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1898s self.root = build_root_xml_node("routing-instances") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____ TestJunosRouting_instancesModule.test_junos_routing_instances_merged _____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_instances_merged(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="test", 1898s type="vrf", 1898s route_distinguisher="10.58.255.1:37", 1898s vrf_imports=["test-policy"], 1898s vrf_exports=["test-policy", "test-policy-1"], 1898s interfaces=[ 1898s dict(name="sp-0/0/0.0"), 1898s dict(name="gr-0/0/0.0"), 1898s ], 1898s connector_id_advertise=True, 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "test" 1898s "vrfsp-0/0/0.0" 1898s "gr-0/0/0.0" 1898s "10.58.255.1:37" 1898s "test-policy" 1898s "test-policytest-policy-1" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_instances.py:178: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_instances.py:796: in main 1898s result = Routing_instances(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1898s config_xmls = self.set_config(existing_routing_instances_facts) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1898s self.root = build_root_xml_node("routing-instances") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosRouting_instancesModule.test_junos_routing_instances_merged_idempotent _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_instances_merged_idempotent(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="forwardinst", 1898s type="forwarding", 1898s description="Configured by Ansible Content Team", 1898s ), 1898s ], 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_instances.py:194: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_instances.py:796: in main 1898s result = Routing_instances(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1898s config_xmls = self.set_config(existing_routing_instances_facts) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1898s self.root = build_root_xml_node("routing-instances") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosRouting_instancesModule.test_junos_routing_instances_overridden ___ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_instances_overridden(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="test1", 1898s type="vrf", 1898s route_distinguisher="10.58.255.1:37", 1898s vrf_imports=["test-policy"], 1898s vrf_exports=["test-policy", "test-policy-1"], 1898s interfaces=[ 1898s dict(name="sp-0/0/0.0"), 1898s dict(name="gr-0/0/0.0"), 1898s ], 1898s connector_id_advertise=True, 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s 1898s commands = [ 1898s '' 1898s 'forwardinst' 1898s "test1" 1898s "vrfsp-0/0/0.0" 1898s "gr-0/0/0.0" 1898s "10.58.255.1:37" 1898s "test-policytest-policy" 1898s "test-policy-1", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_instances.py:293: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_instances.py:796: in main 1898s result = Routing_instances(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1898s config_xmls = self.set_config(existing_routing_instances_facts) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1898s self.root = build_root_xml_node("routing-instances") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosSecurity_policiesModule.test_junos_security_policies_merged_01 ____ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_merged_01(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "from_zones": [ 1898s { 1898s "name": "one", 1898s "to_zones": [ 1898s { 1898s "name": "two", 1898s "policies": [ 1898s { 1898s "match": { 1898s "application": { 1898s "names": [ 1898s "junos-dhcp-relay", 1898s "junos-finger", 1898s ], 1898s }, 1898s "destination_address": { 1898s "addresses": ["a2", "a4"], 1898s }, 1898s "destination_address_excluded": True, 1898s "dynamic_application": { 1898s "any": True, 1898s }, 1898s "source_address": { 1898s "addresses": ["a1", "a3"], 1898s }, 1898s "source_address_excluded": True, 1898s "source_end_user_profile": "test_end_user_profile", 1898s "source_identity": { 1898s "unknown_user": True, 1898s }, 1898s "url_category": { 1898s "names": [ 1898s "Enhanced_Web_Chat", 1898s "Enhanced_Web_Collaboration", 1898s ], 1898s }, 1898s }, 1898s "name": "test_policy_1", 1898s "then": { 1898s "count": True, 1898s "deny": True, 1898s "log": {"session_close": True}, 1898s }, 1898s }, 1898s { 1898s "match": { 1898s "application": { 1898s "names": [ 1898s "junos-dhcp-relay", 1898s ], 1898s }, 1898s "destination_address": { 1898s "addresses": ["a2"], 1898s }, 1898s "source_address": { 1898s "addresses": ["a1"], 1898s }, 1898s }, 1898s "name": "test_policy_2", 1898s "then": { 1898s "reject": { 1898s "enable": True, 1898s "profile": "test_dyn_app", 1898s "ssl_proxy": { 1898s "enable": True, 1898s "profile_name": "SECURITY-SSL-PROXY", 1898s }, 1898s }, 1898s }, 1898s }, 1898s ], 1898s }, 1898s { 1898s "name": "three", 1898s "policies": [ 1898s { 1898s "match": { 1898s "application": { 1898s "names": [ 1898s "junos-dhcp-relay", 1898s ], 1898s }, 1898s "destination_address": { 1898s "addresses": ["a2"], 1898s }, 1898s "source_address": { 1898s "addresses": ["a1"], 1898s }, 1898s }, 1898s "name": "test_policy_3", 1898s "then": { 1898s "permit": { 1898s "destination_address": "drop-translated", 1898s "application_services": { 1898s "advanced_anti_malware_policy": "test_anti_malware", 1898s "application_traffic_control_rule_set": "test_traffic_control", 1898s "gprs_gtp_profile": "gtp1", 1898s "gprs_sctp_profile": "sctp1", 1898s "icap_redirect": "test_icap", 1898s "idp_policy": "test_idp", 1898s "reverse_redirect_wx": True, 1898s "ssl_proxy": { 1898s "enable": True, 1898s "profile_name": "SECURITY-SSL-PROXY", 1898s }, 1898s "uac_policy": { 1898s "enable": True, 1898s }, 1898s "utm_policy": "test_utm", 1898s }, 1898s "firewall_authentication": { 1898s "pass_through": { 1898s "access_profile": "WEBAUTH", 1898s "auth_only_browser": True, 1898s "auth_user_agent": "Opera1", 1898s "client_match": "test-client", 1898s "ssl_termination_profile": "test_ssl_term", 1898s "web_redirect": True, 1898s "web_redirect_to_https": True, 1898s }, 1898s "push_to_identity_management": True, 1898s "user_firewall": { 1898s "access_profile": "WEBAUTH", 1898s "auth_only_browser": True, 1898s "auth_user_agent": "Opera1", 1898s "ssl_termination_profile": "test_ssl_term", 1898s "web_redirect": True, 1898s "web_redirect_to_https": True, 1898s }, 1898s "web_authentication": [ 1898s "FWClient1", 1898s "FWClient2", 1898s ], 1898s }, 1898s "tcp_options": { 1898s "initial_tcp_mss": 64, 1898s "reverse_tcp_mss": 64, 1898s "window_scale": True, 1898s }, 1898s }, 1898s }, 1898s }, 1898s ], 1898s }, 1898s ], 1898s }, 1898s ], 1898s "global": { 1898s "policies": [ 1898s { 1898s "match": { 1898s "application": { 1898s "names": ["junos-dhcp-relay"], 1898s }, 1898s "destination_address": { 1898s "addresses": ["a2"], 1898s }, 1898s "source_address": {"addresses": ["a1"]}, 1898s }, 1898s "name": "test_glob_1", 1898s "then": {"deny": True}, 1898s }, 1898s { 1898s "match": { 1898s "application": { 1898s "names": ["junos-dhcp-relay"], 1898s }, 1898s "destination_address": { 1898s "addresses": ["a2"], 1898s }, 1898s "source_address": {"addresses": ["a1"]}, 1898s }, 1898s "name": "test_glob_2", 1898s "then": {"deny": True}, 1898s }, 1898s ], 1898s }, 1898s }, 1898s state="merged", 1898s ), 1898s ) 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies.py:295: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies.py:2700: in main 1898s result = Security_policies(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:106: in execute_module 1898s config_xmls = self.set_config(existing_security_policies_facts) 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:154: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosRouting_instancesModule.test_junos_routing_instances_overridden_idempotent _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_instances_overridden_idempotent(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="forwardinst", 1898s type="forwarding", 1898s description="Configured by Ansible Content Team", 1898s ), 1898s ], 1898s state="overridden", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_instances.py:309: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_instances.py:796: in main 1898s result = Routing_instances(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1898s config_xmls = self.set_config(existing_routing_instances_facts) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1898s self.root = build_root_xml_node("routing-instances") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosSecurity_policiesModule.test_junos_security_policies_merged_02 ____ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_merged_02(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "from_zones": [ 1898s { 1898s "name": "one", 1898s "to_zones": [ 1898s { 1898s "name": "two", 1898s "policies": [ 1898s { 1898s "match": { 1898s "application": {"any": True}, 1898s "destination_address": { 1898s "any_ipv4": True, 1898s "any_ipv6": True, 1898s "any": True, 1898s }, 1898s "dynamic_application": { 1898s "names": [ 1898s "test1", 1898s "test2", 1898s ], 1898s "none": True, 1898s }, 1898s "source_address": { 1898s "any_ipv4": True, 1898s "any_ipv6": True, 1898s "any": True, 1898s }, 1898s "source_identity": { 1898s "unknown_user": True, 1898s "unauthenticated_user": True, 1898s "authenticated_user": True, 1898s "names": ["test1"], 1898s }, 1898s "url_category": { 1898s "any": True, 1898s "none": True, 1898s }, 1898s }, 1898s "name": "test_policy_1", 1898s "then": { 1898s "count": True, 1898s "deny": True, 1898s "log": {"session_init": True}, 1898s }, 1898s }, 1898s ], 1898s }, 1898s { 1898s "name": "three", 1898s "policies": [ 1898s { 1898s "match": { 1898s "application": { 1898s "names": [ 1898s "junos-dhcp-relay", 1898s ], 1898s }, 1898s "destination_address": { 1898s "any": True, 1898s }, 1898s "source_address": { 1898s "any": True, 1898s }, 1898s }, 1898s "name": "test_policy_3", 1898s "then": { 1898s "permit": { 1898s "application_services": { 1898s "idp": True, 1898s "redirect_wx": True, 1898s "uac_policy": { 1898s "captive_portal": "test", 1898s }, 1898s }, 1898s "firewall_authentication": { 1898s "user_firewall": { 1898s "domain": "test", 1898s }, 1898s }, 1898s "destination_address": "drop-untranslated", 1898s "tunnel": { 1898s "ipsec_vpn": "test_vpn", 1898s "pair_policy": "test_policy", 1898s }, 1898s }, 1898s }, 1898s }, 1898s ], 1898s }, 1898s ], 1898s }, 1898s ], 1898s }, 1898s state="merged", 1898s ), 1898s ) 1898s 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies.py:450: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies.py:2700: in main 1898s result = Security_policies(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:106: in execute_module 1898s config_xmls = self.set_config(existing_security_policies_facts) 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:154: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosRouting_instancesModule.test_junos_routing_instances_rendered ____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_instances_rendered(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="test", 1898s type="vrf", 1898s route_distinguisher="10.58.255.1:37", 1898s vrf_imports=["test-policy"], 1898s vrf_exports=["test-policy", "test-policy-1"], 1898s interfaces=[ 1898s dict(name="sp-0/0/0.0"), 1898s dict(name="gr-0/0/0.0"), 1898s ], 1898s connector_id_advertise=True, 1898s ), 1898s ], 1898s state="rendered", 1898s ), 1898s ) 1898s 1898s rendered = ( 1898s '' 1898s "test" 1898s "vrfsp-0/0/0.0" 1898s "gr-0/0/0.0" 1898s "10.58.255.1:37" 1898s "test-policy" 1898s "test-policytest-policy-1" 1898s "" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_instances.py:346: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_instances.py:796: in main 1898s result = Routing_instances(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:97: in execute_module 1898s config_xmls = self.set_config(existing_routing_instances_facts) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1898s self.root = build_root_xml_node("routing-instances") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosSecurity_policiesModule.test_junos_security_policies_overridden_01 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_overridden_01(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "global": { 1898s "policies": [ 1898s { 1898s "description": "test update", 1898s "match": { 1898s "application": {"any": True}, 1898s "destination_address": {"any_ipv6": True}, 1898s "source_address": {"any": True}, 1898s }, 1898s "name": "test_glob_3", 1898s "then": {"deny": True}, 1898s }, 1898s ], 1898s }, 1898s }, 1898s state="overridden", 1898s ), 1898s ) 1898s commands = ( 1898s '' 1898s "test_glob_3test updateany" 1898s "any-ipv6any" 1898s "" 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies.py:825: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies.py:2700: in main 1898s result = Security_policies(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:106: in execute_module 1898s config_xmls = self.set_config(existing_security_policies_facts) 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:154: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosRouting_instancesModule.test_junos_routing_instances_rendered_02 ___ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_instances_rendered_02(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="test", 1898s type="mac-vrf", 1898s route_distinguisher="10.58.255.1:37", 1898s vrf_imports=["test-policy"], 1898s vrf_exports=["test-policy", "test-policy-1"], 1898s interfaces=[ 1898s dict(name="sp-0/0/0.0"), 1898s dict(name="gr-0/0/0.0"), 1898s ], 1898s connector_id_advertise=True, 1898s ), 1898s ], 1898s state="rendered", 1898s ), 1898s ) 1898s 1898s rendered = ( 1898s '' 1898s "test" 1898s "mac-vrfsp-0/0/0.0" 1898s "gr-0/0/0.0" 1898s "10.58.255.1:37" 1898s "test-policy" 1898s "test-policytest-policy-1" 1898s "" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_instances.py:383: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_instances.py:796: in main 1898s result = Routing_instances(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:97: in execute_module 1898s config_xmls = self.set_config(existing_routing_instances_facts) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1898s self.root = build_root_xml_node("routing-instances") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosRouting_instancesModule.test_junos_routing_instances_replaced ____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_instances_replaced(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="test", 1898s type="vrf", 1898s route_distinguisher="10.58.255.1:37", 1898s vrf_imports=["test-policy"], 1898s vrf_exports=["test-policy", "test-policy-1"], 1898s interfaces=[ 1898s dict(name="sp-0/0/0.0"), 1898s dict(name="gr-0/0/0.0"), 1898s ], 1898s connector_id_advertise=True, 1898s ), 1898s dict( 1898s name="forwardinst", 1898s type="forwarding", 1898s description="Replaced and Configured by Ansible Content Team", 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s 1898s commands = [ 1898s '' 1898s 'forwardinst' 1898s "test" 1898s "vrfsp-0/0/0.0" 1898s "gr-0/0/0.0" 1898s "10.58.255.1:37" 1898s "test-policy" 1898s "test-policytest-policy-1" 1898s "forwardinst" 1898s "Replaced and Configured by Ansible Content Team" 1898s "forwarding" 1898s "", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_instances.py:240: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_instances.py:796: in main 1898s result = Routing_instances(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1898s config_xmls = self.set_config(existing_routing_instances_facts) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1898s self.root = build_root_xml_node("routing-instances") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosSecurity_policiesModule.test_junos_security_policies_rendered ____ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_rendered(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "global": { 1898s "policies": [ 1898s { 1898s "description": "test update", 1898s "match": { 1898s "application": {"any": True}, 1898s "destination_address": {"any_ipv6": True}, 1898s "source_address": {"any": True}, 1898s }, 1898s "name": "test_glob_3", 1898s "then": {"deny": True}, 1898s }, 1898s ], 1898s }, 1898s }, 1898s state="rendered", 1898s ), 1898s ) 1898s rendered = ( 1898s '' 1898s "test_glob_3test update" 1898s "anyany-ipv6" 1898s "any" 1898s "" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies.py:1055: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies.py:2700: in main 1898s result = Security_policies(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:100: in execute_module 1898s config_xmls = self.set_config(existing_security_policies_facts) 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:154: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosRouting_instancesModule.test_junos_routing_instances_replaced_idempotent _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_routing_instances_replaced_idempotent(self): 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict( 1898s name="forwardinst", 1898s type="forwarding", 1898s description="Configured by Ansible Content Team", 1898s ), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_routing_instances.py:256: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_routing_instances.py:796: in main 1898s result = Routing_instances(module).execute_module() 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1898s config_xmls = self.set_config(existing_routing_instances_facts) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1898s self.root = build_root_xml_node("routing-instances") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosSecurity_policiesModule.test_junos_security_policies_replaced_01 ___ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_replaced_01(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "global": { 1898s "policies": [ 1898s { 1898s "description": "test update", 1898s "match": { 1898s "application": {"any": True}, 1898s "destination_address": {"any_ipv6": True}, 1898s "source_address": {"any": True}, 1898s }, 1898s "name": "test_glob_3", 1898s "then": {"deny": True}, 1898s }, 1898s ], 1898s }, 1898s }, 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies.py:1080: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies.py:2700: in main 1898s result = Security_policies(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:106: in execute_module 1898s config_xmls = self.set_config(existing_security_policies_facts) 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies/security_policies.py:154: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_merged_04 _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_global_merged_04(self): 1898s set_module_args( 1898s dict(config={"traceoptions": {"flag": "lookup"}}, state="merged"), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies_global.py:224: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies_global.py:989: in main 1898s result = Security_policies_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1898s config_xmls = self.set_config( 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_merged_01 _ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_global_merged_01(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "default_policy": "permit-all", 1898s "policy_rematch": {"enable": True, "extensive": True}, 1898s "policy_stats": {"enable": True, "system_wide": True}, 1898s "pre_id_default_policy_action": { 1898s "log": {"session_init": True, "session_close": True}, 1898s "session_timeout": {"icmp": 10, "others": 10}, 1898s }, 1898s "traceoptions": { 1898s "file": { 1898s "files": 3, 1898s "match": "/[A-Z]*/gm", 1898s "no_world_readable": True, 1898s "size": "10k", 1898s }, 1898s "flag": "all", 1898s "no_remote_trace": True, 1898s }, 1898s }, 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies_global.py:136: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies_global.py:989: in main 1898s result = Security_policies_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1898s config_xmls = self.set_config( 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_overridden_01 _ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_global_overridden_01(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "default_policy": "permit-all", 1898s "policy_rematch": {"enable": True, "extensive": True}, 1898s "policy_stats": {"enable": True, "system_wide": True}, 1898s "pre_id_default_policy_action": { 1898s "log": {"session_init": True}, 1898s "session_timeout": {"icmp": 10, "others": 10}, 1898s }, 1898s "traceoptions": { 1898s "file": { 1898s "files": 3, 1898s "match": "/[A-Z]*/gm", 1898s "no_world_readable": True, 1898s "size": "10k", 1898s }, 1898s "flag": "ipc", 1898s "no_remote_trace": True, 1898s }, 1898s }, 1898s state="overridden", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies_global.py:509: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies_global.py:989: in main 1898s result = Security_policies_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1898s config_xmls = self.set_config( 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_merged_02 _ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_global_merged_02(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "default_policy": "deny-all", 1898s "policy_rematch": {"enable": True, "extensive": True}, 1898s "policy_stats": {"enable": True, "system_wide": False}, 1898s "pre_id_default_policy_action": { 1898s "log": {"session_init": True}, 1898s "session_timeout": { 1898s "icmp": 10, 1898s "others": 10, 1898s "icmp6": 10, 1898s "ospf": 10, 1898s "tcp": 10, 1898s "udp": 10, 1898s }, 1898s }, 1898s "traceoptions": { 1898s "file": { 1898s "files": 3, 1898s "match": "/[A-Z]*/gm", 1898s "world_readable": True, 1898s "size": "10k", 1898s }, 1898s "flag": "configuration", 1898s "no_remote_trace": True, 1898s }, 1898s }, 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies_global.py:185: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies_global.py:989: in main 1898s result = Security_policies_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1898s config_xmls = self.set_config( 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_merged_03 _ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_global_merged_03(self): 1898s set_module_args( 1898s dict( 1898s config={"traceoptions": {"flag": "compilation"}}, 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies_global.py:209: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies_global.py:989: in main 1898s result = Security_policies_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1898s config_xmls = self.set_config( 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosSecurity_zonesModule.test_junos_security_zones_overridden_01 _____ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_zones_overridden_01(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "functional_zone_management": { 1898s "description": "test description 2", 1898s "host_inbound_traffic": { 1898s "protocols": [{"name": "all"}], 1898s "system_services": [{"name": "all"}], 1898s }, 1898s "interfaces": ["ge-0/0/1.0", "ge-0/0/2.0"], 1898s "screen": "test_screen", 1898s }, 1898s "zones": [ 1898s { 1898s "address_book": { 1898s "address_sets": [ 1898s { 1898s "addresses": [ 1898s "test_adr1", 1898s "test_adr2", 1898s ], 1898s "name": "test_adrset1", 1898s }, 1898s { 1898s "addresses": [ 1898s "test_adr3", 1898s "test_adr4", 1898s ], 1898s "name": "test_adrset2", 1898s }, 1898s { 1898s "address_sets": [ 1898s "test_adrset1", 1898s "test_adrset2", 1898s ], 1898s "addresses": ["test_adr5"], 1898s "description": "test description", 1898s "name": "test_adrset3", 1898s }, 1898s ], 1898s "addresses": [ 1898s { 1898s "description": "test desc", 1898s "ip_prefix": "10.0.0.0/24", 1898s "name": "test_adr1", 1898s }, 1898s { 1898s "dns_name": { 1898s "ipv6_only": True, 1898s "name": "1.1.1.1", 1898s }, 1898s "name": "test_adr2", 1898s }, 1898s { 1898s "name": "test_adr3", 1898s "range_address": { 1898s "from": "10.2.0.1", 1898s "to": "10.2.0.2", 1898s }, 1898s }, 1898s { 1898s "name": "test_adr4", 1898s "wildcard_address": "10.3.0.1/24", 1898s }, 1898s { 1898s "description": "test desc", 1898s "ip_prefix": "10.1.0.0/24", 1898s "name": "test_adr5", 1898s }, 1898s ], 1898s }, 1898s "advance_policy_based_routing_profile": "test_profile", 1898s "application_tracking": True, 1898s "description": "test description", 1898s "enable_reverse_reroute": True, 1898s "host_inbound_traffic": { 1898s "protocols": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "bgp"}, 1898s ], 1898s "system_services": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "dhcp"}, 1898s ], 1898s }, 1898s "interfaces": ["ge-0/0/3.0", "ge-0/0/4.0"], 1898s "name": "test_sec_zone1", 1898s "screen": "test_screen", 1898s "source_identity_log": True, 1898s "tcp_rst": True, 1898s }, 1898s ], 1898s }, 1898s state="overridden", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_zones.py:850: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_zones.py:1997: in main 1898s result = Security_zones(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:106: in execute_module 1898s config_xmls = self.set_config(existing_security_zones_facts) 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:154: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_rendered _ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_global_rendered(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "default_policy": "permit-all", 1898s "policy_rematch": {"enable": True, "extensive": True}, 1898s "policy_stats": {"enable": True, "system_wide": True}, 1898s "pre_id_default_policy_action": { 1898s "log": {"session_init": True}, 1898s "session_timeout": {"icmp": 10, "others": 10}, 1898s }, 1898s "traceoptions": { 1898s "file": { 1898s "files": 3, 1898s "match": "/[A-Z]*/gm", 1898s "no_world_readable": True, 1898s "size": "10k", 1898s }, 1898s "flag": "routing-socket", 1898s "no_remote_trace": True, 1898s }, 1898s }, 1898s state="rendered", 1898s ), 1898s ) 1898s rendered = ( 1898s '' 1898s " " 1898s " enable" 1898s "" 1898s "1010" 1898s "3" 1898s "/[A-Z]*/gm10k" 1898s "routing-socket" 1898s "" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies_global.py:590: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies_global.py:989: in main 1898s result = Security_policies_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:100: in execute_module 1898s config_xmls = self.set_config( 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_replaced_01 _ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_policies_global_replaced_01(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "default_policy": "permit-all", 1898s "policy_rematch": {"enable": True, "extensive": True}, 1898s "policy_stats": {"enable": True, "system_wide": True}, 1898s "pre_id_default_policy_action": { 1898s "log": {"session_init": True}, 1898s "session_timeout": {"icmp": 10, "others": 10}, 1898s }, 1898s "traceoptions": { 1898s "file": { 1898s "files": 3, 1898s "match": "/[A-Z]*/gm", 1898s "no_world_readable": True, 1898s "size": "10k", 1898s }, 1898s "flag": "rules", 1898s "no_remote_trace": True, 1898s }, 1898s }, 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_policies_global.py:623: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_policies_global.py:989: in main 1898s result = Security_policies_global(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1898s config_xmls = self.set_config( 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______ TestJunosSecurity_zonesModule.test_junos_security_zones_rendered _______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_zones_rendered(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "functional_zone_management": { 1898s "description": "test description", 1898s "host_inbound_traffic": { 1898s "protocols": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "bgp"}, 1898s ], 1898s "system_services": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "dhcp"}, 1898s ], 1898s }, 1898s "interfaces": ["ge-0/0/1.0", "ge-0/0/2.0"], 1898s "screen": "test_screen", 1898s }, 1898s "zones": [ 1898s { 1898s "address_book": { 1898s "address_sets": [ 1898s { 1898s "addresses": [ 1898s "test_adr1", 1898s "test_adr2", 1898s ], 1898s "name": "test_adrset1", 1898s }, 1898s { 1898s "addresses": [ 1898s "test_adr3", 1898s "test_adr4", 1898s ], 1898s "name": "test_adrset2", 1898s }, 1898s { 1898s "address_sets": [ 1898s "test_adrset1", 1898s "test_adrset2", 1898s ], 1898s "addresses": ["test_adr5"], 1898s "description": "test description", 1898s "name": "test_adrset3", 1898s }, 1898s ], 1898s "addresses": [ 1898s { 1898s "description": "test desc", 1898s "ip_prefix": "10.0.0.0/24", 1898s "name": "test_adr1", 1898s }, 1898s { 1898s "dns_name": { 1898s "ipv6_only": True, 1898s "name": "1.1.1.1", 1898s }, 1898s "name": "test_adr2", 1898s }, 1898s { 1898s "name": "test_adr3", 1898s "range_address": { 1898s "from": "10.2.0.1", 1898s "to": "10.2.0.2", 1898s }, 1898s }, 1898s { 1898s "name": "test_adr4", 1898s "wildcard_address": "10.3.0.1/24", 1898s }, 1898s { 1898s "description": "test desc", 1898s "ip_prefix": "10.1.0.0/24", 1898s "name": "test_adr5", 1898s }, 1898s ], 1898s }, 1898s "advance_policy_based_routing_profile": "test_profile", 1898s "application_tracking": True, 1898s "description": "test description", 1898s "enable_reverse_reroute": True, 1898s "host_inbound_traffic": { 1898s "protocols": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "bgp"}, 1898s ], 1898s "system_services": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "dhcp"}, 1898s ], 1898s }, 1898s "interfaces": ["ge-0/0/3.0", "ge-0/0/4.0"], 1898s "name": "test_sec_zone1", 1898s "screen": "test_screen", 1898s "source_identity_log": True, 1898s "tcp_rst": True, 1898s }, 1898s ], 1898s }, 1898s state="rendered", 1898s ), 1898s ) 1898s rendered = ( 1898s 't' 1898s "est descriptionallbgpalldhcpge-0/0/1.0ge-0/0/2.0test_screentest_sec_zone1test_adr110.0.0.0/24test desctest_adr21.1.1.1test_adr310.2.0.110.2.0.2test_adr410.3.0.1/24test_adr510.1.0.0/24test desctest_adrset1test_adr1test" 1898s "_adr2test_adrset2test_adr3test_adr4test_adrset3test_adr5test_adrset1test_adrset2test descriptiontest_profiletest descriptionallbgpalldhcpge-0/0/3.0ge-0/0/4.0test_screen" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_zones.py:1114: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_zones.py:1997: in main 1898s result = Security_zones(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:100: in execute_module 1898s config_xmls = self.set_config(existing_security_zones_facts) 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:154: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____ TestJunosSecurity_zonesModule.test_junos_security_zones_replaced_01 ______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_zones_replaced_01(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "functional_zone_management": { 1898s "description": "test description 2", 1898s "host_inbound_traffic": { 1898s "protocols": [{"name": "all"}], 1898s "system_services": [{"name": "all"}], 1898s }, 1898s "interfaces": ["ge-0/0/1.0", "ge-0/0/2.0"], 1898s "screen": "test_screen", 1898s }, 1898s "zones": [ 1898s { 1898s "address_book": { 1898s "address_sets": [ 1898s { 1898s "addresses": [ 1898s "test_adr1", 1898s "test_adr2", 1898s ], 1898s "name": "test_adrset1", 1898s }, 1898s { 1898s "addresses": [ 1898s "test_adr3", 1898s "test_adr4", 1898s ], 1898s "name": "test_adrset2", 1898s }, 1898s { 1898s "address_sets": [ 1898s "test_adrset1", 1898s "test_adrset2", 1898s ], 1898s "addresses": ["test_adr5"], 1898s "description": "test description", 1898s "name": "test_adrset3", 1898s }, 1898s ], 1898s "addresses": [ 1898s { 1898s "description": "test desc", 1898s "ip_prefix": "10.0.0.0/24", 1898s "name": "test_adr1", 1898s }, 1898s { 1898s "dns_name": { 1898s "ipv6_only": True, 1898s "name": "1.1.1.1", 1898s }, 1898s "name": "test_adr2", 1898s }, 1898s { 1898s "name": "test_adr3", 1898s "range_address": { 1898s "from": "10.2.0.1", 1898s "to": "10.2.0.2", 1898s }, 1898s }, 1898s { 1898s "name": "test_adr4", 1898s "wildcard_address": "10.3.0.1/24", 1898s }, 1898s { 1898s "description": "test desc", 1898s "ip_prefix": "10.1.0.0/24", 1898s "name": "test_adr5", 1898s }, 1898s ], 1898s }, 1898s "advance_policy_based_routing_profile": "test_profile", 1898s "application_tracking": True, 1898s "description": "test description", 1898s "enable_reverse_reroute": True, 1898s "host_inbound_traffic": { 1898s "protocols": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "bgp"}, 1898s ], 1898s "system_services": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "dhcp"}, 1898s ], 1898s }, 1898s "interfaces": ["ge-0/0/3.0", "ge-0/0/4.0"], 1898s "name": "test_sec_zone1", 1898s "screen": "test_screen", 1898s "source_identity_log": True, 1898s "tcp_rst": True, 1898s }, 1898s ], 1898s }, 1898s state="replaced", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_zones.py:1217: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_zones.py:1997: in main 1898s result = Security_zones(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:106: in execute_module 1898s config_xmls = self.set_config(existing_security_zones_facts) 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:154: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______ TestJunosSecurity_zonesModule.test_junos_security_zones_merged_01 _______ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_security_zones_merged_01(self): 1898s set_module_args( 1898s dict( 1898s config={ 1898s "functional_zone_management": { 1898s "description": "test description", 1898s "host_inbound_traffic": { 1898s "protocols": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "bgp"}, 1898s ], 1898s "system_services": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "dhcp"}, 1898s ], 1898s }, 1898s "interfaces": ["ge-0/0/1.0", "ge-0/0/2.0"], 1898s "screen": "test_screen", 1898s }, 1898s "zones": [ 1898s { 1898s "address_book": { 1898s "address_sets": [ 1898s { 1898s "addresses": [ 1898s "test_adr1", 1898s "test_adr2", 1898s ], 1898s "name": "test_adrset1", 1898s }, 1898s { 1898s "addresses": [ 1898s "test_adr3", 1898s "test_adr4", 1898s ], 1898s "name": "test_adrset2", 1898s }, 1898s { 1898s "address_sets": [ 1898s "test_adrset1", 1898s "test_adrset2", 1898s ], 1898s "addresses": ["test_adr5"], 1898s "description": "test description", 1898s "name": "test_adrset3", 1898s }, 1898s ], 1898s "addresses": [ 1898s { 1898s "description": "test desc", 1898s "ip_prefix": "10.0.0.0/24", 1898s "name": "test_adr1", 1898s }, 1898s { 1898s "dns_name": { 1898s "ipv6_only": True, 1898s "name": "1.1.1.1", 1898s }, 1898s "name": "test_adr2", 1898s }, 1898s { 1898s "name": "test_adr3", 1898s "range_address": { 1898s "from": "10.2.0.1", 1898s "to": "10.2.0.2", 1898s }, 1898s }, 1898s { 1898s "name": "test_adr4", 1898s "wildcard_address": "10.3.0.1/24", 1898s }, 1898s { 1898s "description": "test desc", 1898s "ip_prefix": "10.1.0.0/24", 1898s "name": "test_adr5", 1898s }, 1898s ], 1898s }, 1898s "advance_policy_based_routing_profile": "test_profile", 1898s "advanced_connection_tracking": { 1898s "mode": "allow-any-host", 1898s "timeout": "20", 1898s "track_all_policies_to_this_zone": True, 1898s }, 1898s "application_tracking": True, 1898s "description": "test description", 1898s "enable_reverse_reroute": True, 1898s "host_inbound_traffic": { 1898s "protocols": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "bgp"}, 1898s ], 1898s "system_services": [ 1898s {"name": "all"}, 1898s {"except": True, "name": "dhcp"}, 1898s ], 1898s }, 1898s "interfaces": ["ge-0/0/3.0", "ge-0/0/4.0"], 1898s "name": "test_sec_zone1", 1898s "screen": "test_screen", 1898s "source_identity_log": True, 1898s "tcp_rst": True, 1898s "unidirectional_session_refreshing": True, 1898s }, 1898s ], 1898s }, 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_security_zones.py:218: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_security_zones.py:1997: in main 1898s result = Security_zones(module).execute_module() 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:106: in execute_module 1898s config_xmls = self.set_config(existing_security_zones_facts) 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/security_zones/security_zones.py:154: in set_state 1898s self.root = build_root_xml_node("security") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __________ TestJunosSnmp_serverModule.test_junos_ntp_global_rendered ___________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_ntp_global_rendered(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s client_lists=[ 1898s dict( 1898s name="cl2", 1898s addresses=[dict(address="192.16.4.0/24")], 1898s ), 1898s ], 1898s ), 1898s state="rendered", 1898s ), 1898s ) 1898s rendered = ( 1898s 'cl2' 1898s "192.16.4.0/24" 1898s "" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:1082: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:98: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_communities_05 ____ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_communities_05(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s communities=[ 1898s dict( 1898s name="comm1", 1898s clients=[ 1898s dict(address="24.0.0.0/32", restrict=True), 1898s ], 1898s routing_instances=[ 1898s dict( 1898s name="clv1", 1898s clients=[ 1898s dict( 1898s address="13.13.13.13/24", 1898s restrict=True, 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:415: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _________ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_06 __________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_06(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s communities=[ 1898s dict( 1898s name="comm1", 1898s clients=[ 1898s dict(address="24.0.0.0/32", restrict=True), 1898s dict(address="30.0.0.0/32", restrict=True), 1898s ], 1898s routing_instances=[ 1898s dict( 1898s name="clv1", 1898s clients=[ 1898s dict( 1898s address="13.13.13.13/24", 1898s restrict=True, 1898s ), 1898s dict(address="24.0.0.0/32"), 1898s dict(address="30.0.0.0/32"), 1898s ], 1898s ), 1898s dict( 1898s name="clv2", 1898s clients=[dict(address="15.15.15.15/24")], 1898s ), 1898s ], 1898s ), 1898s dict(name="comm2"), 1898s ], 1898s contact="rohitthakur2590", 1898s customization=dict(ether_stats_ifd_only=True), 1898s description="Local SNMP Server", 1898s engine_id=dict( 1898s local="local1", 1898s use_default_ip_address=True, 1898s use_mac_address=True, 1898s ), 1898s filter_duplicates=True, 1898s filter_interfaces=dict( 1898s all_internal_interfaces=True, 1898s interfaces=["eth1", "eth2"], 1898s ), 1898s health_monitor=dict( 1898s falling_threshold=50, 1898s idp=True, 1898s interval=100, 1898s rising_threshold=60, 1898s ), 1898s if_count_with_filter_interfaces=True, 1898s interfaces=["eth1", "eth2", "eth3"], 1898s location="inter_lab", 1898s logical_system_trap_filter=True, 1898s name="SNMP_LAB_SERVER", 1898s nonvolatile=dict(commit_delay=30), 1898s rmon=dict( 1898s alarms=[ 1898s dict( 1898s id=4, 1898s variable="1.x.y.z", 1898s sample_type="absolute-value", 1898s rising_threshold=1020, 1898s ), 1898s dict( 1898s id=5, 1898s variable="1.x.y.z", 1898s sample_type="absolute-value", 1898s rising_threshold=1020, 1898s ), 1898s ], 1898s events=[ 1898s dict(id=100, type="log"), 1898s dict(id=200, type="log"), 1898s ], 1898s ), 1898s routing_instance_access=dict( 1898s access_lists=["clv1", "clv2"], 1898s ), 1898s subagent=dict(tcp=dict(routing_instances_default=True)), 1898s snmp_v3=dict( 1898s notify=[dict(name="not1", type="inform", tag="tag2")], 1898s notify_filter=[ 1898s dict( 1898s name="not_fil_01", 1898s oids=[dict(include=True, oid="1.a.s.b.d")], 1898s ), 1898s dict( 1898s name="not_fil_02", 1898s oids=[ 1898s dict(include=True, oid="1.x.b.b.d"), 1898s dict(include=True, oid="1.a.c.b.d"), 1898s ], 1898s ), 1898s ], 1898s snmp_community=[ 1898s dict( 1898s community_index="v3_comm1", 1898s community_name="mycommu", 1898s security_name="sec101", 1898s context="cont1", 1898s tag="109", 1898s ), 1898s dict( 1898s community_index="v3_comm2", 1898s community_name="mycomm", 1898s security_name="sec102", 1898s context="cont1", 1898s tag="109", 1898s ), 1898s ], 1898s target_addresses=[ 1898s dict( 1898s name="tar201", 1898s address="162.12.10.2", 1898s port=23122, 1898s timeout=300, 1898s retry_count=200, 1898s tag_list="tag101", 1898s address_mask="24", 1898s routing_instance="clv2", 1898s target_parameters="tarparam2", 1898s ), 1898s dict( 1898s name="tar202", 1898s address="162.12.10.2", 1898s port=23122, 1898s timeout=300, 1898s retry_count=200, 1898s tag_list="tag101", 1898s address_mask="24", 1898s routing_instance="clv2", 1898s target_parameters="tarparam2", 1898s ), 1898s ], 1898s target_parameters=[ 1898s dict( 1898s name="param111", 1898s notify_filter="not121", 1898s parameters=dict( 1898s message_processing_model="v1", 1898s security_model="v1", 1898s security_level="none", 1898s security_name="secure111", 1898s ), 1898s ), 1898s ], 1898s ), 1898s traceoptions=dict( 1898s file=dict( 1898s files=20, 1898s match="snmp_cfg", 1898s no_world_readable=True, 1898s size=20000, 1898s ), 1898s flag=dict( 1898s all=True, 1898s general=True, 1898s interface_stats=True, 1898s nonvolatile_sets=True, 1898s pdu=True, 1898s protocol_timeouts=True, 1898s routing_socket=True, 1898s subagent=True, 1898s timer=True, 1898s varbind_error=True, 1898s ), 1898s memory_trace=dict(size=1350), 1898s ), 1898s trap_groups=[ 1898s dict( 1898s name="trgrp_01", 1898s destination_port=2346, 1898s categories=dict( 1898s authentication=True, 1898s chassis=True, 1898s otn_alarms=dict( 1898s oc_lof=True, 1898s otu_uas_threshold=True, 1898s ), 1898s ), 1898s targets=["11.11.11.11", "12.12.12.12"], 1898s routing_instance="clv1", 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:616: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_routing_access_04 __ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_routing_access_04(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s routing_instance_access=dict( 1898s set=True, 1898s access_lists=["clv1"], 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:379: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_arp_01 ________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_arp_01(self): 1898s set_module_args( 1898s dict( 1898s config=dict(arp=dict(set=True, host_name_resolution=True)), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:97: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_groups _____ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_trap_groups(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s trap_groups=[ 1898s dict( 1898s categories=dict( 1898s authentication=True, 1898s ), 1898s name="egress", 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:179: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ______ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_client_02 ______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_client_02(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s client_lists=[ 1898s dict( 1898s name="cl2", 1898s addresses=[dict(address="192.16.4.0/24")], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:314: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_groups_02 ____ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_trap_groups_02(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s trap_groups=[ 1898s dict( 1898s categories=dict( 1898s chassis=True, 1898s chassis_cluster=True, 1898s configuration=True, 1898s dot3oam_events=True, 1898s link=True, 1898s ), 1898s name="monitor", 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:213: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _____ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_clients_03 ______ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_clients_03(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s client_lists=[ 1898s dict( 1898s name="cl3", 1898s addresses=[ 1898s dict(address="172.16.1.0/24"), 1898s dict(address="10.11.11.11", restrict=True), 1898s ], 1898s ), 1898s dict( 1898s name="cl4", 1898s addresses=[dict(address="172.16.4.0/24")], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:353: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_groups_otn_alrams _ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_trap_groups_otn_alrams(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s trap_groups=[ 1898s dict( 1898s categories=dict( 1898s otn_alarms=dict( 1898s oc_lof=True, 1898s oc_lom=True, 1898s oc_los=True, 1898s ), 1898s ), 1898s name="monitor", 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:243: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_views ________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_views(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s views=[ 1898s dict( 1898s name="all", 1898s oids=[dict(oid=".1")], 1898s ), 1898s ], 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:121: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ____ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_options _____ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_trap_options(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s trap_options=dict( 1898s agent_address=dict( 1898s outgoing_interface=True, 1898s ), 1898s context_oid=True, 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:149: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_options_02 ___ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_trap_options_02(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s trap_options=dict( 1898s enterprise_oid=True, 1898s source_address=dict( 1898s address="192.168.2.0", 1898s ), 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:286: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________________ TestJunosVlansModule.test_junos_vlans_deleted _________________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_vlans_deleted(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args(dict(config=[dict(name="vlan1")], state="deleted")) 1898s 1898s commands = [ 1898s '' 1898s 'vlan1', 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_vlans.py:193: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_vlans.py:462: in main 1898s result = Vlans(module).execute_module() 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1898s config_xmls = self.set_config(existing_vlans_facts) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1898s root = build_root_xml_node("vlans") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______________ TestJunosVlansModule.test_junos_vlans_deleted_01 _______________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_vlans_deleted_01(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args(dict(config=[], state="deleted")) 1898s 1898s commands = [ 1898s '' 1898s 'vlan1', 1898s ] 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_vlans.py:206: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_vlans.py:462: in main 1898s result = Vlans(module).execute_module() 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1898s config_xmls = self.set_config(existing_vlans_facts) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1898s root = build_root_xml_node("vlans") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_options_set ___ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_snmp_server_merged_trap_options_set(self): 1898s set_module_args( 1898s dict( 1898s config=dict( 1898s trap_options=dict( 1898s set=True, 1898s ), 1898s ), 1898s state="merged", 1898s ), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_snmp_server.py:268: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_snmp_server.py:1579: in main 1898s result = Snmp_server(module).execute_module() 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1898s config_xmls = self.set_config(existing_snmp_server_facts) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1898s self.root = build_root_xml_node("configuration") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _________________ TestJunosVlansModule.test_junos_vlans_merged _________________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_vlans_merged(self): 1898s set_module_args( 1898s dict( 1898s config=[dict(name="vlan2", vlan_id=2, l3_interface="irb.12")], 1898s state="merged", 1898s ), 1898s ) 1898s commands = [ 1898s '' 1898s "vlan22" 1898s "irb.12", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_vlans.py:105: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_vlans.py:462: in main 1898s result = Vlans(module).execute_module() 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1898s config_xmls = self.set_config(existing_vlans_facts) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1898s root = build_root_xml_node("vlans") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ___________ TestJunosVlansModule.test_junos_vlans_merged_idempotent ____________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_vlans_merged_idempotent(self): 1898s set_module_args( 1898s dict(config=[dict(name="vlan1", vlan_id=1)], state="merged"), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_vlans.py:112: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_vlans.py:462: in main 1898s result = Vlans(module).execute_module() 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1898s config_xmls = self.set_config(existing_vlans_facts) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1898s root = build_root_xml_node("vlans") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _______________ TestJunosVlansModule.test_junos_vlans_overridden _______________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_vlans_overridden(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=[dict(name="vlan3", vlan_id=3, l3_interface="irb.13")], 1898s state="overridden", 1898s ), 1898s ) 1898s 1898s commands = [ 1898s '' 1898s 'vlan1' 1898s "vlan33" 1898s "irb.13", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_vlans.py:164: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_vlans.py:462: in main 1898s result = Vlans(module).execute_module() 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1898s config_xmls = self.set_config(existing_vlans_facts) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1898s root = build_root_xml_node("vlans") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s _________ TestJunosVlansModule.test_junos_vlans_overridden_idempotent __________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_vlans_overridden_idempotent(self): 1898s set_module_args( 1898s dict(config=[dict(name="vlan1", vlan_id=1)], state="overridden"), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_vlans.py:171: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_vlans.py:462: in main 1898s result = Vlans(module).execute_module() 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1898s config_xmls = self.set_config(existing_vlans_facts) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1898s root = build_root_xml_node("vlans") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________________ TestJunosVlansModule.test_junos_vlans_rendered ________________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_vlans_rendered(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict(name="vlan1", vlan_id=1), 1898s dict(name="vlan2", vlan_id=2, l3_interface="irb.12"), 1898s ], 1898s state="rendered", 1898s ), 1898s ) 1898s rendered = ( 1898s '' 1898s "vlan11" 1898s "vlan22" 1898s "irb.12" 1898s ) 1898s > result = self.execute_module(changed=False) 1898s 1898s tests/unit/modules/network/junos/test_junos_vlans.py:228: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_vlans.py:462: in main 1898s result = Vlans(module).execute_module() 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:102: in execute_module 1898s config_xmls = self.set_config(existing_vlans_facts) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1898s root = build_root_xml_node("vlans") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s __________ TestJunosVlansModule.test_junos_vlans_replaced_idempotent ___________ 1898s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_vlans_replaced_idempotent(self): 1898s set_module_args( 1898s dict(config=[dict(name="vlan1", vlan_id=1)], state="replaced"), 1898s ) 1898s > result = self.execute_module(changed=True) 1898s 1898s tests/unit/modules/network/junos/test_junos_vlans.py:144: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_vlans.py:462: in main 1898s result = Vlans(module).execute_module() 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1898s config_xmls = self.set_config(existing_vlans_facts) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1898s root = build_root_xml_node("vlans") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s ________________ TestJunosVlansModule.test_junos_vlans_replaced ________________ 1898s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1898s 1898s self = 1898s 1898s def test_junos_vlans_replaced(self): 1898s """ 1898s :return: 1898s """ 1898s set_module_args( 1898s dict( 1898s config=[ 1898s dict(name="vlan1", vlan_id=1, l3_interface="irb.10"), 1898s dict(name="vlan2", vlan_id=2), 1898s ], 1898s state="replaced", 1898s ), 1898s ) 1898s 1898s commands = [ 1898s '' 1898s 'vlan1' 1898s 'vlan2' 1898s "vlan11" 1898s "irb.10" 1898s "vlan22", 1898s ] 1898s > result = self.execute_module(changed=True, commands=commands) 1898s 1898s tests/unit/modules/network/junos/test_junos_vlans.py:137: 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1898s result = self.changed(changed) 1898s tests/unit/modules/network/junos/junos_module.py:97: in changed 1898s self.module.main() 1898s plugins/modules/junos_vlans.py:462: in main 1898s result = Vlans(module).execute_module() 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1898s config_xmls = self.set_config(existing_vlans_facts) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1898s resp = self.set_state(want, have) 1898s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1898s root = build_root_xml_node("vlans") 1898s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1898s 1898s def build_root_xml_node(tag): 1898s > return new_ele(tag) 1898s E NameError: name 'new_ele' is not defined 1898s 1898s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1898s =============================== warnings summary =============================== 1898s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_confirm 1898s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_lines 1898s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_src_json 1898s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_src_set 1898s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_src_text 1898s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_src_xml 1898s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/junipernetworks/junos/plugins/modules/junos_config.py:497: FutureWarning: Truth-testing of elements was a source of confusion and will always return True in future versions. Use specific 'len(elem)' or 'elem is not None' test instead. 1898s if diff: 1898s 1898s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1898s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/junipernetworks/junos/tests/output/junit/python3.13-controller-units.xml - 1898s =========================== short test summary info ============================ 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_001 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_002 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_002_001 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_delete 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_003 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_delete_purged 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_004 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merge_groups 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_005 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_005_001 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_advertise_bgp_static 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_advertise_external 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_006 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_bfd_liveness_detection 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_007 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_bgp_error_tolerance 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_007_001 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_bmp 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_008 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_bmp_2 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_009 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_egress_te 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_010 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_egress_te_backup_paths 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_011 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_groups_allow 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_012 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_optimal_route_reflection 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_013 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_routing_options 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_013_001 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_014 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_015 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_016 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_rendered_empty 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_replaced 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_017 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_replaced_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_018 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_019 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_020 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_021 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_022 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_023 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_023_001 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_024 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_025 1898s FAILED tests/unit/modules/network/junos/test_junos_hostname.py::TestJunosHostnameModule::test_junos_hostname_merged_01 1898s FAILED tests/unit/modules/network/junos/test_junos_hostname.py::TestJunosHostnameModule::test_junos_hostname_overridden_01 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_026 1898s FAILED tests/unit/modules/network/junos/test_junos_hostname.py::TestJunosHostnameModule::test_junos_hostname_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_027 1898s FAILED tests/unit/modules/network/junos/test_junos_hostname.py::TestJunosHostnameModule::test_junos_hostname_replaced 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_028 1898s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_delete 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_029 1898s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_delete_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_merged 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_030 1898s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_merged_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_033 1898s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_overridden 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_deleted_031 1898s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_overridden_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_deleted_032 1898s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_replaced 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_replaced_user_09 1898s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_replaced_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_delete 1898s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_delete_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_ntp_global.py::TestJunosNtp_globalModule::test_junos_ntp_global_merged_01 1898s FAILED tests/unit/modules/network/junos/test_junos_ntp_global.py::TestJunosNtp_globalModule::test_junos_ntp_global_merged_02 1898s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_merged 1898s FAILED tests/unit/modules/network/junos/test_junos_ntp_global.py::TestJunosNtp_globalModule::test_junos_ntp_global_overridden_01 1898s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_merged_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_overridden 1898s FAILED tests/unit/modules/network/junos/test_junos_ntp_global.py::TestJunosNtp_globalModule::test_junos_ntp_global_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_overridden_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_ntp_global.py::TestJunosNtp_globalModule::test_junos_ntp_global_replaced_01 1898s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_delete 1898s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_replaced 1898s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_delete_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_replaced_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_merged 1898s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_merged 1898s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_merged_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_merged_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_overridden 1898s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_overridden 1898s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_overridden_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_overridden_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_replaced 1898s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_replaced 1898s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_replaced_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_replaced_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_deleted 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_deleted_user_11 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_merged 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_07 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_merged_areas 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_archive_01 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_overridden 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_console_02 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_files_03 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_replaced 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_files_04 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_delete 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_hosts_05 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_delete_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_hosts_idempotent_06 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_merged 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_user_08 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_merged_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_overridden_user_10 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_overridden 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_overridden_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_rendered_12 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_replaced 1898s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_merged_01 1898s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_replaced_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_merged_idempotent_01 1898s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_overridden_01 1898s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_overridden_idempotent_01 1898s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_rendered_01 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_options.py::TestJunosRouting_optionsModule::test_junos_routing_options_merged_01 1898s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_replaced_01 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_options.py::TestJunosRouting_optionsModule::test_junos_routing_options_merged_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_replaced_idempotent_01 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_options.py::TestJunosRouting_optionsModule::test_junos_routing_options_overridden 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_deleted 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_options.py::TestJunosRouting_optionsModule::test_junos_routing_options_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_delted_single_entry 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_options.py::TestJunosRouting_optionsModule::test_junos_routing_options_replaced_01 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_domains_merged 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_merged 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_merged_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_overridden 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies.py::TestJunosSecurity_policiesModule::test_junos_security_policies_merged_01 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_overridden_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies.py::TestJunosSecurity_policiesModule::test_junos_security_policies_merged_02 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies.py::TestJunosSecurity_policiesModule::test_junos_security_policies_overridden_01 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_rendered_02 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_replaced 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies.py::TestJunosSecurity_policiesModule::test_junos_security_policies_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_replaced_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies.py::TestJunosSecurity_policiesModule::test_junos_security_policies_replaced_01 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_merged_04 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_merged_01 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_overridden_01 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_merged_02 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_merged_03 1898s FAILED tests/unit/modules/network/junos/test_junos_security_zones.py::TestJunosSecurity_zonesModule::test_junos_security_zones_overridden_01 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_replaced_01 1898s FAILED tests/unit/modules/network/junos/test_junos_security_zones.py::TestJunosSecurity_zonesModule::test_junos_security_zones_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_security_zones.py::TestJunosSecurity_zonesModule::test_junos_security_zones_replaced_01 1898s FAILED tests/unit/modules/network/junos/test_junos_security_zones.py::TestJunosSecurity_zonesModule::test_junos_security_zones_merged_01 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_ntp_global_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_communities_05 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_06 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_routing_access_04 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_arp_01 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_groups 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_client_02 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_groups_02 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_clients_03 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_groups_otn_alrams 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_views 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_options 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_options_02 1898s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_deleted 1898s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_deleted_01 1898s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_options_set 1898s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_merged 1898s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_merged_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_overridden 1898s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_overridden_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_rendered 1898s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_replaced_idempotent 1898s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_replaced 1898s ================= 190 failed, 115 passed, 6 warnings in 11.88s ================= 1898s ## return code is 1 1898s 1898s 1898s 1898s ############################################################ 1898s ############################################################ 1898s #### Running FLAKY tests in ansible_collections/netapp_eseries/santricity 1898s ############################################################ 1898s ############################################################ 1898s Unit test controller with Python 3.13 1900s ============================= test session starts ============================== 1900s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1900s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity 1900s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1900s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1900s created: 2/2 workers 1900s 2 workers [0 items] 1900s 1900s 1900s ==================================== ERRORS ==================================== 1900s _______ ERROR collecting tests/unit/modules/test_na_santricity_alerts.py _______ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_alerts.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_alerts.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ___ ERROR collecting tests/unit/modules/test_na_santricity_alerts_syslog.py ____ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_alerts_syslog.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_alerts_syslog.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ________ ERROR collecting tests/unit/modules/test_na_santricity_asup.py ________ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_asup.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_asup.py:8: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ______ ERROR collecting tests/unit/modules/test_na_santricity_auditlog.py ______ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_auditlog.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_auditlog.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ________ ERROR collecting tests/unit/modules/test_na_santricity_auth.py ________ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_auth.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_auth.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s _ ERROR collecting tests/unit/modules/test_na_santricity_client_certificate.py _ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_client_certificate.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_client_certificate.py:10: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ______ ERROR collecting tests/unit/modules/test_na_santricity_discover.py ______ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_discover.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_discover.py:9: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ___ ERROR collecting tests/unit/modules/test_na_santricity_drive_firmware.py ___ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_drive_firmware.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_drive_firmware.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s _______ ERROR collecting tests/unit/modules/test_na_santricity_facts.py ________ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_facts.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_facts.py:9: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ______ ERROR collecting tests/unit/modules/test_na_santricity_firmware.py ______ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_firmware.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_firmware.py:10: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s _______ ERROR collecting tests/unit/modules/test_na_santricity_global.py _______ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_global.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_global.py:9: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ________ ERROR collecting tests/unit/modules/test_na_santricity_host.py ________ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_host.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_host.py:9: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s _____ ERROR collecting tests/unit/modules/test_na_santricity_hostgroup.py ______ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_hostgroup.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_hostgroup.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s _ ERROR collecting tests/unit/modules/test_na_santricity_ib_iser_interface.py __ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_ib_iser_interface.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_ib_iser_interface.py:9: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s __ ERROR collecting tests/unit/modules/test_na_santricity_iscsi_interface.py ___ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_iscsi_interface.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_iscsi_interface.py:9: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ____ ERROR collecting tests/unit/modules/test_na_santricity_iscsi_target.py ____ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_iscsi_target.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_iscsi_target.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ________ ERROR collecting tests/unit/modules/test_na_santricity_ldap.py ________ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_ldap.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_ldap.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ____ ERROR collecting tests/unit/modules/test_na_santricity_lun_mapping.py _____ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_lun_mapping.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_lun_mapping.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ___ ERROR collecting tests/unit/modules/test_na_santricity_mgmt_interface.py ___ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_mgmt_interface.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_mgmt_interface.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ___ ERROR collecting tests/unit/modules/test_na_santricity_nvme_interface.py ___ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_nvme_interface.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_nvme_interface.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s _ ERROR collecting tests/unit/modules/test_na_santricity_proxy_drive_firmware_upload.py _ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_proxy_drive_firmware_upload.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_proxy_drive_firmware_upload.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s _ ERROR collecting tests/unit/modules/test_na_santricity_proxy_firmware_upload.py _ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_proxy_firmware_upload.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_proxy_firmware_upload.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ___ ERROR collecting tests/unit/modules/test_na_santricity_proxy_systems.py ____ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_proxy_systems.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_proxy_systems.py:9: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s ____ ERROR collecting tests/unit/modules/test_na_santricity_storagepool.py _____ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_storagepool.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_storagepool.py:9: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s _______ ERROR collecting tests/unit/modules/test_na_santricity_syslog.py _______ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_syslog.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_syslog.py:7: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s _______ ERROR collecting tests/unit/modules/test_na_santricity_volume.py _______ 1900s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_volume.py'. 1900s Hint: make sure your test modules/packages have valid Python names. 1900s Traceback: 1900s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1900s return _bootstrap._gcd_import(name[level:], package, level) 1900s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1900s assertion_rewriting_hook.exec_module(module) 1900s tests/unit/modules/test_na_santricity_volume.py:9: in 1900s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1900s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1900s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/output/junit/python3.13-controller-units.xml - 1900s =========================== short test summary info ============================ 1900s ERROR tests/unit/modules/test_na_santricity_alerts.py 1900s ERROR tests/unit/modules/test_na_santricity_alerts_syslog.py 1900s ERROR tests/unit/modules/test_na_santricity_asup.py 1900s ERROR tests/unit/modules/test_na_santricity_auditlog.py 1900s ERROR tests/unit/modules/test_na_santricity_auth.py 1900s ERROR tests/unit/modules/test_na_santricity_client_certificate.py 1900s ERROR tests/unit/modules/test_na_santricity_discover.py 1900s ERROR tests/unit/modules/test_na_santricity_drive_firmware.py 1900s ERROR tests/unit/modules/test_na_santricity_facts.py 1900s ERROR tests/unit/modules/test_na_santricity_firmware.py 1900s ERROR tests/unit/modules/test_na_santricity_global.py 1900s ERROR tests/unit/modules/test_na_santricity_host.py 1900s ERROR tests/unit/modules/test_na_santricity_hostgroup.py 1900s ERROR tests/unit/modules/test_na_santricity_ib_iser_interface.py 1900s ERROR tests/unit/modules/test_na_santricity_iscsi_interface.py 1900s ERROR tests/unit/modules/test_na_santricity_iscsi_target.py 1900s ERROR tests/unit/modules/test_na_santricity_ldap.py 1900s ERROR tests/unit/modules/test_na_santricity_lun_mapping.py 1900s ERROR tests/unit/modules/test_na_santricity_mgmt_interface.py 1900s ERROR tests/unit/modules/test_na_santricity_nvme_interface.py 1900s ERROR tests/unit/modules/test_na_santricity_proxy_drive_firmware_upload.py 1900s ERROR tests/unit/modules/test_na_santricity_proxy_firmware_upload.py 1900s ERROR tests/unit/modules/test_na_santricity_proxy_systems.py 1900s ERROR tests/unit/modules/test_na_santricity_storagepool.py 1900s ERROR tests/unit/modules/test_na_santricity_syslog.py 1900s ERROR tests/unit/modules/test_na_santricity_volume.py 1900s ============================== 26 errors in 1.46s ============================== 1900s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity tests/unit/modules/test_na_santricity_alerts.py tests/unit/modules/test_na_santricity_alerts_syslog.py tests/unit/modules/test_na_santricity_asup.py tests/unit/modules/test_na_santricity_auditlog.py tests/unit/modules/test_na_santricity_auth.py tests/unit/modules/test_na_santricity_client_certificate.py tests/unit/modules/test_na_santricity_discover.py tests/unit/modules/test_na_santricity_drive_firmware.py tests/unit/modules/test_na_santricity_facts.py tests/unit/modules/test_na_santricity_firmware.py tests/unit/modules/test_na_santricity_global.py tests/unit/modules/test_na_santricity_host.py tests/unit/modules/test_na_santricity_hostgroup.py tests/unit/modules/test_na_santricity_ib_iser_interface.py tests/unit/modules/test_na_santricity_iscsi_interface.py tests/unit/modules/test_na_santricity_iscsi_target.py tests/unit/modules/test_na_santricity_ldap.py tests/unit/modules/test_na_santricity_lun_mapping.py tests/unit/modules/test_na_santricity_mgmt_interface.py tests/unit/modules/test_na_santricity_nvme_interface.py tests/unit/modules/test_na_santricity_proxy_drive_firmware_upload.py tests/unit/modules/test_na_santricity_proxy_firmware_upload.py tests/unit/modules/test_na_santricity_proxy_systems.py tests/unit/modules/test_na_santricity_storagepool.py tests/unit/modules/test_na_santricity_syslog.py tests/unit/modules/test_na_santricity_volume.py" returned exit status 1. 1900s ## return code is 1 1900s 1900s 1900s 1900s ############################################################ 1900s ############################################################ 1900s #### Running FLAKY tests in ansible_collections/netapp/ontap 1900s ############################################################ 1900s ############################################################ 1901s Unit test modules with Python 3.13 1908s ============================= test session starts ============================== 1908s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1908s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/ontap 1908s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1908s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1908s created: 2/2 workers 1908s 2 workers [3004 items] 1908s 1909s s.ss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 2%] 1910s sssssssssssssssssssssssssssssssssssssssssssssss.s.ss.ss.s.ss.s.ss.ss.ss. [ 4%] 1911s s.ss.ss.s.ss.................ss.ss.s.ss.ss.s.ss.ss.ss.s.ss.ss.ss.s.ss.ss [ 7%] 1912s .s.ss.ss.ssssssssssssssssssssss.s.sssssFss.ss.ss.s.ss.s................. [ 9%] 1913s ..................s.s.ss.s.s.ss.s.ss.ss.s.ss.ss.ss.s.ss.s.ss.ss.s.ss.ss. [ 11%] 1913s s.........s.s.ss.s.ss.ss.s.ss.s.ss.sssssssssssssssssssssssssssss.s.ss.ss [ 14%] 1914s .s.ss.s.ss.s.ss.ss.s.s.ss.ss.s.ss.ss.s.ss.s.ss.s.ss.s.ss.s.ss.s.ss.s.ss. [ 16%] 1915s s.s.ss.ssssssss.ss.ss.ss.ss.s.ss.ss.ss.ss......................s.ss.s.ss [ 19%] 1916s .ssssssssssss.ss.s.ss.s.ss.s.ss.s.ss.ss.s.ss.s.sssssssssssssssssssssssss [ 21%] 1917s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 23%] 1917s s.ss.ss.s.ss.ss.s.ss.ss.s.ss.s.ss.s.ss.sssssssssssssssssssssssssssssssss [ 26%] 1918s sssssssssssssss.ss.ss.s.ssssssssssssssssssssssssssssssssssssssssssssssss [ 28%] 1919s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 31%] 1919s sssssssssssssssssssssssssssssssssss.ss.ss.ss.s.ss.ss.s.ss.ss.sssssssssss [ 33%] 1920s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 35%] 1921s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 38%] 1922s sssssssssssssssssssssssssssssss.ss.s.ss.ss.s.ss.ss.s.ss.ss.s.ss.ss.s.ss. [ 40%] 1922s ss.s.ss.ss.s.ss.ss.s.ss...............ss.s.ss.s.ssssssssssssssssssss.ss. [ 43%] 1923s s.ss.ss.s.ss.s.ss.s.ss.s.ss.s.ssssssssssssssssssssssssssssssssssssssssss [ 45%] 1924s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 47%] 1925s ssssssssssssssssssssssssssssssssssssssssssssssssssss.s.ss.s.ss.s.ss.s.s. [ 50%] 1926s ................s.ss.sssssssssssssssssss.ss.ss.ss.s.ss.s.ss.ss.ss.s.ss.s [ 52%] 1926s .ss.ss.ss.ssssssssssssssssssssssssssssssssssssssssssssssssss.s.ss.ss.s.s [ 55%] 1927s s.s.ss.s.ss.ss.s.ssssssssssssssssssssssssssss.ss.s.ss.ss.s.ss.ss.s.ss.ss [ 57%] 1928s .s.ss.s.ss.ssss.s.ss.ss.s.ss.ss.ss.s.ss.s.ss.ss......................... [ 59%] 1929s ........................................................................ [ 62%] 1930s .s.ss.sss.ss.ss.ss.ss......ss.s.ss.ss.s.ss.s.........................s.s [ 64%] 1931s s.s.ss.ss.ss.s.ss.s.ss.s.ss.ss.s.ss.s.ss.s.s.ss.s.s.s...............s.s. [ 67%] 1932s ss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 69%] 1933s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 71%] 1934s ssssssssssssssssssssssssssssssssssss...s......s.....s.ssssssssssssssssss [ 74%] 1935s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 76%] 1936s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 79%] 1937s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 81%] 1937s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 83%] 1938s ss.ss.ss.s.ss.s.ssssssssss.ss.s.ss.s.s.ss.ss.s.ss.s.ss.s.ss.s.ss.s.ss.s. [ 86%] 1939s ss.s.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 88%] 1940s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 91%] 1940s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 93%] 1941s sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss. [ 95%] 1942s ss.s.ss.ss.s.s.s.ss.s.ss.ssssssssssssssssssssssssssssssssssss.s.ss.s.ss. [ 98%] 1943s s.ss.s.ss.ss.s.ss.sssss.ss.s..ss.s.ss.ssssssss...... [100%] 1943s =================================== FAILURES =================================== 1943s ______________________ TestMyModule.test_zapi_send_error _______________________ 1943s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1943s 1943s self = 1943s 1943s def test_zapi_send_error(self): 1943s '''Test rest send error''' 1943s data = self.mock_args() 1943s data['use_rest'] = 'Never' 1943s set_module_args(data) 1943s with pytest.raises(AnsibleFailJson) as exc: 1943s self.get_invoke_mock_object(use_rest=False).apply() 1943s msg = "Error on sending autosupport message to node %s: NetApp API failed. Reason - test:Expected error." % data['name'] 1943s > assert exc.value.args[0]['msg'] == msg 1943s E assert "Error: the p... 'netapp_lib'" == 'Error on sen...pected error.' 1943s E 1943s E - Error on sending autosupport message to node test_node: NetApp API failed. Reason - test:Expected error. 1943s E + Error: the python NetApp-Lib module is required. Import error: No module named 'netapp_lib' 1943s 1943s tests/unit/plugins/modules/test_na_ontap_autosupport_invoke.py:103: AssertionError 1943s ----------------------------- Captured stdout call ----------------------------- 1943s WARNING: Error: "message" option conflicts with Ansible internal variable - please use "autosupport_message". 1943s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/ontap/tests/output/junit/python3.13-modules-units.xml - 1943s =========================== short test summary info ============================ 1943s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_active_directory.py: skipping as missing required netapp_lib 1943s SKIPPED [27] tests/unit/plugins/modules/test_na_ontap_cluster.py: skipping as missing required netapp_lib 1943s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_active_directory_domain_controllers.py: skipping as missing required netapp_lib 1943s SKIPPED [39] tests/unit/plugins/modules/test_na_ontap_aggregate.py: skipping as missing required netapp_lib 1943s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_cluster_ha.py: skipping as missing required netapp_lib 1943s SKIPPED [19] tests/unit/plugins/modules/test_na_ontap_cluster_peer.py: skipping as missing required netapp_lib 1943s SKIPPED [12] tests/unit/plugins/modules/test_na_ontap_command.py: skipping as missing required netapp_lib 1943s SKIPPED [15] tests/unit/plugins/modules/test_na_ontap_debug.py: skipping as missing required netapp_lib 1943s SKIPPED [9] tests/unit/plugins/modules/test_na_ontap_disks.py: skipping as missing required netapp_lib 1943s SKIPPED [17] tests/unit/plugins/modules/test_na_ontap_dns.py: skipping as missing required netapp_lib 1943s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_domain_tunnel.py: skipping as missing required netapp_lib 1943s SKIPPED [29] tests/unit/plugins/modules/test_na_ontap_efficiency_policy.py: skipping as missing required netapp_lib 1943s SKIPPED [10] tests/unit/plugins/modules/test_na_ontap_autosupport.py: skipping as missing required netapp_lib 1943s SKIPPED [32] tests/unit/plugins/modules/test_na_ontap_broadcast_domain.py: skipping as missing required netapp_lib 1943s SKIPPED [2] tests/unit/plugins/modules/test_na_ontap_cg_snapshot.py: skipping as missing required netapp_lib 1943s SKIPPED [11] tests/unit/plugins/modules/test_na_ontap_export_policy.py: skipping as missing required netapp_lib 1943s SKIPPED [18] tests/unit/plugins/modules/test_na_ontap_export_policy_rule.py: skipping as missing required netapp_lib 1943s SKIPPED [34] tests/unit/plugins/modules/test_na_ontap_cifs.py: skipping as missing required netapp_lib 1943s SKIPPED [25] tests/unit/plugins/modules/test_na_ontap_cifs_acl.py: skipping as missing required netapp_lib 1943s SKIPPED [12] tests/unit/plugins/modules/test_na_ontap_cifs_local_group.py: skipping as missing required netapp_lib 1943s SKIPPED [3] tests/unit/plugins/modules/test_na_ontap_file_directory_policy.py: skipping as missing required netapp_lib 1943s SKIPPED [18] tests/unit/plugins/modules/test_na_ontap_cifs_local_group_member.py: skipping as missing required netapp_lib 1943s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_cifs_local_user_modify.py: skipping as missing required netapp_lib 1943s SKIPPED [16] tests/unit/plugins/modules/test_na_ontap_firewall_policy.py: skipping as missing required netapp_lib 1943s SKIPPED [4] tests/unit/plugins/modules/test_na_ontap_cifs_local_user_set_password.py: skipping as missing required netapp_lib 1943s SKIPPED [40] tests/unit/plugins/modules/test_na_ontap_firmware_upgrade.py: skipping as missing required netapp_lib 1943s SKIPPED [49] tests/unit/plugins/modules/test_na_ontap_cifs_server.py: skipping as missing required netapp_lib 1943s SKIPPED [43] tests/unit/plugins/modules/test_na_ontap_flexcache.py: skipping as missing required netapp_lib 1943s SKIPPED [30] tests/unit/plugins/modules/test_na_ontap_job_schedule.py: skipping as missing required netapp_lib 1943s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_fpolicy_event.py: skipping as missing required netapp_lib 1943s SKIPPED [13] tests/unit/plugins/modules/test_na_ontap_fpolicy_ext_engine.py: skipping as missing required netapp_lib 1943s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_fpolicy_policy.py: skipping as missing required netapp_lib 1943s SKIPPED [12] tests/unit/plugins/modules/test_na_ontap_kerberos_realm.py: skipping as missing required netapp_lib 1943s SKIPPED [13] tests/unit/plugins/modules/test_na_ontap_fpolicy_scope.py: skipping as missing required netapp_lib 1943s SKIPPED [30] tests/unit/plugins/modules/test_na_ontap_ldap_client.py: skipping as missing required netapp_lib 1943s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_fpolicy_status.py: skipping as missing required netapp_lib 1943s SKIPPED [27] tests/unit/plugins/modules/test_na_ontap_igroup.py: skipping as missing required netapp_lib 1943s SKIPPED [19] tests/unit/plugins/modules/test_na_ontap_license.py: skipping as missing required netapp_lib 1943s SKIPPED [17] tests/unit/plugins/modules/test_na_ontap_igroup_initiator.py: skipping as missing required netapp_lib 1943s SKIPPED [15] tests/unit/plugins/modules/test_na_ontap_license_nlf.py: skipping as missing required netapp_lib 1943s SKIPPED [48] tests/unit/plugins/modules/test_na_ontap_info.py: skipping as missing required netapp_lib 1943s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_log_forward.py: skipping as missing required netapp_lib 1943s SKIPPED [15] tests/unit/plugins/modules/test_na_ontap_login_messages.py: skipping as missing required netapp_lib 1943s SKIPPED [77] tests/unit/plugins/modules/test_na_ontap_interface.py: skipping as missing required netapp_lib 1943s SKIPPED [13] tests/unit/plugins/modules/test_na_ontap_lun.py: skipping as missing required netapp_lib 1943s SKIPPED [20] tests/unit/plugins/modules/test_na_ontap_lun_app_rest.py: skipping as missing required netapp_lib 1943s SKIPPED [5] tests/unit/plugins/modules/test_na_ontap_lun_copy.py: skipping as missing required netapp_lib 1943s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_lun_map.py: skipping as missing required netapp_lib 1943s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_lun_map_reporting_nodes.py: skipping as missing required netapp_lib 1943s SKIPPED [12] tests/unit/plugins/modules/test_na_ontap_lun_map_rest.py: skipping as missing required netapp_lib 1943s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_ipspace.py: skipping as missing required netapp_lib 1943s SKIPPED [21] tests/unit/plugins/modules/test_na_ontap_iscsi.py: skipping as missing required netapp_lib 1943s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_motd.py: skipping as missing required netapp_lib 1943s SKIPPED [11] tests/unit/plugins/modules/test_na_ontap_nvme_subsystem.py: skipping as missing required netapp_lib 1943s SKIPPED [15] tests/unit/plugins/modules/test_na_ontap_name_mappings.py: skipping as missing required netapp_lib 1943s SKIPPED [11] tests/unit/plugins/modules/test_na_ontap_name_service_switch.py: skipping as missing required netapp_lib 1943s SKIPPED [20] tests/unit/plugins/modules/test_na_ontap_object_store.py: skipping as missing required netapp_lib 1943s SKIPPED [4] tests/unit/plugins/modules/test_na_ontap_ndmp.py: skipping as missing required netapp_lib 1943s SKIPPED [32] tests/unit/plugins/modules/test_na_ontap_net_ifgrp.py: skipping as missing required netapp_lib 1943s SKIPPED [10] tests/unit/plugins/modules/test_na_ontap_partitions.py: skipping as missing required netapp_lib 1943s SKIPPED [30] tests/unit/plugins/modules/test_na_ontap_ports.py: skipping as missing required netapp_lib 1943s SKIPPED [17] tests/unit/plugins/modules/test_na_ontap_net_port.py: skipping as missing required netapp_lib 1943s SKIPPED [23] tests/unit/plugins/modules/test_na_ontap_net_routes.py: skipping as missing required netapp_lib 1943s SKIPPED [23] tests/unit/plugins/modules/test_na_ontap_portset.py: skipping as missing required netapp_lib 1943s SKIPPED [13] tests/unit/plugins/modules/test_na_ontap_net_subnet.py: skipping as missing required netapp_lib 1943s SKIPPED [12] tests/unit/plugins/modules/test_na_ontap_nfs.py: skipping as missing required netapp_lib 1943s SKIPPED [16] tests/unit/plugins/modules/test_na_ontap_qos_adaptive_policy_group.py: skipping as missing required netapp_lib 1943s SKIPPED [39] tests/unit/plugins/modules/test_na_ontap_qos_policy_group.py: skipping as missing required netapp_lib 1943s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_node.py: skipping as missing required netapp_lib 1943s SKIPPED [9] tests/unit/plugins/modules/test_na_ontap_ntfs_dacl.py: skipping as missing required netapp_lib 1943s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_ntfs_sd.py: skipping as missing required netapp_lib 1943s SKIPPED [29] tests/unit/plugins/modules/test_na_ontap_qtree.py: skipping as missing required netapp_lib 1943s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_nvme.py: skipping as missing required netapp_lib 1943s SKIPPED [9] tests/unit/plugins/modules/test_na_ontap_quota_policy.py: skipping as missing required netapp_lib 1943s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_nvme_namespace.py: skipping as missing required netapp_lib 1943s SKIPPED [47] tests/unit/plugins/modules/test_na_ontap_quotas.py: skipping as missing required netapp_lib 1943s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_security_config.py: skipping as missing required netapp_lib 1943s SKIPPED [11] tests/unit/plugins/modules/test_na_ontap_restit.py: skipping as missing required netapp_lib 1943s SKIPPED [27] tests/unit/plugins/modules/test_na_ontap_security_key_manager.py: skipping as missing required netapp_lib 1943s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_security_ssh.py: skipping as missing required netapp_lib 1943s SKIPPED [33] tests/unit/plugins/modules/test_na_ontap_snapmirror_policy.py: skipping as missing required netapp_lib 1943s SKIPPED [17] tests/unit/plugins/modules/test_na_ontap_service_processor_network.py: skipping as missing required netapp_lib 1943s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_snaplock_clock.py: skipping as missing required netapp_lib 1943s SKIPPED [19] tests/unit/plugins/modules/test_na_ontap_snapshot.py: skipping as missing required netapp_lib 1943s SKIPPED [79] tests/unit/plugins/modules/test_na_ontap_snapmirror.py: skipping as missing required netapp_lib 1943s SKIPPED [20] tests/unit/plugins/modules/test_na_ontap_snapshot_policy.py: skipping as missing required netapp_lib 1943s SKIPPED [30] tests/unit/plugins/modules/test_na_ontap_snapshot_policy_rest.py: skipping as missing required netapp_lib 1943s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_snmp_traphosts.py: skipping as missing required netapp_lib 1943s SKIPPED [44] tests/unit/plugins/modules/test_na_ontap_software_update.py: skipping as missing required netapp_lib 1943s SKIPPED [10] tests/unit/plugins/modules/test_na_ontap_storage_auto_giveback.py: skipping as missing required netapp_lib 1943s SKIPPED [83] tests/unit/plugins/modules/test_na_ontap_svm.py: skipping as missing required netapp_lib 1943s SKIPPED [15] tests/unit/plugins/modules/test_na_ontap_storage_failover.py: skipping as missing required netapp_lib 1943s SKIPPED [35] tests/unit/plugins/modules/test_na_ontap_unix_group.py: skipping as missing required netapp_lib 1943s SKIPPED [26] tests/unit/plugins/modules/test_na_ontap_unix_user.py: skipping as missing required netapp_lib 1943s SKIPPED [2] tests/unit/plugins/modules/test_na_ontap_template.py: skipping as missing required netapp_lib 1943s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_ucadapter.py: skipping as missing required netapp_lib 1943s SKIPPED [39] tests/unit/plugins/modules/test_na_ontap_user.py: skipping as missing required netapp_lib 1943s SKIPPED [25] tests/unit/plugins/modules/test_na_ontap_user_dicts.py: skipping as missing required netapp_lib 1943s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_user_role.py: skipping as missing required netapp_lib 1943s SKIPPED [111] tests/unit/plugins/modules/test_na_ontap_volume.py: skipping as missing required netapp_lib 1943s SKIPPED [20] tests/unit/plugins/modules/test_na_ontap_volume_autosize.py: skipping as missing required netapp_lib 1943s SKIPPED [11] tests/unit/plugins/modules/test_na_ontap_volume_clone.py: skipping as missing required netapp_lib 1943s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_volume_clone_rest.py: skipping as missing required netapp_lib 1943s SKIPPED [94] tests/unit/plugins/modules/test_na_ontap_volume_rest.py: skipping as missing required netapp_lib 1943s SKIPPED [16] tests/unit/plugins/modules/test_na_ontap_volume_efficiency.py: skipping as missing required netapp_lib 1943s SKIPPED [4] tests/unit/plugins/modules/test_na_ontap_volume_snaplock.py: skipping as missing required netapp_lib 1943s SKIPPED [10] tests/unit/plugins/modules/test_na_ontap_vscan.py: skipping as missing required netapp_lib 1943s SKIPPED [21] tests/unit/plugins/modules/test_na_ontap_vscan_on_access_policy.py: skipping as missing required netapp_lib 1943s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_vscan_on_demand_task.py: skipping as missing required netapp_lib 1943s SKIPPED [9] tests/unit/plugins/modules/test_na_ontap_vscan_on_demand_task_rest.py: skipping as missing required netapp_lib 1943s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_vscan_scanner_pool.py: skipping as missing required netapp_lib 1943s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_vserver_audit.py: skipping as missing required netapp_lib 1943s SKIPPED [28] tests/unit/plugins/modules/test_na_ontap_vserver_peer.py: skipping as missing required netapp_lib 1943s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_vserver_cifs_security.py: skipping as missing required netapp_lib 1943s SKIPPED [20] tests/unit/plugins/modules/test_na_ontap_wait_for_condition.py: skipping as missing required netapp_lib 1943s SKIPPED [13] tests/unit/plugins/modules/test_na_ontap_zapit.py: skipping as missing required netapp_lib 1943s FAILED tests/unit/plugins/modules/test_na_ontap_autosupport_invoke.py::TestMyModule::test_zapi_send_error 1943s ================= 1 failed, 645 passed, 2358 skipped in 42.00s ================= 1943s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/ontap/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/ontap --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/ontap tests/unit/plugins/modules/test_na_ontap_active_directory.py tests/unit/plugins/modules/test_na_ontap_active_directory_domain_controllers.py tests/unit/plugins/modules/test_na_ontap_aggregate.py tests/unit/plugins/modules/test_na_ontap_aggregate_rest.py tests/unit/plugins/modules/test_na_ontap_autosupport.py tests/unit/plugins/modules/test_na_ontap_autosupport_invoke.py tests/unit/plugins/modules/test_na_ontap_bgp_config_rest.py tests/unit/plugins/modules/test_na_ontap_bgp_peer_group.py tests/unit/plugins/modules/test_na_ontap_broadcast_domain.py tests/unit/plugins/modules/test_na_ontap_cg_snapshot.py tests/unit/plugins/modules/test_na_ontap_cg_snapshot_rest.py tests/unit/plugins/modules/test_na_ontap_cifs.py tests/unit/plugins/modules/test_na_ontap_cifs_acl.py tests/unit/plugins/modules/test_na_ontap_cifs_local_group.py tests/unit/plugins/modules/test_na_ontap_cifs_local_group_member.py tests/unit/plugins/modules/test_na_ontap_cifs_local_user.py tests/unit/plugins/modules/test_na_ontap_cifs_local_user_modify.py tests/unit/plugins/modules/test_na_ontap_cifs_local_user_set_password.py tests/unit/plugins/modules/test_na_ontap_cifs_local_user_set_password_rest.py tests/unit/plugins/modules/test_na_ontap_cifs_privileges_rest.py tests/unit/plugins/modules/test_na_ontap_cifs_server.py tests/unit/plugins/modules/test_na_ontap_cifs_unix_symlink_mapping_rest.py tests/unit/plugins/modules/test_na_ontap_cli_timeout_rest.py tests/unit/plugins/modules/test_na_ontap_cluster.py tests/unit/plugins/modules/test_na_ontap_cluster_ha.py tests/unit/plugins/modules/test_na_ontap_cluster_peer.py tests/unit/plugins/modules/test_na_ontap_command.py tests/unit/plugins/modules/test_na_ontap_debug.py tests/unit/plugins/modules/test_na_ontap_disk_options.py tests/unit/plugins/modules/test_na_ontap_disks.py tests/unit/plugins/modules/test_na_ontap_dns.py tests/unit/plugins/modules/test_na_ontap_domain_tunnel.py tests/unit/plugins/modules/test_na_ontap_efficiency_policy.py tests/unit/plugins/modules/test_na_ontap_ems_config_rest.py tests/unit/plugins/modules/test_na_ontap_ems_destination.py tests/unit/plugins/modules/test_na_ontap_ems_filter.py tests/unit/plugins/modules/test_na_ontap_export_policy.py tests/unit/plugins/modules/test_na_ontap_export_policy_rule.py tests/unit/plugins/modules/test_na_ontap_export_policy_rule_rest.py tests/unit/plugins/modules/test_na_ontap_fcp_rest.py tests/unit/plugins/modules/test_na_ontap_fdsd.py tests/unit/plugins/modules/test_na_ontap_fdsp.py tests/unit/plugins/modules/test_na_ontap_fdss.py tests/unit/plugins/modules/test_na_ontap_file_directory_policy.py tests/unit/plugins/modules/test_na_ontap_file_security_permissions.py tests/unit/plugins/modules/test_na_ontap_file_security_permissions_acl.py tests/unit/plugins/modules/test_na_ontap_firewall_policy.py tests/unit/plugins/modules/test_na_ontap_firmware_upgrade.py tests/unit/plugins/modules/test_na_ontap_flexcache.py tests/unit/plugins/modules/test_na_ontap_fpolicy_event.py tests/unit/plugins/modules/test_na_ontap_fpolicy_ext_engine.py tests/unit/plugins/modules/test_na_ontap_fpolicy_policy.py tests/unit/plugins/modules/test_na_ontap_fpolicy_scope.py tests/unit/plugins/modules/test_na_ontap_fpolicy_status.py tests/unit/plugins/modules/test_na_ontap_igroup.py tests/unit/plugins/modules/test_na_ontap_igroup_initiator.py tests/unit/plugins/modules/test_na_ontap_info.py tests/unit/plugins/modules/test_na_ontap_interface.py tests/unit/plugins/modules/test_na_ontap_ipspace.py tests/unit/plugins/modules/test_na_ontap_iscsi.py tests/unit/plugins/modules/test_na_ontap_iscsi_security.py tests/unit/plugins/modules/test_na_ontap_job_schedule.py tests/unit/plugins/modules/test_na_ontap_kerberos_interface.py tests/unit/plugins/modules/test_na_ontap_kerberos_realm.py tests/unit/plugins/modules/test_na_ontap_ldap_client.py tests/unit/plugins/modules/test_na_ontap_license.py tests/unit/plugins/modules/test_na_ontap_license_nlf.py tests/unit/plugins/modules/test_na_ontap_local_hosts.py tests/unit/plugins/modules/test_na_ontap_log_forward.py tests/unit/plugins/modules/test_na_ontap_login_messages.py tests/unit/plugins/modules/test_na_ontap_lun.py tests/unit/plugins/modules/test_na_ontap_lun_app_rest.py tests/unit/plugins/modules/test_na_ontap_lun_copy.py tests/unit/plugins/modules/test_na_ontap_lun_map.py tests/unit/plugins/modules/test_na_ontap_lun_map_reporting_nodes.py tests/unit/plugins/modules/test_na_ontap_lun_map_rest.py tests/unit/plugins/modules/test_na_ontap_lun_rest.py tests/unit/plugins/modules/test_na_ontap_mcc_mediator.py tests/unit/plugins/modules/test_na_ontap_metrocluster.py tests/unit/plugins/modules/test_na_ontap_metrocluster_dr_group.py tests/unit/plugins/modules/test_na_ontap_motd.py tests/unit/plugins/modules/test_na_ontap_name_mappings.py tests/unit/plugins/modules/test_na_ontap_name_service_switch.py tests/unit/plugins/modules/test_na_ontap_ndmp.py tests/unit/plugins/modules/test_na_ontap_net_ifgrp.py tests/unit/plugins/modules/test_na_ontap_net_port.py tests/unit/plugins/modules/test_na_ontap_net_routes.py tests/unit/plugins/modules/test_na_ontap_net_subnet.py tests/unit/plugins/modules/test_na_ontap_net_vlan.py tests/unit/plugins/modules/test_na_ontap_nfs.py tests/unit/plugins/modules/test_na_ontap_nfs_rest.py tests/unit/plugins/modules/test_na_ontap_node.py tests/unit/plugins/modules/test_na_ontap_ntfs_dacl.py tests/unit/plugins/modules/test_na_ontap_ntfs_sd.py tests/unit/plugins/modules/test_na_ontap_ntp.py tests/unit/plugins/modules/test_na_ontap_ntp_key.py tests/unit/plugins/modules/test_na_ontap_nvme.py tests/unit/plugins/modules/test_na_ontap_nvme_namespace.py tests/unit/plugins/modules/test_na_ontap_nvme_namespace_rest.py tests/unit/plugins/modules/test_na_ontap_nvme_rest.py tests/unit/plugins/modules/test_na_ontap_nvme_subsystem.py tests/unit/plugins/modules/test_na_ontap_nvme_subsystem_rest.py tests/unit/plugins/modules/test_na_ontap_object_store.py tests/unit/plugins/modules/test_na_ontap_partitions.py tests/unit/plugins/modules/test_na_ontap_ports.py tests/unit/plugins/modules/test_na_ontap_portset.py tests/unit/plugins/modules/test_na_ontap_publickey.py tests/unit/plugins/modules/test_na_ontap_qos_adaptive_policy_group.py tests/unit/plugins/modules/test_na_ontap_qos_policy_group.py tests/unit/plugins/modules/test_na_ontap_qtree.py tests/unit/plugins/modules/test_na_ontap_quota_policy.py tests/unit/plugins/modules/test_na_ontap_quotas.py tests/unit/plugins/modules/test_na_ontap_rest_cli.py tests/unit/plugins/modules/test_na_ontap_rest_info.py tests/unit/plugins/modules/test_na_ontap_restit.py tests/unit/plugins/modules/test_na_ontap_s3_buckets.py tests/unit/plugins/modules/test_na_ontap_s3_groups.py tests/unit/plugins/modules/test_na_ontap_s3_policies.py tests/unit/plugins/modules/test_na_ontap_s3_services.py tests/unit/plugins/modules/test_na_ontap_s3_users.py tests/unit/plugins/modules/test_na_ontap_security_certificates.py tests/unit/plugins/modules/test_na_ontap_security_config.py tests/unit/plugins/modules/test_na_ontap_security_ipsec_ca_certificate.py tests/unit/plugins/modules/test_na_ontap_security_ipsec_config.py tests/unit/plugins/modules/test_na_ontap_security_ipsec_policy.py tests/unit/plugins/modules/test_na_ontap_security_key_manager.py tests/unit/plugins/modules/test_na_ontap_security_ssh.py tests/unit/plugins/modules/test_na_ontap_service_policy.py tests/unit/plugins/modules/test_na_ontap_service_processor_network.py tests/unit/plugins/modules/test_na_ontap_snaplock_clock.py tests/unit/plugins/modules/test_na_ontap_snapmirror.py tests/unit/plugins/modules/test_na_ontap_snapmirror_policy.py tests/unit/plugins/modules/test_na_ontap_snapshot.py tests/unit/plugins/modules/test_na_ontap_snapshot_policy.py tests/unit/plugins/modules/test_na_ontap_snapshot_policy_rest.py tests/unit/plugins/modules/test_na_ontap_snmp.py tests/unit/plugins/modules/test_na_ontap_snmp_config_rest.py tests/unit/plugins/modules/test_na_ontap_snmp_traphosts.py tests/unit/plugins/modules/test_na_ontap_software_update.py tests/unit/plugins/modules/test_na_ontap_storage_auto_giveback.py tests/unit/plugins/modules/test_na_ontap_storage_failover.py tests/unit/plugins/modules/test_na_ontap_svm.py tests/unit/plugins/modules/test_na_ontap_template.py tests/unit/plugins/modules/test_na_ontap_ucadapter.py tests/unit/plugins/modules/test_na_ontap_unix_group.py tests/unit/plugins/modules/test_na_ontap_unix_user.py tests/unit/plugins/modules/test_na_ontap_user.py tests/unit/plugins/modules/test_na_ontap_user_dicts.py tests/unit/plugins/modules/test_na_ontap_user_role.py tests/unit/plugins/modules/test_na_ontap_user_role_rest.py tests/unit/plugins/modules/test_na_ontap_volume.py tests/unit/plugins/modules/test_na_ontap_volume_autosize.py tests/unit/plugins/modules/test_na_ontap_volume_clone.py tests/unit/plugins/modules/test_na_ontap_volume_clone_rest.py tests/unit/plugins/modules/test_na_ontap_volume_efficiency.py tests/unit/plugins/modules/test_na_ontap_volume_rest.py tests/unit/plugins/modules/test_na_ontap_volume_snaplock.py tests/unit/plugins/modules/test_na_ontap_vscan.py tests/unit/plugins/modules/test_na_ontap_vscan_on_access_policy.py tests/unit/plugins/modules/test_na_ontap_vscan_on_demand_task.py tests/unit/plugins/modules/test_na_ontap_vscan_on_demand_task_rest.py tests/unit/plugins/modules/test_na_ontap_vscan_scanner_pool.py tests/unit/plugins/modules/test_na_ontap_vscan_scanner_pool_rest.py tests/unit/plugins/modules/test_na_ontap_vserver_audit.py tests/unit/plugins/modules/test_na_ontap_vserver_cifs_security.py tests/unit/plugins/modules/test_na_ontap_vserver_peer.py tests/unit/plugins/modules/test_na_ontap_vserver_peer_permissions.py tests/unit/plugins/modules/test_na_ontap_wait_for_condition.py tests/unit/plugins/modules/test_na_ontap_wwpn_alias.py tests/unit/plugins/modules/test_na_ontap_zapit.py tests/unit/plugins/modules/test_ontap_fdspt.py" returned exit status 1. 1943s ## return code is 1 1943s 1943s 1943s 1943s ############################################################ 1943s ############################################################ 1943s #### Running FLAKY tests in ansible_collections/ngine_io/cloudstack 1943s ############################################################ 1943s ############################################################ 1944s Unit test controller with Python 3.13 1945s ============================= test session starts ============================== 1945s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1945s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ngine_io/cloudstack 1945s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1945s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1945s created: 2/2 workers 1945s 2 workers [0 items] 1945s 1945s 1945s ==================================== ERRORS ==================================== 1945s _________ ERROR collecting tests/unit/modules/test_cs_traffic_type.py __________ 1945s ImportError while importing test module '/tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ngine_io/cloudstack/tests/unit/modules/test_cs_traffic_type.py'. 1945s Hint: make sure your test modules/packages have valid Python names. 1945s Traceback: 1945s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1945s return _bootstrap._gcd_import(name[level:], package, level) 1945s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1945s assertion_rewriting_hook.exec_module(module) 1945s tests/unit/modules/test_cs_traffic_type.py:4: in 1945s from units.compat import unittest 1945s E ModuleNotFoundError: No module named 'units' 1945s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ngine_io/cloudstack/tests/output/junit/python3.13-controller-units.xml - 1945s =========================== short test summary info ============================ 1945s ERROR tests/unit/modules/test_cs_traffic_type.py 1945s =============================== 1 error in 0.53s =============================== 1945s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ngine_io/cloudstack/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ngine_io/cloudstack --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ngine_io/cloudstack tests/unit/modules/test_cs_traffic_type.py" returned exit status 1. 1945s ## return code is 1 1945s 1945s 1945s 1945s ############################################################ 1945s ############################################################ 1945s #### Running FLAKY tests in ansible_collections/sensu/sensu_go 1945s ############################################################ 1945s ############################################################ 1945s Unit test modules with Python 3.13 1947s ============================= test session starts ============================== 1947s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1947s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go 1947s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1947s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1947s created: 2/2 workers 1947s 2 workers [346 items] 1947s 1947s ........................................................................ [ 20%] 1948s .............................................................F.......... [ 41%] 1949s ........................................................................ [ 62%] 1950s ........................................................................ [ 83%] 1951s .......................................................... [100%] 1951s =================================== FAILURES =================================== 1951s _ TestDatastoreParams.test_parameters_datastore[my_resource-absent--None-None-None-None-None-None-False-True-expected_payload2] _ 1951s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1951s 1951s self = 1951s mocker = 1951s name = 'my_resource', state = 'absent', dsn = '', pool_size = None 1951s max_conn_lifetime = None, max_idle_conns = None, batch_workers = None 1951s batch_buffer = None, batch_size = None, enable_round_robin = False 1951s strict = True 1951s expected_payload = {'api_version': 'store/v1', 'metadata': {'name': 'my_resource'}, 'spec': {'dsn': '', 'enable_round_robin': False, 'strict': True}, 'type': 'PostgresConfig'} 1951s 1951s @pytest.mark.parametrize( 1951s # name ... Resource name 1951s # state ... Prefered resource state (Present/Absent) 1951s # dsn ... url or postgre connection string 1951s # pool_size ... max number of connections 1951s # max_conn_lifetime ... max time a connection can persist 1951s # max_idle_conns ... max number of idle connections 1951s # batch_workers ... number of GOroutines 1951s # batch_buffer ... max requests to buffer in memory 1951s # batch_size ... number of requests in each transaction 1951s # enable_round_robin ... round robin (True/False) 1951s # strict ... strict (True/False) 1951s # expected_payload ... expected payload 1951s ("name", "state", "dsn", "pool_size", "max_conn_lifetime", "max_idle_conns", "batch_workers", 1951s "batch_buffer", "batch_size", "enable_round_robin", "strict", "expected_payload"), 1951s [ 1951s # Present 1951s ("my_resource", "present", "postgresql://user:secret@host:port/dbname", 2, 1, 1, 1, 1, 1, 1951s False, True, 1951s {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'my_resource'}, 1951s 'spec': 1951s { 1951s 'dsn': 'postgresql://user:secret@host:port/dbname', 'pool_size': 2, 'max_conn_lifetime': '1', 1951s 'max_idle_conns': 1, 'batch_workers': 1, 'batch_buffer': 1, 'batch_size': 1, 1951s 'enable_round_robin': False, 'strict': True}}), 1951s 1951s ("another_resource", "present", "postgresql://user:secret@host:port/dbname", 0, 0, 0, 0, 0, 0, 1951s False, False, 1951s {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'another_resource'}, 1951s 'spec': 1951s { 1951s 'dsn': 'postgresql://user:secret@host:port/dbname', 'pool_size': 0, 'max_conn_lifetime': '0', 1951s 'max_idle_conns': 0, 'batch_workers': 0, 'batch_buffer': 0, 'batch_size': 0, 1951s 'enable_round_robin': False, 'strict': False}}), 1951s # Absent 1951s ("my_resource", "absent", "", None, None, None, None, None, None, 1951s False, True, 1951s {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'my_resource'}, 1951s 'spec': 1951s { 1951s 'dsn': '', 'enable_round_robin': False, 'strict': True}}), 1951s 1951s ("my_resource", "absent", "postgresql://user:secret@host:port/dbname", 2, 1, 1, 1, 2, 3, 1951s False, True, 1951s {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'my_resource'}, 1951s 'spec': 1951s { 1951s 'dsn': 'postgresql://user:secret@host:port/dbname', 'pool_size': 2, 'max_conn_lifetime': '1', 1951s 'max_idle_conns': 1, 'batch_workers': 1, 'batch_buffer': 2, 'batch_size': 3, 1951s 'enable_round_robin': False, 'strict': True}}), 1951s ], 1951s ) 1951s def test_parameters_datastore(self, mocker, name, state, dsn, pool_size, max_conn_lifetime, max_idle_conns, batch_workers, 1951s batch_buffer, batch_size, enable_round_robin, strict, expected_payload): 1951s sync_mock = mocker.patch.object(datastore, "sync") 1951s sync_mock.return_value = True, {} 1951s set_module_args( 1951s name=name, 1951s dsn=dsn, 1951s state=state, 1951s pool_size=pool_size, 1951s max_conn_lifetime=max_conn_lifetime, 1951s max_idle_conns=max_idle_conns, 1951s batch_workers=batch_workers, 1951s batch_buffer=batch_buffer, 1951s batch_size=batch_size, 1951s enable_round_robin=enable_round_robin, 1951s strict=strict, 1951s ) 1951s with pytest.raises(AnsibleExitJson): 1951s > datastore.main() 1951s 1951s tests/unit/plugins/modules/test_datastore.py:343: 1951s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1951s plugins/modules/datastore.py:184: in main 1951s module = AnsibleModule( 1951s /tmp/ansible-test-7c9q8vah/ansible/module_utils/basic.py:445: in __init__ 1951s self.fail_json(msg=msg) 1951s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1951s 1951s args = (,) 1951s kwargs = {'failed': True, 'msg': 'argument \'pool_size\' is of type and we were unable to convert to int: "None" cannot be converted to an int'} 1951s 1951s def fail_json(*args, **kwargs): 1951s kwargs['failed'] = True 1951s > raise AnsibleFailJson(kwargs) 1951s E ansible_collections.sensu.sensu_go.tests.unit.plugins.modules.common.utils.AnsibleFailJson: {'msg': 'argument \'pool_size\' is of type and we were unable to convert to int: "None" cannot be converted to an int', 'failed': True} 1951s 1951s tests/unit/plugins/modules/common/utils.py:38: AnsibleFailJson 1951s =============================== warnings summary =============================== 1951s tests/unit/plugins/modules/test_user.py::TestUpdatePasswordHash::test_sensu_go_older_than_5_21_0[False] 1951s tests/unit/plugins/modules/test_user.py::TestUpdatePasswordHash::test_sensu_go_older_than_5_21_0[True] 1951s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:120: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1951s client.version = version.StrictVersion("5.20.0") 1951s 1951s tests/unit/plugins/modules/test_user.py::TestUpdatePassword::test_password_is_invalid_older_than_5_21_0 1951s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:39: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1951s client.version = version.StrictVersion("5.20.2") 1951s 1951s tests/unit/plugins/modules/test_user.py::TestUpdatePasswordHash::test_sensu_go_newer_than_5_21_0 1951s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:129: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1951s client.version = version.StrictVersion("5.21.0") 1951s 1951s tests/unit/plugins/modules/test_user.py::TestUpdatePasswordHash::test_sensu_go_newer_than_5_21_0_check_mode 1951s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:146: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1951s client.version = version.StrictVersion("5.21.0") 1951s 1951s tests/unit/plugins/modules/test_user.py::TestUpdatePassword::test_password_is_invalid_5_21_0_or_newer 1951s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:53: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1951s client.version = version.StrictVersion("5.21.0") 1951s 1951s tests/unit/plugins/modules/test_user.py::TestUpdatePassword::test_missing_bcrypt_library[True-False-True] 1951s tests/unit/plugins/modules/test_user.py::TestUpdatePassword::test_missing_bcrypt_library[False-True-None] 1951s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:105: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1951s client.version = version.StrictVersion("5.21.1") 1951s 1951s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1951s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go/tests/output/junit/python3.13-modules-units.xml - 1951s =========================== short test summary info ============================ 1951s FAILED tests/unit/plugins/modules/test_datastore.py::TestDatastoreParams::test_parameters_datastore[my_resource-absent--None-None-None-None-None-None-False-True-expected_payload2] 1951s ================== 1 failed, 345 passed, 8 warnings in 5.43s =================== 1951s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go tests/unit/plugins/modules/test_ad_auth_provider.py tests/unit/plugins/modules/test_asset.py tests/unit/plugins/modules/test_asset_info.py tests/unit/plugins/modules/test_auth_provider_info.py tests/unit/plugins/modules/test_bonsai_asset.py tests/unit/plugins/modules/test_check.py tests/unit/plugins/modules/test_check_info.py tests/unit/plugins/modules/test_cluster.py tests/unit/plugins/modules/test_cluster_info.py tests/unit/plugins/modules/test_cluster_role.py tests/unit/plugins/modules/test_cluster_role_binding.py tests/unit/plugins/modules/test_cluster_role_binding_info.py tests/unit/plugins/modules/test_cluster_role_info.py tests/unit/plugins/modules/test_datastore.py tests/unit/plugins/modules/test_datastore_info.py tests/unit/plugins/modules/test_entity.py tests/unit/plugins/modules/test_entity_info.py tests/unit/plugins/modules/test_etcd_replicator.py tests/unit/plugins/modules/test_etcd_replicator_info.py tests/unit/plugins/modules/test_event.py tests/unit/plugins/modules/test_event_info.py tests/unit/plugins/modules/test_filter.py tests/unit/plugins/modules/test_filter_info.py tests/unit/plugins/modules/test_handler_set.py tests/unit/plugins/modules/test_hook.py tests/unit/plugins/modules/test_hook_info.py tests/unit/plugins/modules/test_ldap_auth_provider.py tests/unit/plugins/modules/test_mutator.py tests/unit/plugins/modules/test_mutator_info.py tests/unit/plugins/modules/test_namespace.py tests/unit/plugins/modules/test_namespace_info.py tests/unit/plugins/modules/test_oidc_auth_provider.py tests/unit/plugins/modules/test_pipe_handler.py tests/unit/plugins/modules/test_pipe_handler_info.py tests/unit/plugins/modules/test_pipeline.py tests/unit/plugins/modules/test_pipeline_info.py tests/unit/plugins/modules/test_role.py tests/unit/plugins/modules/test_role_binding.py tests/unit/plugins/modules/test_role_binding_info.py tests/unit/plugins/modules/test_role_info.py tests/unit/plugins/modules/test_secret.py tests/unit/plugins/modules/test_secret_info.py tests/unit/plugins/modules/test_secrets_provider_env.py tests/unit/plugins/modules/test_secrets_provider_info.py tests/unit/plugins/modules/test_secrets_provider_vault.py tests/unit/plugins/modules/test_silence.py tests/unit/plugins/modules/test_silence_info.py tests/unit/plugins/modules/test_socket_handler.py tests/unit/plugins/modules/test_tessen.py tests/unit/plugins/modules/test_user.py tests/unit/plugins/modules/test_user_info.py" returned exit status 1. 1951s ## return code is 1 1951s 1951s 1951s 1951s ############################################################ 1951s ############################################################ 1951s #### Running FLAKY tests in ansible_collections/splunk/es 1951s ############################################################ 1951s ############################################################ 1951s Unit test controller with Python 3.13 1952s ============================= test session starts ============================== 1952s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1952s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/splunk/es 1952s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1952s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1952s created: 2/2 workers 1952s 2 workers [31 items] 1952s 1953s ..............F................ [100%] 1953s =================================== FAILURES =================================== 1953s _ TestSplunkEsCorrelationSearches.test_es_correlation_searches_replaced_idempotent _ 1953s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1953s 1953s self = 1953s conn = 1953s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xf0fa427f8640> 1953s 1953s @patch("ansible.module_utils.connection.Connection.__rpc__") 1953s def test_es_correlation_searches_replaced_idempotent( 1953s self, 1953s conn, 1953s monkeypatch, 1953s ): 1953s self._plugin._connection.socket_path = tempfile.NamedTemporaryFile().name 1953s self._plugin._connection._shell = MagicMock() 1953s 1953s def create_update(self, rest_path, data=None): 1953s return RESPONSE_PAYLOAD 1953s 1953s def get_by_path(self, path): 1953s return RESPONSE_PAYLOAD 1953s 1953s def delete_by_path(self, path): 1953s return {} 1953s 1953s monkeypatch.setattr(SplunkRequest, "create_update", create_update) 1953s monkeypatch.setattr(SplunkRequest, "get_by_path", get_by_path) 1953s monkeypatch.setattr(SplunkRequest, "delete_by_path", delete_by_path) 1953s 1953s self._plugin._task.args = { 1953s "state": "replaced", 1953s "config": [REQUEST_PAYLOAD[0]], 1953s } 1953s result = self._plugin.run(task_vars=self._task_vars) 1953s 1953s > assert result["changed"] is True 1953s E assert False is True 1953s 1953s tests/unit/plugins/action/test_es_correlation_searches.py:309: AssertionError 1953s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/splunk/es/tests/output/junit/python3.13-controller-units.xml - 1953s =========================== short test summary info ============================ 1953s FAILED tests/unit/plugins/action/test_es_correlation_searches.py::TestSplunkEsCorrelationSearches::test_es_correlation_searches_replaced_idempotent 1953s ========================= 1 failed, 30 passed in 1.47s ========================= 1953s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/splunk/es/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/splunk/es --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/splunk/es tests/unit/plugins/action/test_es_adaptive_response_notable_events.py tests/unit/plugins/action/test_es_correlation_searches.py tests/unit/plugins/action/test_es_data_inputs_monitors.py tests/unit/plugins/action/test_es_data_inputs_network.py" returned exit status 1. 1953s ## return code is 1 1953s 1953s 1953s 1953s ############################################################ 1953s ############################################################ 1953s #### Running FLAKY tests in ansible_collections/vmware/vmware 1953s ############################################################ 1953s ############################################################ 1953s Unit test modules with Python 3.13 1955s ============================= test session starts ============================== 1955s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1955s rootdir: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vmware/vmware 1955s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1955s plugins: mock-3.14.0, forked-1.6.0, xdist-3.6.1, typeguard-4.4.2 1955s created: 2/2 workers 1955s 2 workers [18 items] 1955s 1955s ............FF...F [100%] 1955s =================================== FAILURES =================================== 1955s ____________________ TestModuleRestBase.test_get_vm_by_name ____________________ 1955s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1955s 1955s self = 1955s mocker = 1955s 1955s def test_get_vm_by_name(self, mocker): 1955s > self.__prepare(mocker) 1955s 1955s tests/unit/plugins/modules/test_utils_module_rest_base.py:21: 1955s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1955s tests/unit/plugins/modules/test_utils_module_rest_base.py:16: in __prepare 1955s self.base = ModuleRestBase( 1955s plugins/module_utils/_module_rest_base.py:29: in __init__ 1955s super().__init__(connection_params=module.params) 1955s plugins/module_utils/clients/_rest.py:48: in __init__ 1955s self.check_requirements() 1955s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1955s 1955s self = 1955s 1955s def check_requirements(self): 1955s """ 1955s Check all requirements for this client are satisfied 1955s """ 1955s if REQUESTS_IMP_ERR: 1955s raise MissingLibError('requests', REQUESTS_IMP_ERR) 1955s if VSPHERE_IMP_ERR: 1955s > raise MissingLibError( 1955s 'vSphere Automation SDK', VSPHERE_IMP_ERR, 1955s url='https://code.vmware.com/web/sdk/7.0/vsphere-automation-python' 1955s ) 1955s E ansible_collections.vmware.vmware.plugins.module_utils.clients._errors.MissingLibError: Failed to import the required Python library (vSphere Automation SDK) on autopkgtest's Python /usr/bin/python3. See https://code.vmware.com/web/sdk/7.0/vsphere-automation-python for more info. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter 1955s 1955s plugins/module_utils/clients/_rest.py:65: MissingLibError 1955s _______________ TestModuleRestBase.test_get_content_library_ids ________________ 1955s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1955s 1955s self = 1955s mocker = 1955s 1955s def test_get_content_library_ids(self, mocker): 1955s > self.__prepare(mocker) 1955s 1955s tests/unit/plugins/modules/test_utils_module_rest_base.py:29: 1955s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1955s tests/unit/plugins/modules/test_utils_module_rest_base.py:16: in __prepare 1955s self.base = ModuleRestBase( 1955s plugins/module_utils/_module_rest_base.py:29: in __init__ 1955s super().__init__(connection_params=module.params) 1955s plugins/module_utils/clients/_rest.py:48: in __init__ 1955s self.check_requirements() 1955s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1955s 1955s self = 1955s 1955s def check_requirements(self): 1955s """ 1955s Check all requirements for this client are satisfied 1955s """ 1955s if REQUESTS_IMP_ERR: 1955s raise MissingLibError('requests', REQUESTS_IMP_ERR) 1955s if VSPHERE_IMP_ERR: 1955s > raise MissingLibError( 1955s 'vSphere Automation SDK', VSPHERE_IMP_ERR, 1955s url='https://code.vmware.com/web/sdk/7.0/vsphere-automation-python' 1955s ) 1955s E ansible_collections.vmware.vmware.plugins.module_utils.clients._errors.MissingLibError: Failed to import the required Python library (vSphere Automation SDK) on autopkgtest's Python /usr/bin/python3. See https://code.vmware.com/web/sdk/7.0/vsphere-automation-python for more info. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter 1955s 1955s plugins/module_utils/clients/_rest.py:65: MissingLibError 1955s _____________________ TestRestClient.test_get_tags_by_moid _____________________ 1955s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1955s 1955s self = 1955s mocker = 1955s 1955s def test_get_tags_by_moid(self, mocker): 1955s > self.__prepare(mocker) 1955s 1955s tests/unit/plugins/modules/test_utils_rest_client.py:21: 1955s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1955s tests/unit/plugins/modules/test_utils_rest_client.py:10: in __prepare 1955s client_mock = mocker.patch('ansible_collections.vmware.vmware.plugins.module_utils.clients._rest.create_vsphere_client') 1955s /usr/lib/python3/dist-packages/pytest_mock/plugin.py:440: in __call__ 1955s return self._start_patch( 1955s /usr/lib/python3/dist-packages/pytest_mock/plugin.py:258: in _start_patch 1955s mocked: MockType = p.start() 1955s /usr/lib/python3.13/unittest/mock.py:1654: in start 1955s result = self.__enter__() 1955s /usr/lib/python3.13/unittest/mock.py:1497: in __enter__ 1955s original, local = self.get_original() 1955s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1955s 1955s self = 1955s 1955s def get_original(self): 1955s target = self.getter() 1955s name = self.attribute 1955s 1955s original = DEFAULT 1955s local = False 1955s 1955s try: 1955s original = target.__dict__[name] 1955s except (AttributeError, KeyError): 1955s original = getattr(target, name, DEFAULT) 1955s else: 1955s local = True 1955s 1955s if name in _builtins and isinstance(target, ModuleType): 1955s self.create = True 1955s 1955s if not self.create and original is DEFAULT: 1955s > raise AttributeError( 1955s "%s does not have the attribute %r" % (target, name) 1955s ) 1955s E AttributeError: does not have the attribute 'create_vsphere_client' 1955s 1955s /usr/lib/python3.13/unittest/mock.py:1467: AttributeError 1955s =============================== warnings summary =============================== 1955s tests/unit/plugins/modules/test_utils_pyvmomi_client.py::TestPyvmomiClient::test_get_all_objs_by_type 1955s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vmware/vmware/plugins/module_utils/clients/_pyvmomi.py:130: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 1955s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) 1955s 1955s tests/unit/plugins/modules/test_utils_pyvmomi_client.py::TestPyvmomiClient::test_class_init 1955s /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vmware/vmware/plugins/module_utils/clients/_pyvmomi.py:125: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 1955s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) 1955s 1955s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1955s - generated xml file: /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vmware/vmware/tests/output/junit/python3.13-modules-units.xml - 1955s =========================== short test summary info ============================ 1955s FAILED tests/unit/plugins/modules/test_utils_module_rest_base.py::TestModuleRestBase::test_get_vm_by_name 1955s FAILED tests/unit/plugins/modules/test_utils_module_rest_base.py::TestModuleRestBase::test_get_content_library_ids 1955s FAILED tests/unit/plugins/modules/test_utils_rest_client.py::TestRestClient::test_get_tags_by_moid 1955s =================== 3 failed, 15 passed, 2 warnings in 1.33s =================== 1955s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vmware/vmware/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vmware/vmware --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vmware/vmware tests/unit/plugins/modules/test_appliance_info.py tests/unit/plugins/modules/test_cluster.py tests/unit/plugins/modules/test_cluster_info.py tests/unit/plugins/modules/test_cluster_vcls.py tests/unit/plugins/modules/test_content_library_item_info.py tests/unit/plugins/modules/test_esxi_maintenance_mode.py tests/unit/plugins/modules/test_guest_info.py tests/unit/plugins/modules/test_license_info.py tests/unit/plugins/modules/test_utils_module_pyvmomi_base.py tests/unit/plugins/modules/test_utils_module_rest_base.py tests/unit/plugins/modules/test_utils_pyvmomi_client.py tests/unit/plugins/modules/test_utils_rest_client.py tests/unit/plugins/modules/test_vm_list_group_by_clusters_info.py" returned exit status 1. 1955s ## return code is 1 1955s ############################################################ 1955s ############################################################ 1955s #### failed tests are: 1955s #### ansible_collections/ansible/utils 1955s #### ansible_collections/cisco/aci 1955s #### ansible_collections/cisco/dnac 1955s #### ansible_collections/community/dns 1955s #### ansible_collections/community/general 1955s #### ansible_collections/community/hrobot 1955s #### ansible_collections/community/library_inventory_filtering_v1 1955s #### ansible_collections/infoblox/nios_modules 1955s #### ansible_collections/junipernetworks/junos 1955s #### ansible_collections/netapp_eseries/santricity 1955s #### ansible_collections/netapp/ontap 1955s #### ansible_collections/ngine_io/cloudstack 1955s #### ansible_collections/sensu/sensu_go 1955s #### ansible_collections/splunk/es 1955s #### ansible_collections/vmware/vmware 1955s ############################################################ 1955s ############################################################ 1956s autopkgtest [06:26:53]: test unit-tests-flaky.py: -----------------------] 1957s autopkgtest [06:26:54]: test unit-tests-flaky.py: - - - - - - - - - - results - - - - - - - - - - 1957s unit-tests-flaky.py FLAKY non-zero exit status 1 1957s autopkgtest [06:26:54]: test unit-tests-flaky.py: - - - - - - - - - - stderr - - - - - - - - - - 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/utils/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/utils --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ansible/utils tests/unit/module_utils/test_argspec_validate.py tests/unit/module_utils/test_dict_merge.py tests/unit/module_utils/test_get_path.py tests/unit/module_utils/test_sort_list.py tests/unit/module_utils/test_to_paths.py tests/unit/plugins/action/test_cli_parse.py tests/unit/plugins/action/test_fact_diff.py tests/unit/plugins/action/test_update_fact.py tests/unit/plugins/action/test_validate.py tests/unit/plugins/filter/test_cidr_merge.py tests/unit/plugins/filter/test_consolidate.py tests/unit/plugins/filter/test_fact_diff.py tests/unit/plugins/filter/test_from_xml.py tests/unit/plugins/filter/test_hwaddr.py tests/unit/plugins/filter/test_ip4_hex.py tests/unit/plugins/filter/test_ipaddr.py tests/unit/plugins/filter/test_ipcut.py tests/unit/plugins/filter/test_ipmath.py tests/unit/plugins/filter/test_ipsubnet.py tests/unit/plugins/filter/test_ipv4.py tests/unit/plugins/filter/test_ipv6.py tests/unit/plugins/filter/test_ipv6form.py tests/unit/plugins/filter/test_ipwrap.py tests/unit/plugins/filter/test_keep_keys.py tests/unit/plugins/filter/test_macaddr.py tests/unit/plugins/filter/test_network_in_network.py tests/unit/plugins/filter/test_network_in_usable.py tests/unit/plugins/filter/test_next_nth_usable.py tests/unit/plugins/filter/test_nthhost.py tests/unit/plugins/filter/test_param_list_compare.py tests/unit/plugins/filter/test_previous_nth_usable.py tests/unit/plugins/filter/test_reduce_on_network.py tests/unit/plugins/filter/test_remove_keys.py tests/unit/plugins/filter/test_replace_keys.py tests/unit/plugins/filter/test_slaac.py tests/unit/plugins/filter/test_to_xml.py tests/unit/plugins/filter/test_usable_range.py tests/unit/plugins/filter/test_validate.py tests/unit/plugins/lookup/test_validate.py tests/unit/plugins/plugin_utils/test_index_of.py tests/unit/plugins/sub_plugins/cli_parsers/test_json_parser.py tests/unit/plugins/sub_plugins/cli_parsers/test_textfsm_parser.py tests/unit/plugins/sub_plugins/cli_parsers/test_ttp_parser.py tests/unit/plugins/sub_plugins/cli_parsers/test_xml_parser.py tests/unit/plugins/sub_plugins/validate/test_config.py tests/unit/plugins/test/test_in_any_network.py tests/unit/plugins/test/test_in_network.py tests/unit/plugins/test/test_in_one_network.py tests/unit/plugins/test/test_ip.py tests/unit/plugins/test/test_ip_address.py tests/unit/plugins/test/test_ipv4.py tests/unit/plugins/test/test_ipv4_address.py tests/unit/plugins/test/test_ipv4_hostmask.py tests/unit/plugins/test/test_ipv4_netmask.py tests/unit/plugins/test/test_ipv6.py tests/unit/plugins/test/test_ipv6_address.py tests/unit/plugins/test/test_ipv6_ipv4_mapped.py tests/unit/plugins/test/test_ipv6_sixtofour.py tests/unit/plugins/test/test_ipv6_teredo.py tests/unit/plugins/test/test_loopback.py tests/unit/plugins/test/test_mac.py tests/unit/plugins/test/test_multicast.py tests/unit/plugins/test/test_private.py tests/unit/plugins/test/test_public.py tests/unit/plugins/test/test_reserved.py tests/unit/plugins/test/test_resolvable.py tests/unit/plugins/test/test_subnet_of.py tests/unit/plugins/test/test_supernet_of.py tests/unit/plugins/test/test_unspecified.py tests/unit/plugins/test/test_validate.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/aci/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/aci --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/aci tests/unit/module_utils/test_aci.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/dnac/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/dnac --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/cisco/dnac tests/unit/modules/dnac/test_accesspoint_workflow_manager.py tests/unit/modules/dnac/test_device_credential_workflow_manager.py tests/unit/modules/dnac/test_discovery_intent.py tests/unit/modules/dnac/test_inventory_workflow_manager.py tests/unit/modules/dnac/test_network_compliance_workflow_manager.py tests/unit/modules/dnac/test_network_settings_workflow_manager.py tests/unit/modules/dnac/test_pnp_intent.py tests/unit/modules/dnac/test_pnp_workflow_manager.py tests/unit/modules/dnac/test_provision_workflow_manager.py tests/unit/modules/dnac/test_rma_workflow_manager.py tests/unit/modules/dnac/test_site_intent.py tests/unit/modules/dnac/test_site_workflow_manager.py tests/unit/modules/dnac/test_swim_intent.py tests/unit/modules/dnac/test_swim_workflow_manager.py tests/unit/modules/dnac/test_template_intent.py tests/unit/modules/dnac/test_user_role_workflow_manager.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/dns tests/unit/plugins/modules/test_hetzner_dns_record.py tests/unit/plugins/modules/test_hetzner_dns_record_info.py tests/unit/plugins/modules/test_hetzner_dns_record_set.py tests/unit/plugins/modules/test_hetzner_dns_record_set_info.py tests/unit/plugins/modules/test_hetzner_dns_record_sets.py tests/unit/plugins/modules/test_hetzner_dns_zone_info.py tests/unit/plugins/modules/test_hosttech_dns_record.py tests/unit/plugins/modules/test_hosttech_dns_record_info.py tests/unit/plugins/modules/test_hosttech_dns_record_set.py tests/unit/plugins/modules/test_hosttech_dns_record_set_info.py tests/unit/plugins/modules/test_hosttech_dns_record_sets.py tests/unit/plugins/modules/test_hosttech_dns_zone_info.py tests/unit/plugins/modules/test_nameserver_info.py tests/unit/plugins/modules/test_nameserver_record_info.py tests/unit/plugins/modules/test_wait_for_txt.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/general/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/general --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/general tests/unit/plugins/modules/interfaces_file/test_interfaces_file.py tests/unit/plugins/modules/test_alerta_customer.py tests/unit/plugins/modules/test_apache2_module.py tests/unit/plugins/modules/test_apk.py tests/unit/plugins/modules/test_archive.py tests/unit/plugins/modules/test_bitbucket_access_key.py tests/unit/plugins/modules/test_bitbucket_pipeline_key_pair.py tests/unit/plugins/modules/test_bitbucket_pipeline_known_host.py tests/unit/plugins/modules/test_bitbucket_pipeline_variable.py tests/unit/plugins/modules/test_bootc_manage.py tests/unit/plugins/modules/test_campfire.py tests/unit/plugins/modules/test_circonus_annotation.py tests/unit/plugins/modules/test_cpanm.py tests/unit/plugins/modules/test_datadog_downtime.py tests/unit/plugins/modules/test_dconf.py tests/unit/plugins/modules/test_discord.py tests/unit/plugins/modules/test_django_check.py tests/unit/plugins/modules/test_django_command.py tests/unit/plugins/modules/test_django_createcachetable.py tests/unit/plugins/modules/test_dnf_config_manager.py tests/unit/plugins/modules/test_dnsimple.py tests/unit/plugins/modules/test_dnsimple_info.py tests/unit/plugins/modules/test_facter_facts.py tests/unit/plugins/modules/test_gconftool2.py tests/unit/plugins/modules/test_gconftool2_info.py tests/unit/plugins/modules/test_gem.py tests/unit/plugins/modules/test_gio_mime.py tests/unit/plugins/modules/test_github_repo.py tests/unit/plugins/modules/test_gitlab_deploy_key.py tests/unit/plugins/modules/test_gitlab_group.py tests/unit/plugins/modules/test_gitlab_group_access_token.py tests/unit/plugins/modules/test_gitlab_hook.py tests/unit/plugins/modules/test_gitlab_project.py tests/unit/plugins/modules/test_gitlab_project_access_token.py tests/unit/plugins/modules/test_gitlab_protected_branch.py tests/unit/plugins/modules/test_gitlab_runner.py tests/unit/plugins/modules/test_gitlab_user.py tests/unit/plugins/modules/test_homebrew.py tests/unit/plugins/modules/test_homebrew_cask.py tests/unit/plugins/modules/test_icinga2_feature.py tests/unit/plugins/modules/test_ini_file.py tests/unit/plugins/modules/test_ipa_getkeytab.py tests/unit/plugins/modules/test_ipa_otpconfig.py tests/unit/plugins/modules/test_ipa_otptoken.py tests/unit/plugins/modules/test_ipa_pwpolicy.py tests/unit/plugins/modules/test_ipbase.py tests/unit/plugins/modules/test_java_keystore.py tests/unit/plugins/modules/test_jenkins_build.py tests/unit/plugins/modules/test_jenkins_build_info.py tests/unit/plugins/modules/test_jenkins_node.py tests/unit/plugins/modules/test_jenkins_plugin.py tests/unit/plugins/modules/test_keycloak_authentication.py tests/unit/plugins/modules/test_keycloak_authentication_required_actions.py tests/unit/plugins/modules/test_keycloak_client.py tests/unit/plugins/modules/test_keycloak_client_rolemapping.py tests/unit/plugins/modules/test_keycloak_clientscope.py tests/unit/plugins/modules/test_keycloak_component.py tests/unit/plugins/modules/test_keycloak_identity_provider.py tests/unit/plugins/modules/test_keycloak_realm.py tests/unit/plugins/modules/test_keycloak_realm_info.py tests/unit/plugins/modules/test_keycloak_realm_keys.py tests/unit/plugins/modules/test_keycloak_realm_keys_metadata_info.py tests/unit/plugins/modules/test_keycloak_role.py tests/unit/plugins/modules/test_keycloak_user.py tests/unit/plugins/modules/test_keycloak_user_federation.py tests/unit/plugins/modules/test_keycloak_userprofile.py tests/unit/plugins/modules/test_krb_ticket.py tests/unit/plugins/modules/test_linode.py tests/unit/plugins/modules/test_linode_v4.py tests/unit/plugins/modules/test_lvg_rename.py tests/unit/plugins/modules/test_lxca_cmms.py tests/unit/plugins/modules/test_lxca_nodes.py tests/unit/plugins/modules/test_macports.py tests/unit/plugins/modules/test_maven_artifact.py tests/unit/plugins/modules/test_modprobe.py tests/unit/plugins/modules/test_monit.py tests/unit/plugins/modules/test_nmcli.py tests/unit/plugins/modules/test_nomad_token.py tests/unit/plugins/modules/test_npm.py tests/unit/plugins/modules/test_ocapi_command.py tests/unit/plugins/modules/test_ocapi_info.py tests/unit/plugins/modules/test_one_vm.py tests/unit/plugins/modules/test_oneview_datacenter_info.py tests/unit/plugins/modules/test_oneview_enclosure_info.py tests/unit/plugins/modules/test_oneview_ethernet_network.py tests/unit/plugins/modules/test_oneview_ethernet_network_info.py tests/unit/plugins/modules/test_oneview_fc_network.py tests/unit/plugins/modules/test_oneview_fc_network_info.py tests/unit/plugins/modules/test_oneview_fcoe_network.py tests/unit/plugins/modules/test_oneview_fcoe_network_info.py tests/unit/plugins/modules/test_oneview_logical_interconnect_group.py tests/unit/plugins/modules/test_oneview_logical_interconnect_group_info.py tests/unit/plugins/modules/test_oneview_network_set.py tests/unit/plugins/modules/test_oneview_network_set_info.py tests/unit/plugins/modules/test_oneview_san_manager.py tests/unit/plugins/modules/test_oneview_san_manager_info.py tests/unit/plugins/modules/test_opkg.py tests/unit/plugins/modules/test_pacman.py tests/unit/plugins/modules/test_pacman_key.py tests/unit/plugins/modules/test_pagerduty.py tests/unit/plugins/modules/test_pagerduty_alert.py tests/unit/plugins/modules/test_pagerduty_change.py tests/unit/plugins/modules/test_pamd.py tests/unit/plugins/modules/test_parted.py tests/unit/plugins/modules/test_pkgin.py tests/unit/plugins/modules/test_pmem.py tests/unit/plugins/modules/test_pritunl_org.py tests/unit/plugins/modules/test_pritunl_org_info.py tests/unit/plugins/modules/test_pritunl_user.py tests/unit/plugins/modules/test_pritunl_user_info.py tests/unit/plugins/modules/test_proxmox_backup.py tests/unit/plugins/modules/test_proxmox_backup_info.py tests/unit/plugins/modules/test_proxmox_kvm.py tests/unit/plugins/modules/test_proxmox_snap.py tests/unit/plugins/modules/test_proxmox_storage_contents_info.py tests/unit/plugins/modules/test_proxmox_tasks_info.py tests/unit/plugins/modules/test_proxmox_template.py tests/unit/plugins/modules/test_proxmox_vm_info.py tests/unit/plugins/modules/test_puppet.py tests/unit/plugins/modules/test_redhat_subscription.py tests/unit/plugins/modules/test_redis_data.py tests/unit/plugins/modules/test_redis_data_incr.py tests/unit/plugins/modules/test_redis_data_info.py tests/unit/plugins/modules/test_redis_info.py tests/unit/plugins/modules/test_rhsm_release.py tests/unit/plugins/modules/test_rhsm_repository.py tests/unit/plugins/modules/test_rpm_ostree_pkg.py tests/unit/plugins/modules/test_scaleway_compute_private_network.py tests/unit/plugins/modules/test_scaleway_private_network.py tests/unit/plugins/modules/test_simpleinit_msb.py tests/unit/plugins/modules/test_slack.py tests/unit/plugins/modules/test_snap.py tests/unit/plugins/modules/test_solaris_zone.py tests/unit/plugins/modules/test_ss_3par_cpg.py tests/unit/plugins/modules/test_statsd.py tests/unit/plugins/modules/test_sysupgrade.py tests/unit/plugins/modules/test_terraform.py tests/unit/plugins/modules/test_ufw.py tests/unit/plugins/modules/test_usb_facts.py tests/unit/plugins/modules/test_wdc_redfish_command.py tests/unit/plugins/modules/test_wdc_redfish_info.py tests/unit/plugins/modules/test_xcc_redfish_command.py tests/unit/plugins/modules/test_xenserver_guest_info.py tests/unit/plugins/modules/test_xenserver_guest_powerstate.py tests/unit/plugins/modules/test_xfconf.py tests/unit/plugins/modules/test_xfconf_info.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/hrobot tests/unit/plugins/modules/test_boot.py tests/unit/plugins/modules/test_failover_ip.py tests/unit/plugins/modules/test_failover_ip_info.py tests/unit/plugins/modules/test_firewall.py tests/unit/plugins/modules/test_firewall_info.py tests/unit/plugins/modules/test_reset.py tests/unit/plugins/modules/test_reverse_dns.py tests/unit/plugins/modules/test_server.py tests/unit/plugins/modules/test_server_info.py tests/unit/plugins/modules/test_ssh_key.py tests/unit/plugins/modules/test_ssh_key_info.py tests/unit/plugins/modules/test_storagebox.py tests/unit/plugins/modules/test_storagebox_info.py tests/unit/plugins/modules/test_storagebox_set_password.py tests/unit/plugins/modules/test_storagebox_snapshot_plan.py tests/unit/plugins/modules/test_storagebox_snapshot_plan_info.py tests/unit/plugins/modules/test_v_switch.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/library_inventory_filtering_v1/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/library_inventory_filtering_v1 --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/community/library_inventory_filtering_v1 tests/unit/plugins/plugin_utils/test_inventory_filter.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/infoblox/nios_modules/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/infoblox/nios_modules --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/infoblox/nios_modules tests/unit/plugins/modules/test_extensible_attribute.py tests/unit/plugins/modules/test_nios_a_record.py tests/unit/plugins/modules/test_nios_aaaa_record.py tests/unit/plugins/modules/test_nios_cname_record.py tests/unit/plugins/modules/test_nios_dns_view.py tests/unit/plugins/modules/test_nios_dtc_monitor_http.py tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py tests/unit/plugins/modules/test_nios_dtc_topology.py tests/unit/plugins/modules/test_nios_fixed_address.py tests/unit/plugins/modules/test_nios_host_record.py tests/unit/plugins/modules/test_nios_member.py tests/unit/plugins/modules/test_nios_module.py tests/unit/plugins/modules/test_nios_mx_record.py tests/unit/plugins/modules/test_nios_naptr_record.py tests/unit/plugins/modules/test_nios_network.py tests/unit/plugins/modules/test_nios_network_view.py tests/unit/plugins/modules/test_nios_nsgroup.py tests/unit/plugins/modules/test_nios_ptr_record.py tests/unit/plugins/modules/test_nios_srv_record.py tests/unit/plugins/modules/test_nios_zone.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/junipernetworks/junos/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/junipernetworks/junos --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/junipernetworks/junos tests/unit/modules/network/junos/test_junos_bgp_address_family.py tests/unit/modules/network/junos/test_junos_bgp_global.py tests/unit/modules/network/junos/test_junos_command.py tests/unit/modules/network/junos/test_junos_config.py tests/unit/modules/network/junos/test_junos_facts.py tests/unit/modules/network/junos/test_junos_hostname.py tests/unit/modules/network/junos/test_junos_interfaces.py tests/unit/modules/network/junos/test_junos_l2_interfaces.py tests/unit/modules/network/junos/test_junos_l3_interfaces.py tests/unit/modules/network/junos/test_junos_logging_global.py tests/unit/modules/network/junos/test_junos_netconf.py tests/unit/modules/network/junos/test_junos_ntp_global.py tests/unit/modules/network/junos/test_junos_ospf_interfaces.py tests/unit/modules/network/junos/test_junos_ospfv2.py tests/unit/modules/network/junos/test_junos_ospfv3.py tests/unit/modules/network/junos/test_junos_package.py tests/unit/modules/network/junos/test_junos_ping.py tests/unit/modules/network/junos/test_junos_prefix_lists.py tests/unit/modules/network/junos/test_junos_routing_instances.py tests/unit/modules/network/junos/test_junos_routing_options.py tests/unit/modules/network/junos/test_junos_rpc.py tests/unit/modules/network/junos/test_junos_scp.py tests/unit/modules/network/junos/test_junos_security_policies.py tests/unit/modules/network/junos/test_junos_security_policies_global.py tests/unit/modules/network/junos/test_junos_security_zones.py tests/unit/modules/network/junos/test_junos_snmp_server.py tests/unit/modules/network/junos/test_junos_vlans.py tests/unit/plugins/terminal/test_junos.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp_eseries/santricity tests/unit/modules/test_na_santricity_alerts.py tests/unit/modules/test_na_santricity_alerts_syslog.py tests/unit/modules/test_na_santricity_asup.py tests/unit/modules/test_na_santricity_auditlog.py tests/unit/modules/test_na_santricity_auth.py tests/unit/modules/test_na_santricity_client_certificate.py tests/unit/modules/test_na_santricity_discover.py tests/unit/modules/test_na_santricity_drive_firmware.py tests/unit/modules/test_na_santricity_facts.py tests/unit/modules/test_na_santricity_firmware.py tests/unit/modules/test_na_santricity_global.py tests/unit/modules/test_na_santricity_host.py tests/unit/modules/test_na_santricity_hostgroup.py tests/unit/modules/test_na_santricity_ib_iser_interface.py tests/unit/modules/test_na_santricity_iscsi_interface.py tests/unit/modules/test_na_santricity_iscsi_target.py tests/unit/modules/test_na_santricity_ldap.py tests/unit/modules/test_na_santricity_lun_mapping.py tests/unit/modules/test_na_santricity_mgmt_interface.py tests/unit/modules/test_na_santricity_nvme_interface.py tests/unit/modules/test_na_santricity_proxy_drive_firmware_upload.py tests/unit/modules/test_na_santricity_proxy_firmware_upload.py tests/unit/modules/test_na_santricity_proxy_systems.py tests/unit/modules/test_na_santricity_storagepool.py tests/unit/modules/test_na_santricity_syslog.py tests/unit/modules/test_na_santricity_volume.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/ontap/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/ontap --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/netapp/ontap tests/unit/plugins/modules/test_na_ontap_active_directory.py tests/unit/plugins/modules/test_na_ontap_active_directory_domain_controllers.py tests/unit/plugins/modules/test_na_ontap_aggregate.py tests/unit/plugins/modules/test_na_ontap_aggregate_rest.py tests/unit/plugins/modules/test_na_ontap_autosupport.py tests/unit/plugins/modules/test_na_ontap_autosupport_invoke.py tests/unit/plugins/modules/test_na_ontap_bgp_config_rest.py tests/unit/plugins/modules/test_na_ontap_bgp_peer_group.py tests/unit/plugins/modules/test_na_ontap_broadcast_domain.py tests/unit/plugins/modules/test_na_ontap_cg_snapshot.py tests/unit/plugins/modules/test_na_ontap_cg_snapshot_rest.py tests/unit/plugins/modules/test_na_ontap_cifs.py tests/unit/plugins/modules/test_na_ontap_cifs_acl.py tests/unit/plugins/modules/test_na_ontap_cifs_local_group.py tests/unit/plugins/modules/test_na_ontap_cifs_local_group_member.py tests/unit/plugins/modules/test_na_ontap_cifs_local_user.py tests/unit/plugins/modules/test_na_ontap_cifs_local_user_modify.py tests/unit/plugins/modules/test_na_ontap_cifs_local_user_set_password.py tests/unit/plugins/modules/test_na_ontap_cifs_local_user_set_password_rest.py tests/unit/plugins/modules/test_na_ontap_cifs_privileges_rest.py tests/unit/plugins/modules/test_na_ontap_cifs_server.py tests/unit/plugins/modules/test_na_ontap_cifs_unix_symlink_mapping_rest.py tests/unit/plugins/modules/test_na_ontap_cli_timeout_rest.py tests/unit/plugins/modules/test_na_ontap_cluster.py tests/unit/plugins/modules/test_na_ontap_cluster_ha.py tests/unit/plugins/modules/test_na_ontap_cluster_peer.py tests/unit/plugins/modules/test_na_ontap_command.py tests/unit/plugins/modules/test_na_ontap_debug.py tests/unit/plugins/modules/test_na_ontap_disk_options.py tests/unit/plugins/modules/test_na_ontap_disks.py tests/unit/plugins/modules/test_na_ontap_dns.py tests/unit/plugins/modules/test_na_ontap_domain_tunnel.py tests/unit/plugins/modules/test_na_ontap_efficiency_policy.py tests/unit/plugins/modules/test_na_ontap_ems_config_rest.py tests/unit/plugins/modules/test_na_ontap_ems_destination.py tests/unit/plugins/modules/test_na_ontap_ems_filter.py tests/unit/plugins/modules/test_na_ontap_export_policy.py tests/unit/plugins/modules/test_na_ontap_export_policy_rule.py tests/unit/plugins/modules/test_na_ontap_export_policy_rule_rest.py tests/unit/plugins/modules/test_na_ontap_fcp_rest.py tests/unit/plugins/modules/test_na_ontap_fdsd.py tests/unit/plugins/modules/test_na_ontap_fdsp.py tests/unit/plugins/modules/test_na_ontap_fdss.py tests/unit/plugins/modules/test_na_ontap_file_directory_policy.py tests/unit/plugins/modules/test_na_ontap_file_security_permissions.py tests/unit/plugins/modules/test_na_ontap_file_security_permissions_acl.py tests/unit/plugins/modules/test_na_ontap_firewall_policy.py tests/unit/plugins/modules/test_na_ontap_firmware_upgrade.py tests/unit/plugins/modules/test_na_ontap_flexcache.py tests/unit/plugins/modules/test_na_ontap_fpolicy_event.py tests/unit/plugins/modules/test_na_ontap_fpolicy_ext_engine.py tests/unit/plugins/modules/test_na_ontap_fpolicy_policy.py tests/unit/plugins/modules/test_na_ontap_fpolicy_scope.py tests/unit/plugins/modules/test_na_ontap_fpolicy_status.py tests/unit/plugins/modules/test_na_ontap_igroup.py tests/unit/plugins/modules/test_na_ontap_igroup_initiator.py tests/unit/plugins/modules/test_na_ontap_info.py tests/unit/plugins/modules/test_na_ontap_interface.py tests/unit/plugins/modules/test_na_ontap_ipspace.py tests/unit/plugins/modules/test_na_ontap_iscsi.py tests/unit/plugins/modules/test_na_ontap_iscsi_security.py tests/unit/plugins/modules/test_na_ontap_job_schedule.py tests/unit/plugins/modules/test_na_ontap_kerberos_interface.py tests/unit/plugins/modules/test_na_ontap_kerberos_realm.py tests/unit/plugins/modules/test_na_ontap_ldap_client.py tests/unit/plugins/modules/test_na_ontap_license.py tests/unit/plugins/modules/test_na_ontap_license_nlf.py tests/unit/plugins/modules/test_na_ontap_local_hosts.py tests/unit/plugins/modules/test_na_ontap_log_forward.py tests/unit/plugins/modules/test_na_ontap_login_messages.py tests/unit/plugins/modules/test_na_ontap_lun.py tests/unit/plugins/modules/test_na_ontap_lun_app_rest.py tests/unit/plugins/modules/test_na_ontap_lun_copy.py tests/unit/plugins/modules/test_na_ontap_lun_map.py tests/unit/plugins/modules/test_na_ontap_lun_map_reporting_nodes.py tests/unit/plugins/modules/test_na_ontap_lun_map_rest.py tests/unit/plugins/modules/test_na_ontap_lun_rest.py tests/unit/plugins/modules/test_na_ontap_mcc_mediator.py tests/unit/plugins/modules/test_na_ontap_metrocluster.py tests/unit/plugins/modules/test_na_ontap_metrocluster_dr_group.py tests/unit/plugins/modules/test_na_ontap_motd.py tests/unit/plugins/modules/test_na_ontap_name_mappings.py tests/unit/plugins/modules/test_na_ontap_name_service_switch.py tests/unit/plugins/modules/test_na_ontap_ndmp.py tests/unit/plugins/modules/test_na_ontap_net_ifgrp.py tests/unit/plugins/modules/test_na_ontap_net_port.py tests/unit/plugins/modules/test_na_ontap_net_routes.py tests/unit/plugins/modules/test_na_ontap_net_subnet.py tests/unit/plugins/modules/test_na_ontap_net_vlan.py tests/unit/plugins/modules/test_na_ontap_nfs.py tests/unit/plugins/modules/test_na_ontap_nfs_rest.py tests/unit/plugins/modules/test_na_ontap_node.py tests/unit/plugins/modules/test_na_ontap_ntfs_dacl.py tests/unit/plugins/modules/test_na_ontap_ntfs_sd.py tests/unit/plugins/modules/test_na_ontap_ntp.py tests/unit/plugins/modules/test_na_ontap_ntp_key.py tests/unit/plugins/modules/test_na_ontap_nvme.py tests/unit/plugins/modules/test_na_ontap_nvme_namespace.py tests/unit/plugins/modules/test_na_ontap_nvme_namespace_rest.py tests/unit/plugins/modules/test_na_ontap_nvme_rest.py tests/unit/plugins/modules/test_na_ontap_nvme_subsystem.py tests/unit/plugins/modules/test_na_ontap_nvme_subsystem_rest.py tests/unit/plugins/modules/test_na_ontap_object_store.py tests/unit/plugins/modules/test_na_ontap_partitions.py tests/unit/plugins/modules/test_na_ontap_ports.py tests/unit/plugins/modules/test_na_ontap_portset.py tests/unit/plugins/modules/test_na_ontap_publickey.py tests/unit/plugins/modules/test_na_ontap_qos_adaptive_policy_group.py tests/unit/plugins/modules/test_na_ontap_qos_policy_group.py tests/unit/plugins/modules/test_na_ontap_qtree.py tests/unit/plugins/modules/test_na_ontap_quota_policy.py tests/unit/plugins/modules/test_na_ontap_quotas.py tests/unit/plugins/modules/test_na_ontap_rest_cli.py tests/unit/plugins/modules/test_na_ontap_rest_info.py tests/unit/plugins/modules/test_na_ontap_restit.py tests/unit/plugins/modules/test_na_ontap_s3_buckets.py tests/unit/plugins/modules/test_na_ontap_s3_groups.py tests/unit/plugins/modules/test_na_ontap_s3_policies.py tests/unit/plugins/modules/test_na_ontap_s3_services.py tests/unit/plugins/modules/test_na_ontap_s3_users.py tests/unit/plugins/modules/test_na_ontap_security_certificates.py tests/unit/plugins/modules/test_na_ontap_security_config.py tests/unit/plugins/modules/test_na_ontap_security_ipsec_ca_certificate.py tests/unit/plugins/modules/test_na_ontap_security_ipsec_config.py tests/unit/plugins/modules/test_na_ontap_security_ipsec_policy.py tests/unit/plugins/modules/test_na_ontap_security_key_manager.py tests/unit/plugins/modules/test_na_ontap_security_ssh.py tests/unit/plugins/modules/test_na_ontap_service_policy.py tests/unit/plugins/modules/test_na_ontap_service_processor_network.py tests/unit/plugins/modules/test_na_ontap_snaplock_clock.py tests/unit/plugins/modules/test_na_ontap_snapmirror.py tests/unit/plugins/modules/test_na_ontap_snapmirror_policy.py tests/unit/plugins/modules/test_na_ontap_snapshot.py tests/unit/plugins/modules/test_na_ontap_snapshot_policy.py tests/unit/plugins/modules/test_na_ontap_snapshot_policy_rest.py tests/unit/plugins/modules/test_na_ontap_snmp.py tests/unit/plugins/modules/test_na_ontap_snmp_config_rest.py tests/unit/plugins/modules/test_na_ontap_snmp_traphosts.py tests/unit/plugins/modules/test_na_ontap_software_update.py tests/unit/plugins/modules/test_na_ontap_storage_auto_giveback.py tests/unit/plugins/modules/test_na_ontap_storage_failover.py tests/unit/plugins/modules/test_na_ontap_svm.py tests/unit/plugins/modules/test_na_ontap_template.py tests/unit/plugins/modules/test_na_ontap_ucadapter.py tests/unit/plugins/modules/test_na_ontap_unix_group.py tests/unit/plugins/modules/test_na_ontap_unix_user.py tests/unit/plugins/modules/test_na_ontap_user.py tests/unit/plugins/modules/test_na_ontap_user_dicts.py tests/unit/plugins/modules/test_na_ontap_user_role.py tests/unit/plugins/modules/test_na_ontap_user_role_rest.py tests/unit/plugins/modules/test_na_ontap_volume.py tests/unit/plugins/modules/test_na_ontap_volume_autosize.py tests/unit/plugins/modules/test_na_ontap_volume_clone.py tests/unit/plugins/modules/test_na_ontap_volume_clone_rest.py tests/unit/plugins/modules/test_na_ontap_volume_efficiency.py tests/unit/plugins/modules/test_na_ontap_volume_rest.py tests/unit/plugins/modules/test_na_ontap_volume_snaplock.py tests/unit/plugins/modules/test_na_ontap_vscan.py tests/unit/plugins/modules/test_na_ontap_vscan_on_access_policy.py tests/unit/plugins/modules/test_na_ontap_vscan_on_demand_task.py tests/unit/plugins/modules/test_na_ontap_vscan_on_demand_task_rest.py tests/unit/plugins/modules/test_na_ontap_vscan_scanner_pool.py tests/unit/plugins/modules/test_na_ontap_vscan_scanner_pool_rest.py tests/unit/plugins/modules/test_na_ontap_vserver_audit.py tests/unit/plugins/modules/test_na_ontap_vserver_cifs_security.py tests/unit/plugins/modules/test_na_ontap_vserver_peer.py tests/unit/plugins/modules/test_na_ontap_vserver_peer_permissions.py tests/unit/plugins/modules/test_na_ontap_wait_for_condition.py tests/unit/plugins/modules/test_na_ontap_wwpn_alias.py tests/unit/plugins/modules/test_na_ontap_zapit.py tests/unit/plugins/modules/test_ontap_fdspt.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ngine_io/cloudstack/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ngine_io/cloudstack --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/ngine_io/cloudstack tests/unit/modules/test_cs_traffic_type.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/sensu/sensu_go tests/unit/plugins/modules/test_ad_auth_provider.py tests/unit/plugins/modules/test_asset.py tests/unit/plugins/modules/test_asset_info.py tests/unit/plugins/modules/test_auth_provider_info.py tests/unit/plugins/modules/test_bonsai_asset.py tests/unit/plugins/modules/test_check.py tests/unit/plugins/modules/test_check_info.py tests/unit/plugins/modules/test_cluster.py tests/unit/plugins/modules/test_cluster_info.py tests/unit/plugins/modules/test_cluster_role.py tests/unit/plugins/modules/test_cluster_role_binding.py tests/unit/plugins/modules/test_cluster_role_binding_info.py tests/unit/plugins/modules/test_cluster_role_info.py tests/unit/plugins/modules/test_datastore.py tests/unit/plugins/modules/test_datastore_info.py tests/unit/plugins/modules/test_entity.py tests/unit/plugins/modules/test_entity_info.py tests/unit/plugins/modules/test_etcd_replicator.py tests/unit/plugins/modules/test_etcd_replicator_info.py tests/unit/plugins/modules/test_event.py tests/unit/plugins/modules/test_event_info.py tests/unit/plugins/modules/test_filter.py tests/unit/plugins/modules/test_filter_info.py tests/unit/plugins/modules/test_handler_set.py tests/unit/plugins/modules/test_hook.py tests/unit/plugins/modules/test_hook_info.py tests/unit/plugins/modules/test_ldap_auth_provider.py tests/unit/plugins/modules/test_mutator.py tests/unit/plugins/modules/test_mutator_info.py tests/unit/plugins/modules/test_namespace.py tests/unit/plugins/modules/test_namespace_info.py tests/unit/plugins/modules/test_oidc_auth_provider.py tests/unit/plugins/modules/test_pipe_handler.py tests/unit/plugins/modules/test_pipe_handler_info.py tests/unit/plugins/modules/test_pipeline.py tests/unit/plugins/modules/test_pipeline_info.py tests/unit/plugins/modules/test_role.py tests/unit/plugins/modules/test_role_binding.py tests/unit/plugins/modules/test_role_binding_info.py tests/unit/plugins/modules/test_role_info.py tests/unit/plugins/modules/test_secret.py tests/unit/plugins/modules/test_secret_info.py tests/unit/plugins/modules/test_secrets_provider_env.py tests/unit/plugins/modules/test_secrets_provider_info.py tests/unit/plugins/modules/test_secrets_provider_vault.py tests/unit/plugins/modules/test_silence.py tests/unit/plugins/modules/test_silence_info.py tests/unit/plugins/modules/test_socket_handler.py tests/unit/plugins/modules/test_tessen.py tests/unit/plugins/modules/test_user.py tests/unit/plugins/modules/test_user_info.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/splunk/es/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/splunk/es --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/splunk/es tests/unit/plugins/action/test_es_adaptive_response_notable_events.py tests/unit/plugins/action/test_es_correlation_searches.py tests/unit/plugins/action/test_es_data_inputs_monitors.py tests/unit/plugins/action/test_es_data_inputs_network.py" returned exit status 1. 1957s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vmware/vmware/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vmware/vmware --confcutdir /tmp/autopkgtest.MVrQ9J/build.8ab/src/ansible_collections/vmware/vmware tests/unit/plugins/modules/test_appliance_info.py tests/unit/plugins/modules/test_cluster.py tests/unit/plugins/modules/test_cluster_info.py tests/unit/plugins/modules/test_cluster_vcls.py tests/unit/plugins/modules/test_content_library_item_info.py tests/unit/plugins/modules/test_esxi_maintenance_mode.py tests/unit/plugins/modules/test_guest_info.py tests/unit/plugins/modules/test_license_info.py tests/unit/plugins/modules/test_utils_module_pyvmomi_base.py tests/unit/plugins/modules/test_utils_module_rest_base.py tests/unit/plugins/modules/test_utils_pyvmomi_client.py tests/unit/plugins/modules/test_utils_rest_client.py tests/unit/plugins/modules/test_vm_list_group_by_clusters_info.py" returned exit status 1. 1957s autopkgtest [06:26:54]: @@@@@@@@@@@@@@@@@@@@ summary 1957s unit-tests-stable.py PASS 1957s unit-tests-flaky.py FLAKY non-zero exit status 1 1964s nova [W] Using flock in prodstack6-arm64 1964s flock: timeout while waiting to get lock 1964s Creating nova instance adt-questing-arm64-ansible-20250502-055417-juju-7f2275-prod-proposed-migration-environment-15-005b8f7f-258c-4af9-a52e-5f760073aa20 from image adt/ubuntu-questing-arm64-server-20250502.img (UUID a0b7b7fd-ad05-4ea9-97eb-0f52dbbe98e1)... 1964s nova [W] Timed out waiting for ff85e17e-fe60-46e3-9312-9e4efe1298c9 to get deleted. 1964s nova [W] Using flock in prodstack6-arm64 1964s Creating nova instance adt-questing-arm64-ansible-20250502-055417-juju-7f2275-prod-proposed-migration-environment-15-005b8f7f-258c-4af9-a52e-5f760073aa20 from image adt/ubuntu-questing-arm64-server-20250502.img (UUID a0b7b7fd-ad05-4ea9-97eb-0f52dbbe98e1)... 1964s nova [W] Timed out waiting for c5b2d21d-d487-4ef9-a310-713b836a7e5e to get deleted.