0s autopkgtest [07:49:42]: starting date and time: 2025-05-02 07:49:42+0000 0s autopkgtest [07:49:42]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production' 0s autopkgtest [07:49:42]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.b_p907l3/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-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-ppc64el-3.secgroup --name adt-questing-ppc64el-ansible-20250502-074942-juju-7f2275-prod-proposed-migration-environment-15-8bce4135-85bd-47b8-a8d3-ee686d46594b --image adt/ubuntu-questing-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 87s autopkgtest [07:51:09]: testbed dpkg architecture: ppc64el 87s autopkgtest [07:51:09]: testbed apt version: 3.0.0 88s autopkgtest [07:51:10]: @@@@@@@@@@@@@@@@@@@@ test bed setup 88s autopkgtest [07:51:10]: testbed release detected to be: None 89s autopkgtest [07:51:11]: updating testbed package index (apt update) 89s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 89s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 89s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 89s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 90s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [184 kB] 90s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2202 kB] 90s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [57.4 kB] 90s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main ppc64el Packages [221 kB] 90s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el Packages [1320 kB] 90s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse ppc64el Packages [16.5 kB] 90s Fetched 4111 kB in 1s (2930 kB/s) 91s Reading package lists... 92s autopkgtest [07:51:14]: upgrading testbed (apt dist-upgrade and autopurge) 92s Reading package lists... 92s Building dependency tree... 92s Reading state information... 92s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 92s Starting 2 pkgProblemResolver with broken count: 0 92s Done 93s Entering ResolveByKeep 93s 93s Calculating upgrade... 93s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 93s Reading package lists... 94s Building dependency tree... 94s Reading state information... 94s Starting pkgProblemResolver with broken count: 0 94s Starting 2 pkgProblemResolver with broken count: 0 94s Done 94s Solving dependencies... 94s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 97s autopkgtest [07:51:19]: testbed running kernel: Linux 6.14.0-15-generic #15-Ubuntu SMP Sun Apr 6 14:52:42 UTC 2025 97s autopkgtest [07:51:19]: @@@@@@@@@@@@@@@@@@@@ apt-source ansible 100s Get:1 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (dsc) [3353 B] 100s Get:2 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (tar) [26.7 MB] 100s Get:3 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (diff) [32.9 kB] 100s gpgv: Signature made Thu Feb 27 17:38:46 2025 UTC 100s gpgv: using RSA key D847C62510A9C2FF242CE02CD604A1C4823EE0F8 100s gpgv: Can't check signature: No public key 100s dpkg-source: warning: cannot verify inline signature for ./ansible_11.2.0+dfsg-1.dsc: no acceptable signature found 105s autopkgtest [07:51:27]: testing package ansible version 11.2.0+dfsg-1 105s autopkgtest [07:51:27]: build not needed 120s autopkgtest [07:51:42]: test unit-tests-stable.py: preparing testbed 121s Reading package lists... 121s Building dependency tree... 121s Reading state information... 121s Starting pkgProblemResolver with broken count: 0 121s Starting 2 pkgProblemResolver with broken count: 0 121s Done 121s The following NEW packages will be installed: 121s ansible ansible-core fontconfig-config fonts-dejavu-core fonts-dejavu-mono 121s gir1.2-secret-1 git git-man libcairo-gobject2 libcairo2 liberror-perl 121s libfontconfig1 libpixman-1-0 libsecret-1-0 libsecret-common libsodium23 121s libxcb-render0 libxcb-shm0 libxrender1 libxslt1.1 python3-adal 121s python3-aiohappyeyeballs python3-aiohttp python3-aiosignal 121s python3-async-timeout python3-avro python3-azure python3-azure-storage 121s python3-boto3 python3-botocore python3-cachetools python3-cairo 121s python3-click python3-colorama python3-dateutil python3-deprecated 121s python3-dnspython python3-execnet python3-flake8 python3-freezegun 121s python3-frozenlist python3-gi-cairo python3-gitlab python3-google-auth 121s python3-httmock python3-hvac python3-iniconfig python3-isodate 121s python3-jmespath python3-joblib python3-kubernetes python3-lxml 121s python3-marshmallow python3-mccabe python3-mock python3-msal 121s python3-msal-extensions python3-msrest python3-msrestazure python3-multidict 121s python3-nacl python3-nltk python3-packaging python3-paramiko 121s python3-pathspec python3-pluggy python3-portalocker python3-proxmoxer 121s python3-psutil python3-py python3-pyasn1 python3-pyasn1-modules 121s python3-pycodestyle python3-pydash python3-pyflakes python3-pyhcl 121s python3-pytest python3-pytest-forked python3-pytest-mock 121s python3-pytest-xdist python3-pyu2f python3-pyvmomi python3-redis 121s python3-regex python3-requests-oauthlib python3-requests-toolbelt 121s python3-resolvelib python3-responses python3-rsa python3-ruamel.yaml 121s python3-ruamel.yaml.clib python3-s3transfer python3-six python3-strictyaml 121s python3-textfsm python3-tqdm python3-websocket python3-wrapt 121s python3-xmltodict python3-yarl yamllint 121s 0 upgraded, 101 newly installed, 0 to remove and 0 not upgraded. 121s Need to get 62.6 MB of archives. 121s After this operation, 1005 MB of additional disk space will be used. 121s Get:1 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-packaging all 24.2-1 [51.5 kB] 122s Get:2 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-resolvelib all 1.1.0-1 [25.8 kB] 122s Get:3 http://ftpmaster.internal/ubuntu questing/main ppc64el libsodium23 ppc64el 1.0.18-1build3 [150 kB] 122s Get:4 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-nacl ppc64el 1.5.0-7 [59.1 kB] 122s Get:5 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-paramiko all 3.5.1-2ubuntu1 [147 kB] 122s Get:6 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 122s Get:7 http://ftpmaster.internal/ubuntu questing/universe ppc64el ansible-core all 2.18.1-4ubuntu1 [1273 kB] 122s Get:8 http://ftpmaster.internal/ubuntu questing/universe ppc64el ansible all 11.2.0+dfsg-1 [18.1 MB] 122s Get:9 http://ftpmaster.internal/ubuntu questing/main ppc64el fonts-dejavu-mono all 2.37-8 [502 kB] 123s Get:10 http://ftpmaster.internal/ubuntu questing/main ppc64el fonts-dejavu-core all 2.37-8 [835 kB] 123s Get:11 http://ftpmaster.internal/ubuntu questing/main ppc64el fontconfig-config ppc64el 2.15.0-2.2ubuntu1 [37.9 kB] 123s Get:12 http://ftpmaster.internal/ubuntu questing/main ppc64el libsecret-common all 0.21.7-1 [5160 B] 123s Get:13 http://ftpmaster.internal/ubuntu questing/main ppc64el libsecret-1-0 ppc64el 0.21.7-1 [126 kB] 123s Get:14 http://ftpmaster.internal/ubuntu questing/main ppc64el gir1.2-secret-1 ppc64el 0.21.7-1 [9396 B] 123s Get:15 http://ftpmaster.internal/ubuntu questing/main ppc64el liberror-perl all 0.17030-1 [23.5 kB] 123s Get:16 http://ftpmaster.internal/ubuntu questing/main ppc64el git-man all 1:2.48.1-0ubuntu1 [1148 kB] 123s Get:17 http://ftpmaster.internal/ubuntu questing/main ppc64el git ppc64el 1:2.48.1-0ubuntu1 [7338 kB] 123s Get:18 http://ftpmaster.internal/ubuntu questing/main ppc64el libfontconfig1 ppc64el 2.15.0-2.2ubuntu1 [187 kB] 123s Get:19 http://ftpmaster.internal/ubuntu questing/main ppc64el libpixman-1-0 ppc64el 0.44.0-3 [334 kB] 123s Get:20 http://ftpmaster.internal/ubuntu questing/main ppc64el libxcb-render0 ppc64el 1.17.0-2 [17.2 kB] 123s Get:21 http://ftpmaster.internal/ubuntu questing/main ppc64el libxcb-shm0 ppc64el 1.17.0-2 [5980 B] 123s Get:22 http://ftpmaster.internal/ubuntu questing/main ppc64el libxrender1 ppc64el 1:0.9.10-1.1build1 [23.1 kB] 123s Get:23 http://ftpmaster.internal/ubuntu questing/main ppc64el libcairo2 ppc64el 1.18.4-1 [746 kB] 123s Get:24 http://ftpmaster.internal/ubuntu questing/main ppc64el libcairo-gobject2 ppc64el 1.18.4-1 [128 kB] 123s Get:25 http://ftpmaster.internal/ubuntu questing/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1ubuntu4 [191 kB] 123s Get:26 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-dateutil all 2.9.0-4 [80.3 kB] 123s Get:27 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-adal all 1.2.7-5 [33.0 kB] 123s Get:28 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiohappyeyeballs all 2.6.1-1 [11.1 kB] 123s Get:29 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-multidict ppc64el 6.2.0-2 [37.9 kB] 123s Get:30 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-yarl ppc64el 1.13.1-1build2 [102 kB] 123s Get:31 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-async-timeout all 5.0.1-1 [6830 B] 123s Get:32 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-frozenlist ppc64el 1.5.0-1build2 [53.2 kB] 123s Get:33 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiosignal all 1.3.2-1 [5182 B] 123s Get:34 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiohttp ppc64el 3.10.11-1build1 [315 kB] 123s Get:35 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-avro all 1.12.0+dfsg-1 [75.3 kB] 123s Get:36 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-isodate all 0.7.0-1 [18.6 kB] 123s Get:37 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 123s Get:38 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msrest all 0.6.21-5 [48.7 kB] 123s Get:39 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msrestazure all 0.6.4-4 [27.1 kB] 123s Get:40 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el python3-azure-storage all 20250401+git-1 [300 kB] 123s Get:41 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 123s Get:42 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-marshmallow all 3.26.1-0.2 [47.5 kB] 123s Get:43 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msal all 1.32.0-1 [100 kB] 123s Get:44 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-cairo ppc64el 1.27.0-2 [129 kB] 123s Get:45 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-gi-cairo ppc64el 3.50.0-4build1 [8252 B] 123s Get:46 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-portalocker all 2.2.1-1 [17.2 kB] 123s Get:47 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msal-extensions all 1.3.1-1 [18.2 kB] 123s Get:48 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 123s Get:49 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-joblib all 1.4.2-3 [205 kB] 123s Get:50 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-regex ppc64el 0.1.20241106-1build1 [326 kB] 123s Get:51 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-tqdm all 4.67.1-3 [91.6 kB] 123s Get:52 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-nltk all 3.9.1-2 [1006 kB] 123s Get:53 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-psutil ppc64el 5.9.8-2build3 [197 kB] 123s Get:54 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pydash all 8.0.3-3 [93.0 kB] 123s Get:55 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-six all 1.17.0-1 [13.2 kB] 123s Get:56 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.12+ds-1build1 [169 kB] 123s Get:57 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 123s Get:58 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-strictyaml all 1.6.1-3 [89.1 kB] 123s Get:59 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-websocket all 1.8.0-2 [38.5 kB] 123s Get:60 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el python3-azure all 20250401+git-1 [16.0 MB] 124s Get:61 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-jmespath all 1.0.1-1 [21.3 kB] 124s Get:62 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-botocore all 1.37.9+repack-1 [6982 kB] 124s Get:63 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-s3transfer all 0.11.2-2 [55.5 kB] 124s Get:64 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-boto3 all 1.37.9-1 [73.0 kB] 124s Get:65 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-cachetools all 5.3.3-1 [10.3 kB] 124s Get:66 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-wrapt ppc64el 1.15.0-4build1 [35.7 kB] 124s Get:67 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-deprecated all 1.2.18-1 [10.6 kB] 124s Get:68 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-execnet all 2.1.1-1 [33.4 kB] 124s Get:69 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-mccabe all 0.7.0-1 [8678 B] 124s Get:70 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pycodestyle all 2.12.1-2 [30.2 kB] 124s Get:71 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyflakes all 3.2.0-3 [53.0 kB] 124s Get:72 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-flake8 all 7.1.1-3 [44.0 kB] 124s Get:73 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-freezegun all 1.5.1-1.2 [15.9 kB] 124s Get:74 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-requests-toolbelt all 1.0.0-4 [37.0 kB] 124s Get:75 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-gitlab all 1:4.9.0-1 [75.0 kB] 124s Get:76 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-pyasn1 all 0.6.1-1 [56.4 kB] 124s Get:77 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-pyasn1-modules all 0.4.1-2 [80.3 kB] 124s Get:78 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyu2f all 0.1.5-4 [22.9 kB] 124s Get:79 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-responses all 0.25.6-1 [40.5 kB] 124s Get:80 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-rsa all 4.9-2 [28.2 kB] 124s Get:81 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-google-auth all 2.28.2-3 [91.0 kB] 124s Get:82 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-httmock all 1.4.0-5 [6544 B] 124s Get:83 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyhcl all 0.4.4-6 [43.1 kB] 124s Get:84 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-hvac all 2.3.0-3 [88.1 kB] 124s Get:85 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 124s Get:86 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-kubernetes all 30.1.0-2 [385 kB] 124s Get:87 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-lxml ppc64el 5.3.2-1 [1393 kB] 124s Get:88 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pathspec all 0.12.1-1 [24.5 kB] 124s Get:89 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB] 124s Get:90 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-proxmoxer all 2.2.0-1 [16.2 kB] 124s Get:91 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-py all 1.11.0-4 [72.7 kB] 124s Get:92 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest all 8.3.5-1 [252 kB] 124s Get:93 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-forked all 1.6.0-3 [7470 B] 124s Get:94 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-mock all 3.14.0-2 [11.7 kB] 124s Get:95 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-xdist all 3.6.1-1 [33.8 kB] 124s Get:96 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyvmomi all 8.0.3.0.1-1 [532 kB] 124s Get:97 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-redis all 4.3.4-4 [166 kB] 124s Get:98 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-textfsm all 1.1.3-3 [29.3 kB] 124s Get:99 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-xmltodict all 0.13.0-1 [13.4 kB] 124s Get:100 http://ftpmaster.internal/ubuntu questing/universe ppc64el yamllint all 1.35.1-2 [43.6 kB] 124s Get:101 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-mock all 5.1.0-1 [64.1 kB] 125s Fetched 62.6 MB in 3s (21.9 MB/s) 125s Selecting previously unselected package python3-packaging. 125s (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 ... 107206 files and directories currently installed.) 125s Preparing to unpack .../000-python3-packaging_24.2-1_all.deb ... 125s Unpacking python3-packaging (24.2-1) ... 125s Selecting previously unselected package python3-resolvelib. 125s Preparing to unpack .../001-python3-resolvelib_1.1.0-1_all.deb ... 125s Unpacking python3-resolvelib (1.1.0-1) ... 125s Selecting previously unselected package libsodium23:ppc64el. 125s Preparing to unpack .../002-libsodium23_1.0.18-1build3_ppc64el.deb ... 125s Unpacking libsodium23:ppc64el (1.0.18-1build3) ... 125s Selecting previously unselected package python3-nacl. 125s Preparing to unpack .../003-python3-nacl_1.5.0-7_ppc64el.deb ... 125s Unpacking python3-nacl (1.5.0-7) ... 125s Selecting previously unselected package python3-paramiko. 125s Preparing to unpack .../004-python3-paramiko_3.5.1-2ubuntu1_all.deb ... 125s Unpacking python3-paramiko (3.5.1-2ubuntu1) ... 125s Selecting previously unselected package python3-dnspython. 125s Preparing to unpack .../005-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 125s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 125s Selecting previously unselected package ansible-core. 125s Preparing to unpack .../006-ansible-core_2.18.1-4ubuntu1_all.deb ... 125s Unpacking ansible-core (2.18.1-4ubuntu1) ... 125s Selecting previously unselected package ansible. 125s Preparing to unpack .../007-ansible_11.2.0+dfsg-1_all.deb ... 125s Unpacking ansible (11.2.0+dfsg-1) ... 128s Selecting previously unselected package fonts-dejavu-mono. 128s Preparing to unpack .../008-fonts-dejavu-mono_2.37-8_all.deb ... 128s Unpacking fonts-dejavu-mono (2.37-8) ... 128s Selecting previously unselected package fonts-dejavu-core. 128s Preparing to unpack .../009-fonts-dejavu-core_2.37-8_all.deb ... 128s Unpacking fonts-dejavu-core (2.37-8) ... 128s Selecting previously unselected package fontconfig-config. 128s Preparing to unpack .../010-fontconfig-config_2.15.0-2.2ubuntu1_ppc64el.deb ... 129s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ... 129s Selecting previously unselected package libsecret-common. 129s Preparing to unpack .../011-libsecret-common_0.21.7-1_all.deb ... 129s Unpacking libsecret-common (0.21.7-1) ... 129s Selecting previously unselected package libsecret-1-0:ppc64el. 129s Preparing to unpack .../012-libsecret-1-0_0.21.7-1_ppc64el.deb ... 129s Unpacking libsecret-1-0:ppc64el (0.21.7-1) ... 129s Selecting previously unselected package gir1.2-secret-1:ppc64el. 129s Preparing to unpack .../013-gir1.2-secret-1_0.21.7-1_ppc64el.deb ... 129s Unpacking gir1.2-secret-1:ppc64el (0.21.7-1) ... 129s Selecting previously unselected package liberror-perl. 129s Preparing to unpack .../014-liberror-perl_0.17030-1_all.deb ... 129s Unpacking liberror-perl (0.17030-1) ... 129s Selecting previously unselected package git-man. 129s Preparing to unpack .../015-git-man_1%3a2.48.1-0ubuntu1_all.deb ... 129s Unpacking git-man (1:2.48.1-0ubuntu1) ... 129s Selecting previously unselected package git. 129s Preparing to unpack .../016-git_1%3a2.48.1-0ubuntu1_ppc64el.deb ... 129s Unpacking git (1:2.48.1-0ubuntu1) ... 129s Selecting previously unselected package libfontconfig1:ppc64el. 129s Preparing to unpack .../017-libfontconfig1_2.15.0-2.2ubuntu1_ppc64el.deb ... 129s Unpacking libfontconfig1:ppc64el (2.15.0-2.2ubuntu1) ... 129s Selecting previously unselected package libpixman-1-0:ppc64el. 129s Preparing to unpack .../018-libpixman-1-0_0.44.0-3_ppc64el.deb ... 129s Unpacking libpixman-1-0:ppc64el (0.44.0-3) ... 129s Selecting previously unselected package libxcb-render0:ppc64el. 129s Preparing to unpack .../019-libxcb-render0_1.17.0-2_ppc64el.deb ... 129s Unpacking libxcb-render0:ppc64el (1.17.0-2) ... 129s Selecting previously unselected package libxcb-shm0:ppc64el. 129s Preparing to unpack .../020-libxcb-shm0_1.17.0-2_ppc64el.deb ... 129s Unpacking libxcb-shm0:ppc64el (1.17.0-2) ... 129s Selecting previously unselected package libxrender1:ppc64el. 129s Preparing to unpack .../021-libxrender1_1%3a0.9.10-1.1build1_ppc64el.deb ... 129s Unpacking libxrender1:ppc64el (1:0.9.10-1.1build1) ... 129s Selecting previously unselected package libcairo2:ppc64el. 129s Preparing to unpack .../022-libcairo2_1.18.4-1_ppc64el.deb ... 129s Unpacking libcairo2:ppc64el (1.18.4-1) ... 129s Selecting previously unselected package libcairo-gobject2:ppc64el. 129s Preparing to unpack .../023-libcairo-gobject2_1.18.4-1_ppc64el.deb ... 129s Unpacking libcairo-gobject2:ppc64el (1.18.4-1) ... 129s Selecting previously unselected package libxslt1.1:ppc64el. 129s Preparing to unpack .../024-libxslt1.1_1.1.39-0exp1ubuntu4_ppc64el.deb ... 129s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1ubuntu4) ... 129s Selecting previously unselected package python3-dateutil. 129s Preparing to unpack .../025-python3-dateutil_2.9.0-4_all.deb ... 129s Unpacking python3-dateutil (2.9.0-4) ... 129s Selecting previously unselected package python3-adal. 129s Preparing to unpack .../026-python3-adal_1.2.7-5_all.deb ... 129s Unpacking python3-adal (1.2.7-5) ... 129s Selecting previously unselected package python3-aiohappyeyeballs. 129s Preparing to unpack .../027-python3-aiohappyeyeballs_2.6.1-1_all.deb ... 129s Unpacking python3-aiohappyeyeballs (2.6.1-1) ... 129s Selecting previously unselected package python3-multidict. 129s Preparing to unpack .../028-python3-multidict_6.2.0-2_ppc64el.deb ... 129s Unpacking python3-multidict (6.2.0-2) ... 129s Selecting previously unselected package python3-yarl. 129s Preparing to unpack .../029-python3-yarl_1.13.1-1build2_ppc64el.deb ... 129s Unpacking python3-yarl (1.13.1-1build2) ... 129s Selecting previously unselected package python3-async-timeout. 129s Preparing to unpack .../030-python3-async-timeout_5.0.1-1_all.deb ... 129s Unpacking python3-async-timeout (5.0.1-1) ... 129s Selecting previously unselected package python3-frozenlist. 129s Preparing to unpack .../031-python3-frozenlist_1.5.0-1build2_ppc64el.deb ... 129s Unpacking python3-frozenlist (1.5.0-1build2) ... 129s Selecting previously unselected package python3-aiosignal. 129s Preparing to unpack .../032-python3-aiosignal_1.3.2-1_all.deb ... 129s Unpacking python3-aiosignal (1.3.2-1) ... 129s Selecting previously unselected package python3-aiohttp. 130s Preparing to unpack .../033-python3-aiohttp_3.10.11-1build1_ppc64el.deb ... 130s Unpacking python3-aiohttp (3.10.11-1build1) ... 130s Selecting previously unselected package python3-avro. 130s Preparing to unpack .../034-python3-avro_1.12.0+dfsg-1_all.deb ... 130s Unpacking python3-avro (1.12.0+dfsg-1) ... 130s Selecting previously unselected package python3-isodate. 130s Preparing to unpack .../035-python3-isodate_0.7.0-1_all.deb ... 130s Unpacking python3-isodate (0.7.0-1) ... 130s Selecting previously unselected package python3-requests-oauthlib. 130s Preparing to unpack .../036-python3-requests-oauthlib_1.3.1-1_all.deb ... 130s Unpacking python3-requests-oauthlib (1.3.1-1) ... 130s Selecting previously unselected package python3-msrest. 130s Preparing to unpack .../037-python3-msrest_0.6.21-5_all.deb ... 130s Unpacking python3-msrest (0.6.21-5) ... 130s Selecting previously unselected package python3-msrestazure. 130s Preparing to unpack .../038-python3-msrestazure_0.6.4-4_all.deb ... 130s Unpacking python3-msrestazure (0.6.4-4) ... 130s Selecting previously unselected package python3-azure-storage. 130s Preparing to unpack .../039-python3-azure-storage_20250401+git-1_all.deb ... 130s Unpacking python3-azure-storage (20250401+git-1) ... 130s Selecting previously unselected package python3-colorama. 130s Preparing to unpack .../040-python3-colorama_0.4.6-4_all.deb ... 130s Unpacking python3-colorama (0.4.6-4) ... 130s Selecting previously unselected package python3-marshmallow. 130s Preparing to unpack .../041-python3-marshmallow_3.26.1-0.2_all.deb ... 130s Unpacking python3-marshmallow (3.26.1-0.2) ... 130s Selecting previously unselected package python3-msal. 130s Preparing to unpack .../042-python3-msal_1.32.0-1_all.deb ... 130s Unpacking python3-msal (1.32.0-1) ... 130s Selecting previously unselected package python3-cairo. 130s Preparing to unpack .../043-python3-cairo_1.27.0-2_ppc64el.deb ... 130s Unpacking python3-cairo (1.27.0-2) ... 130s Selecting previously unselected package python3-gi-cairo. 130s Preparing to unpack .../044-python3-gi-cairo_3.50.0-4build1_ppc64el.deb ... 130s Unpacking python3-gi-cairo (3.50.0-4build1) ... 130s Selecting previously unselected package python3-portalocker. 130s Preparing to unpack .../045-python3-portalocker_2.2.1-1_all.deb ... 130s Unpacking python3-portalocker (2.2.1-1) ... 130s Selecting previously unselected package python3-msal-extensions. 130s Preparing to unpack .../046-python3-msal-extensions_1.3.1-1_all.deb ... 130s Unpacking python3-msal-extensions (1.3.1-1) ... 130s Selecting previously unselected package python3-click. 130s Preparing to unpack .../047-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 130s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 130s Selecting previously unselected package python3-joblib. 130s Preparing to unpack .../048-python3-joblib_1.4.2-3_all.deb ... 130s Unpacking python3-joblib (1.4.2-3) ... 130s Selecting previously unselected package python3-regex. 130s Preparing to unpack .../049-python3-regex_0.1.20241106-1build1_ppc64el.deb ... 130s Unpacking python3-regex (0.1.20241106-1build1) ... 130s Selecting previously unselected package python3-tqdm. 130s Preparing to unpack .../050-python3-tqdm_4.67.1-3_all.deb ... 130s Unpacking python3-tqdm (4.67.1-3) ... 130s Selecting previously unselected package python3-nltk. 130s Preparing to unpack .../051-python3-nltk_3.9.1-2_all.deb ... 130s Unpacking python3-nltk (3.9.1-2) ... 130s Selecting previously unselected package python3-psutil. 130s Preparing to unpack .../052-python3-psutil_5.9.8-2build3_ppc64el.deb ... 130s Unpacking python3-psutil (5.9.8-2build3) ... 130s Selecting previously unselected package python3-pydash. 130s Preparing to unpack .../053-python3-pydash_8.0.3-3_all.deb ... 130s Unpacking python3-pydash (8.0.3-3) ... 130s Selecting previously unselected package python3-six. 130s Preparing to unpack .../054-python3-six_1.17.0-1_all.deb ... 130s Unpacking python3-six (1.17.0-1) ... 130s Selecting previously unselected package python3-ruamel.yaml.clib. 130s Preparing to unpack .../055-python3-ruamel.yaml.clib_0.2.12+ds-1build1_ppc64el.deb ... 130s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 130s Selecting previously unselected package python3-ruamel.yaml. 130s Preparing to unpack .../056-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 130s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 130s Selecting previously unselected package python3-strictyaml. 130s Preparing to unpack .../057-python3-strictyaml_1.6.1-3_all.deb ... 130s Unpacking python3-strictyaml (1.6.1-3) ... 130s Selecting previously unselected package python3-websocket. 130s Preparing to unpack .../058-python3-websocket_1.8.0-2_all.deb ... 130s Unpacking python3-websocket (1.8.0-2) ... 130s Selecting previously unselected package python3-azure. 130s Preparing to unpack .../059-python3-azure_20250401+git-1_all.deb ... 130s Unpacking python3-azure (20250401+git-1) ... 135s Selecting previously unselected package python3-jmespath. 135s Preparing to unpack .../060-python3-jmespath_1.0.1-1_all.deb ... 135s Unpacking python3-jmespath (1.0.1-1) ... 135s Selecting previously unselected package python3-botocore. 135s Preparing to unpack .../061-python3-botocore_1.37.9+repack-1_all.deb ... 135s Unpacking python3-botocore (1.37.9+repack-1) ... 136s Selecting previously unselected package python3-s3transfer. 136s Preparing to unpack .../062-python3-s3transfer_0.11.2-2_all.deb ... 136s Unpacking python3-s3transfer (0.11.2-2) ... 136s Selecting previously unselected package python3-boto3. 136s Preparing to unpack .../063-python3-boto3_1.37.9-1_all.deb ... 136s Unpacking python3-boto3 (1.37.9-1) ... 136s Selecting previously unselected package python3-cachetools. 136s Preparing to unpack .../064-python3-cachetools_5.3.3-1_all.deb ... 136s Unpacking python3-cachetools (5.3.3-1) ... 136s Selecting previously unselected package python3-wrapt. 136s Preparing to unpack .../065-python3-wrapt_1.15.0-4build1_ppc64el.deb ... 136s Unpacking python3-wrapt (1.15.0-4build1) ... 136s Selecting previously unselected package python3-deprecated. 136s Preparing to unpack .../066-python3-deprecated_1.2.18-1_all.deb ... 136s Unpacking python3-deprecated (1.2.18-1) ... 136s Selecting previously unselected package python3-execnet. 136s Preparing to unpack .../067-python3-execnet_2.1.1-1_all.deb ... 136s Unpacking python3-execnet (2.1.1-1) ... 136s Selecting previously unselected package python3-mccabe. 136s Preparing to unpack .../068-python3-mccabe_0.7.0-1_all.deb ... 136s Unpacking python3-mccabe (0.7.0-1) ... 136s Selecting previously unselected package python3-pycodestyle. 136s Preparing to unpack .../069-python3-pycodestyle_2.12.1-2_all.deb ... 136s Unpacking python3-pycodestyle (2.12.1-2) ... 136s Selecting previously unselected package python3-pyflakes. 136s Preparing to unpack .../070-python3-pyflakes_3.2.0-3_all.deb ... 136s Unpacking python3-pyflakes (3.2.0-3) ... 136s Selecting previously unselected package python3-flake8. 136s Preparing to unpack .../071-python3-flake8_7.1.1-3_all.deb ... 136s Unpacking python3-flake8 (7.1.1-3) ... 136s Selecting previously unselected package python3-freezegun. 136s Preparing to unpack .../072-python3-freezegun_1.5.1-1.2_all.deb ... 136s Unpacking python3-freezegun (1.5.1-1.2) ... 136s Selecting previously unselected package python3-requests-toolbelt. 136s Preparing to unpack .../073-python3-requests-toolbelt_1.0.0-4_all.deb ... 136s Unpacking python3-requests-toolbelt (1.0.0-4) ... 136s Selecting previously unselected package python3-gitlab. 136s Preparing to unpack .../074-python3-gitlab_1%3a4.9.0-1_all.deb ... 136s Unpacking python3-gitlab (1:4.9.0-1) ... 136s Selecting previously unselected package python3-pyasn1. 136s Preparing to unpack .../075-python3-pyasn1_0.6.1-1_all.deb ... 136s Unpacking python3-pyasn1 (0.6.1-1) ... 136s Selecting previously unselected package python3-pyasn1-modules. 136s Preparing to unpack .../076-python3-pyasn1-modules_0.4.1-2_all.deb ... 136s Unpacking python3-pyasn1-modules (0.4.1-2) ... 136s Selecting previously unselected package python3-pyu2f. 136s Preparing to unpack .../077-python3-pyu2f_0.1.5-4_all.deb ... 136s Unpacking python3-pyu2f (0.1.5-4) ... 136s Selecting previously unselected package python3-responses. 136s Preparing to unpack .../078-python3-responses_0.25.6-1_all.deb ... 136s Unpacking python3-responses (0.25.6-1) ... 136s Selecting previously unselected package python3-rsa. 136s Preparing to unpack .../079-python3-rsa_4.9-2_all.deb ... 136s Unpacking python3-rsa (4.9-2) ... 136s Selecting previously unselected package python3-google-auth. 136s Preparing to unpack .../080-python3-google-auth_2.28.2-3_all.deb ... 136s Unpacking python3-google-auth (2.28.2-3) ... 136s Selecting previously unselected package python3-httmock. 136s Preparing to unpack .../081-python3-httmock_1.4.0-5_all.deb ... 136s Unpacking python3-httmock (1.4.0-5) ... 136s Selecting previously unselected package python3-pyhcl. 136s Preparing to unpack .../082-python3-pyhcl_0.4.4-6_all.deb ... 136s Unpacking python3-pyhcl (0.4.4-6) ... 136s Selecting previously unselected package python3-hvac. 136s Preparing to unpack .../083-python3-hvac_2.3.0-3_all.deb ... 136s Unpacking python3-hvac (2.3.0-3) ... 136s Selecting previously unselected package python3-iniconfig. 136s Preparing to unpack .../084-python3-iniconfig_1.1.1-2_all.deb ... 136s Unpacking python3-iniconfig (1.1.1-2) ... 136s Selecting previously unselected package python3-kubernetes. 136s Preparing to unpack .../085-python3-kubernetes_30.1.0-2_all.deb ... 136s Unpacking python3-kubernetes (30.1.0-2) ... 137s Selecting previously unselected package python3-lxml:ppc64el. 137s Preparing to unpack .../086-python3-lxml_5.3.2-1_ppc64el.deb ... 137s Unpacking python3-lxml:ppc64el (5.3.2-1) ... 137s Selecting previously unselected package python3-pathspec. 137s Preparing to unpack .../087-python3-pathspec_0.12.1-1_all.deb ... 137s Unpacking python3-pathspec (0.12.1-1) ... 137s Selecting previously unselected package python3-pluggy. 137s Preparing to unpack .../088-python3-pluggy_1.5.0-1_all.deb ... 137s Unpacking python3-pluggy (1.5.0-1) ... 137s Selecting previously unselected package python3-proxmoxer. 137s Preparing to unpack .../089-python3-proxmoxer_2.2.0-1_all.deb ... 137s Unpacking python3-proxmoxer (2.2.0-1) ... 137s Selecting previously unselected package python3-py. 137s Preparing to unpack .../090-python3-py_1.11.0-4_all.deb ... 137s Unpacking python3-py (1.11.0-4) ... 137s Selecting previously unselected package python3-pytest. 137s Preparing to unpack .../091-python3-pytest_8.3.5-1_all.deb ... 137s Unpacking python3-pytest (8.3.5-1) ... 137s Selecting previously unselected package python3-pytest-forked. 137s Preparing to unpack .../092-python3-pytest-forked_1.6.0-3_all.deb ... 137s Unpacking python3-pytest-forked (1.6.0-3) ... 137s Selecting previously unselected package python3-pytest-mock. 137s Preparing to unpack .../093-python3-pytest-mock_3.14.0-2_all.deb ... 137s Unpacking python3-pytest-mock (3.14.0-2) ... 137s Selecting previously unselected package python3-pytest-xdist. 137s Preparing to unpack .../094-python3-pytest-xdist_3.6.1-1_all.deb ... 137s Unpacking python3-pytest-xdist (3.6.1-1) ... 137s Selecting previously unselected package python3-pyvmomi. 137s Preparing to unpack .../095-python3-pyvmomi_8.0.3.0.1-1_all.deb ... 137s Unpacking python3-pyvmomi (8.0.3.0.1-1) ... 137s Selecting previously unselected package python3-redis. 137s Preparing to unpack .../096-python3-redis_4.3.4-4_all.deb ... 137s Unpacking python3-redis (4.3.4-4) ... 137s Selecting previously unselected package python3-textfsm. 137s Preparing to unpack .../097-python3-textfsm_1.1.3-3_all.deb ... 137s Unpacking python3-textfsm (1.1.3-3) ... 137s Selecting previously unselected package python3-xmltodict. 137s Preparing to unpack .../098-python3-xmltodict_0.13.0-1_all.deb ... 137s Unpacking python3-xmltodict (0.13.0-1) ... 137s Selecting previously unselected package yamllint. 137s Preparing to unpack .../099-yamllint_1.35.1-2_all.deb ... 137s Unpacking yamllint (1.35.1-2) ... 137s Selecting previously unselected package python3-mock. 137s Preparing to unpack .../100-python3-mock_5.1.0-1_all.deb ... 137s Unpacking python3-mock (5.1.0-1) ... 137s Setting up python3-iniconfig (1.1.1-2) ... 137s Setting up libpixman-1-0:ppc64el (0.44.0-3) ... 137s Setting up libsodium23:ppc64el (1.0.18-1build3) ... 137s Setting up python3-requests-toolbelt (1.0.0-4) ... 138s Setting up libxrender1:ppc64el (1:0.9.10-1.1build1) ... 138s Setting up python3-py (1.11.0-4) ... 138s Setting up python3-joblib (1.4.2-3) ... 138s Setting up python3-cachetools (5.3.3-1) ... 138s Setting up python3-colorama (0.4.6-4) ... 138s Setting up libxcb-render0:ppc64el (1.17.0-2) ... 138s Setting up python3-tqdm (4.67.1-3) ... 138s Setting up python3-pyflakes (3.2.0-3) ... 139s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 139s Setting up python3-resolvelib (1.1.0-1) ... 139s Setting up python3-msal (1.32.0-1) ... 139s Setting up libxcb-shm0:ppc64el (1.17.0-2) ... 139s Setting up python3-httmock (1.4.0-5) ... 139s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 139s Setting up python3-psutil (5.9.8-2build3) ... 139s Setting up python3-multidict (6.2.0-2) ... 140s Setting up python3-frozenlist (1.5.0-1build2) ... 140s Setting up python3-aiosignal (1.3.2-1) ... 140s Setting up python3-mock (5.1.0-1) ... 140s Setting up python3-async-timeout (5.0.1-1) ... 140s Setting up liberror-perl (0.17030-1) ... 140s Setting up python3-six (1.17.0-1) ... 140s Setting up python3-responses (0.25.6-1) ... 140s Setting up python3-pyvmomi (8.0.3.0.1-1) ... 141s Setting up python3-isodate (0.7.0-1) ... 141s Setting up python3-pycodestyle (2.12.1-2) ... 141s Setting up python3-xmltodict (0.13.0-1) ... 141s Setting up python3-packaging (24.2-1) ... 141s Setting up python3-pyu2f (0.1.5-4) ... 141s Setting up python3-avro (1.12.0+dfsg-1) ... 141s Setting up python3-jmespath (1.0.1-1) ... 142s Setting up fonts-dejavu-mono (2.37-8) ... 142s Setting up python3-wrapt (1.15.0-4build1) ... 142s Setting up fonts-dejavu-core (2.37-8) ... 142s Setting up python3-aiohappyeyeballs (2.6.1-1) ... 142s Setting up python3-regex (0.1.20241106-1build1) ... 142s Setting up python3-pluggy (1.5.0-1) ... 142s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 142s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 143s Setting up python3-portalocker (2.2.1-1) ... 143s Setting up libxslt1.1:ppc64el (1.1.39-0exp1ubuntu4) ... 143s Setting up python3-pyasn1 (0.6.1-1) ... 143s Setting up python3-proxmoxer (2.2.0-1) ... 143s Setting up git-man (1:2.48.1-0ubuntu1) ... 143s Setting up python3-dateutil (2.9.0-4) ... 143s Setting up python3-textfsm (1.1.3-3) ... 143s Setting up python3-mccabe (0.7.0-1) ... 144s Setting up python3-execnet (2.1.1-1) ... 144s Setting up python3-pathspec (0.12.1-1) ... 144s Setting up python3-pydash (8.0.3-3) ... 144s Setting up python3-nltk (3.9.1-2) ... 145s Setting up python3-yarl (1.13.1-1build2) ... 145s Setting up python3-pyhcl (0.4.4-6) ... 145s Setting up python3-gitlab (1:4.9.0-1) ... 146s Setting up python3-websocket (1.8.0-2) ... 146s Setting up python3-deprecated (1.2.18-1) ... 146s Setting up libsecret-common (0.21.7-1) ... 146s Setting up python3-freezegun (1.5.1-1.2) ... 146s Setting up python3-nacl (1.5.0-7) ... 146s Setting up python3-requests-oauthlib (1.3.1-1) ... 146s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ... 146s Setting up python3-pytest (8.3.5-1) ... 147s Setting up python3-aiohttp (3.10.11-1build1) ... 147s Setting up python3-marshmallow (3.26.1-0.2) ... 147s Setting up ansible-core (2.18.1-4ubuntu1) ... 149s Setting up python3-flake8 (7.1.1-3) ... 149s Setting up python3-msrest (0.6.21-5) ... 149s Setting up python3-pytest-forked (1.6.0-3) ... 149s Setting up python3-strictyaml (1.6.1-3) ... 150s Setting up libsecret-1-0:ppc64el (0.21.7-1) ... 150s Setting up yamllint (1.35.1-2) ... 150s Setting up gir1.2-secret-1:ppc64el (0.21.7-1) ... 150s Setting up python3-pyasn1-modules (0.4.1-2) ... 150s Setting up python3-botocore (1.37.9+repack-1) ... 150s Setting up python3-hvac (2.3.0-3) ... 151s Setting up git (1:2.48.1-0ubuntu1) ... 151s Setting up python3-redis (4.3.4-4) ... 151s Setting up python3-adal (1.2.7-5) ... 151s Setting up python3-pytest-mock (3.14.0-2) ... 151s Setting up python3-lxml:ppc64el (5.3.2-1) ... 151s Setting up python3-rsa (4.9-2) ... 151s Setting up libfontconfig1:ppc64el (2.15.0-2.2ubuntu1) ... 151s Setting up python3-msrestazure (0.6.4-4) ... 152s Setting up ansible (11.2.0+dfsg-1) ... 180s Setting up python3-paramiko (3.5.1-2ubuntu1) ... 180s Setting up python3-pytest-xdist (3.6.1-1) ... 180s Setting up python3-s3transfer (0.11.2-2) ... 180s Setting up libcairo2:ppc64el (1.18.4-1) ... 180s Setting up python3-google-auth (2.28.2-3) ... 181s Setting up python3-boto3 (1.37.9-1) ... 181s Setting up libcairo-gobject2:ppc64el (1.18.4-1) ... 181s Setting up python3-cairo (1.27.0-2) ... 181s Setting up python3-kubernetes (30.1.0-2) ... 182s Setting up python3-gi-cairo (3.50.0-4build1) ... 182s Setting up python3-msal-extensions (1.3.1-1) ... 182s Setting up python3-azure-storage (20250401+git-1) ... 183s Setting up python3-azure (20250401+git-1) ... 199s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:80: SyntaxWarning: invalid escape sequence '\ ' 199s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example, 199s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:405: SyntaxWarning: invalid escape sequence '\ ' 199s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example, 202s /usr/lib/python3/dist-packages/azure/appconfiguration/_generated/models/_models.py:238: SyntaxWarning: invalid escape sequence '\ ' 202s """An error, available when the status is ``Failed``\ , describing why the operation 202s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9067: SyntaxWarning: invalid escape sequence '\ ' 202s """The source port ranges to match for the rule. Valid values are '\ *' (for all ports 0 - 65535), 202s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9235: SyntaxWarning: invalid escape sequence '\ ' 202s using brackets (for example abc[\ *] would match a file named abc*\ ). Note that both and / are 203s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2326: SyntaxWarning: invalid escape sequence '\ ' 203s payload to scoring rule. If not set, a job's labels (sent in the payload as ``job``\ ) and a 203s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2346: SyntaxWarning: invalid escape sequence '\ ' 203s If not set, a job's labels (sent in the payload as ``job``\ ) and a job's worker selectors 207s /usr/lib/python3/dist-packages/azure/mgmt/advisor/aio/operations/_recommendations_operations.py:190: SyntaxWarning: invalid escape sequence '\ ' 207s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category 207s /usr/lib/python3/dist-packages/azure/mgmt/advisor/operations/_recommendations_operations.py:303: SyntaxWarning: invalid escape sequence '\ ' 207s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category 208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:3917: SyntaxWarning: invalid escape sequence '\ ' 208s Possible Values::code:`
`:code:`
` **Standard**\ :code:`
`:code:`
` 208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10212: SyntaxWarning: invalid escape sequence '\ ' 208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10255: SyntaxWarning: invalid escape sequence '\ ' 208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10284: SyntaxWarning: invalid escape sequence '\ ' 208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10320: SyntaxWarning: invalid escape sequence '\ ' 208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10342: SyntaxWarning: invalid escape sequence '\ ' 208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10375: SyntaxWarning: invalid escape sequence '\ ' 208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10396: SyntaxWarning: invalid escape sequence '\ ' 208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10429: SyntaxWarning: invalid escape sequence '\ ' 208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14746: SyntaxWarning: invalid escape sequence '\ ' 208s :ivar allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ , 208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14771: SyntaxWarning: invalid escape sequence '\ ' 208s :keyword allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ , 213s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:1420: SyntaxWarning: invalid escape sequence '\ ' 213s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\ 213s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:2310: SyntaxWarning: invalid escape sequence '\ ' 213s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\ 213s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:1547: SyntaxWarning: invalid escape sequence '\ ' 213s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\ 213s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:2524: SyntaxWarning: invalid escape sequence '\ ' 213s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\ 218s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:624: SyntaxWarning: invalid escape sequence '\ ' 218s and Screenshot to diagnose VM status. **NOTE**\ : If storageUri is being 218s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:3707: SyntaxWarning: invalid escape sequence '\W' 218s characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) 224s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16843: SyntaxWarning: invalid escape sequence '\S' 224s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required. 224s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16916: SyntaxWarning: invalid escape sequence '\S' 224s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required. 226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:63: SyntaxWarning: invalid escape sequence '\w' 226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:130: SyntaxWarning: invalid escape sequence '\w' 226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:224: SyntaxWarning: invalid escape sequence '\w' 226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:312: SyntaxWarning: invalid escape sequence '\w' 226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:398: SyntaxWarning: invalid escape sequence '\w' 226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:543: SyntaxWarning: invalid escape sequence '\w' 226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:612: SyntaxWarning: invalid escape sequence '\w' 226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:675: SyntaxWarning: invalid escape sequence '\w' 226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:738: SyntaxWarning: invalid escape sequence '\w' 226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:807: SyntaxWarning: invalid escape sequence '\w' 226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 230s /usr/lib/python3/dist-packages/azure/mgmt/hybridnetwork/models/_models_py3.py:6032: SyntaxWarning: invalid escape sequence '\ ' 230s :ivar provisioning_state: The provisioning state of the site resource. **TODO**\ : Confirm if 233s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3866: SyntaxWarning: invalid escape sequence '\ ' 233s pattern set glob-style pattern (e.g., '\ *', 'clients/*\ '). Required.""" 233s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3868: SyntaxWarning: invalid escape sequence '\ ' 233s """Give access for ``Read``\ , ``Write`` and ``ReadWrite`` access level. Required. Known values 235s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:169: SyntaxWarning: invalid escape sequence '\ ' 235s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\ 235s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:1032: SyntaxWarning: invalid escape sequence '\ ' 235s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\ 244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2542: SyntaxWarning: invalid escape sequence '\R' 244s """Execute Reverse Replication\Reprotect. 244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2583: SyntaxWarning: invalid escape sequence '\R' 244s """Execute Reverse Replication\Reprotect. 244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2622: SyntaxWarning: invalid escape sequence '\R' 244s """Execute Reverse Replication\Reprotect. 244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5397: SyntaxWarning: invalid escape sequence '\L' 244s :ivar lun_id: Ordinal\LunId of the disk for the Azure VM. 244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5448: SyntaxWarning: invalid escape sequence '\L' 244s :keyword lun_id: Ordinal\LunId of the disk for the Azure VM. 244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8836: SyntaxWarning: invalid escape sequence '\S' 244s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8978: SyntaxWarning: invalid escape sequence '\S' 244s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9510: SyntaxWarning: invalid escape sequence '\S' 244s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9675: SyntaxWarning: invalid escape sequence '\S' 245s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11412: SyntaxWarning: invalid escape sequence '\S' 245s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after 245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11541: SyntaxWarning: invalid escape sequence '\S' 245s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after 245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12193: SyntaxWarning: invalid escape sequence '\S' 245s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12516: SyntaxWarning: invalid escape sequence '\S' 245s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26323: SyntaxWarning: invalid escape sequence '\S' 245s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26382: SyntaxWarning: invalid escape sequence '\S' 245s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3476: SyntaxWarning: invalid escape sequence '\R' 245s """Execute Reverse Replication\Reprotect. 245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3517: SyntaxWarning: invalid escape sequence '\R' 245s """Execute Reverse Replication\Reprotect. 245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3556: SyntaxWarning: invalid escape sequence '\R' 245s """Execute Reverse Replication\Reprotect. 245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_azure_reservation_api_operations.py:163: SyntaxWarning: invalid escape sequence '\ ' 245s """Get list of applicable ``Reservation``\ s. 245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:377: SyntaxWarning: invalid escape sequence '\ ' 245s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:407: SyntaxWarning: invalid escape sequence '\ ' 245s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:437: SyntaxWarning: invalid escape sequence '\ ' 245s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:583: SyntaxWarning: invalid escape sequence '\ ' 245s """Merges two ``Reservation``\ s. 245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:614: SyntaxWarning: invalid escape sequence '\ ' 245s """Merges two ``Reservation``\ s. 245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:645: SyntaxWarning: invalid escape sequence '\ ' 245s """Merges two ``Reservation``\ s. 245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:721: SyntaxWarning: invalid escape sequence '\ ' 245s """Get ``Reservation``\ s in a given reservation Order. 245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_order_operations.py:183: SyntaxWarning: invalid escape sequence '\ ' 245s """Get all ``ReservationOrder``\ s. 246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3172: SyntaxWarning: invalid escape sequence '\ ' 246s """List of ``Reservation``\ s. 246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3288: SyntaxWarning: invalid escape sequence '\ ' 246s """List of ``ReservationOrder``\ s. 246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_azure_reservation_api_operations.py:239: SyntaxWarning: invalid escape sequence '\ ' 246s """Get list of applicable ``Reservation``\ s. 246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:662: SyntaxWarning: invalid escape sequence '\ ' 246s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:692: SyntaxWarning: invalid escape sequence '\ ' 246s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:722: SyntaxWarning: invalid escape sequence '\ ' 246s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:868: SyntaxWarning: invalid escape sequence '\ ' 246s """Merges two ``Reservation``\ s. 246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:899: SyntaxWarning: invalid escape sequence '\ ' 246s """Merges two ``Reservation``\ s. 246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:930: SyntaxWarning: invalid escape sequence '\ ' 246s """Merges two ``Reservation``\ s. 246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:1006: SyntaxWarning: invalid escape sequence '\ ' 246s """Get ``Reservation``\ s in a given reservation Order. 246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_order_operations.py:299: SyntaxWarning: invalid escape sequence '\ ' 246s """Get all ``ReservationOrder``\ s. 250s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:68: SyntaxWarning: invalid escape sequence '\ ' 250s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end`` 250s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:90: SyntaxWarning: invalid escape sequence '\ ' 250s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after 250s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1141: SyntaxWarning: invalid escape sequence '\ ' 250s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end`` 250s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1163: SyntaxWarning: invalid escape sequence '\ ' 250s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after 255s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2858: SyntaxWarning: invalid escape sequence '\ ' 255s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client 255s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2925: SyntaxWarning: invalid escape sequence '\ ' 255s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client 258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_functions_operations.py:595: SyntaxWarning: invalid escape sequence '\ ' 258s properties to include in the response, or "\ *" to include all properties. By default, all 258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_inputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ ' 258s properties to include in the response, or "\ *" to include all properties. By default, all 258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_outputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ ' 258s properties to include in the response, or "\ *" to include all properties. By default, all 258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/models/_stream_analytics_management_client_enums.py:14: SyntaxWarning: invalid escape sequence '\ ' 258s """Authentication Mode. Valid modes are ``ConnectionString``\ , ``Msi`` and 'UserToken'.""" 258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_functions_operations.py:859: SyntaxWarning: invalid escape sequence '\ ' 258s properties to include in the response, or "\ *" to include all properties. By default, all 258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_inputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ ' 258s properties to include in the response, or "\ *" to include all properties. By default, all 258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_outputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ ' 258s properties to include in the response, or "\ *" to include all properties. By default, all 258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_no_subscription_operations.py:193: SyntaxWarning: invalid escape sequence '\ ' 258s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_operations.py:194: SyntaxWarning: invalid escape sequence '\ ' 258s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:177: SyntaxWarning: invalid escape sequence '\ ' 258s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the 258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:540: SyntaxWarning: invalid escape sequence '\ ' 258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:582: SyntaxWarning: invalid escape sequence '\ ' 258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:622: SyntaxWarning: invalid escape sequence '\ ' 258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_no_subscription_operations.py:308: SyntaxWarning: invalid escape sequence '\ ' 258s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_operations.py:326: SyntaxWarning: invalid escape sequence '\ ' 258s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:319: SyntaxWarning: invalid escape sequence '\ ' 258s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the 258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:681: SyntaxWarning: invalid escape sequence '\ ' 258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:723: SyntaxWarning: invalid escape sequence '\ ' 258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:763: SyntaxWarning: invalid escape sequence '\ ' 258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 258s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6232: SyntaxWarning: invalid escape sequence '\ ' 258s :ivar maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60}, 258s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6288: SyntaxWarning: invalid escape sequence '\ ' 258s :keyword maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60}, 265s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2909: SyntaxWarning: invalid escape sequence '\W' 265s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 265s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2954: SyntaxWarning: invalid escape sequence '\W' 265s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 265s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:1980: SyntaxWarning: invalid escape sequence '\W' 265s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 265s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:2025: SyntaxWarning: invalid escape sequence '\W' 265s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 266s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:2732: SyntaxWarning: invalid escape sequence '\:' 266s attr:\:code:``=:code:``. 266s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:3537: SyntaxWarning: invalid escape sequence '\:' 266s attr:\:code:``=\:code:``. 266s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:4216: SyntaxWarning: invalid escape sequence '\:' 266s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:`` 266s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:6219: SyntaxWarning: invalid escape sequence '\:' 266s attr:\:code:``=:code:``. 266s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7024: SyntaxWarning: invalid escape sequence '\:' 266s attr:\:code:``=\:code:``. 266s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7703: SyntaxWarning: invalid escape sequence '\:' 266s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:`` 268s /usr/lib/python3/dist-packages/azure/servicemanagement/schedulermanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m' 268s CURRENT_USER\my\CertificateName format. 268s /usr/lib/python3/dist-packages/azure/servicemanagement/servicebusmanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m' 268s CURRENT_USER\my\CertificateName format. 268s /usr/lib/python3/dist-packages/azure/servicemanagement/servicemanagementservice.py:81: SyntaxWarning: invalid escape sequence '\m' 268s CURRENT_USER\my\CertificateName format. 268s /usr/lib/python3/dist-packages/azure/servicemanagement/sqldatabasemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m' 268s CURRENT_USER\my\CertificateName format. 268s /usr/lib/python3/dist-packages/azure/servicemanagement/websitemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m' 268s CURRENT_USER\my\CertificateName format. 268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:110: SyntaxWarning: invalid escape sequence '\d' 268s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:1328: SyntaxWarning: invalid escape sequence '\d' 268s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..). 268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4218: SyntaxWarning: invalid escape sequence '\d' 268s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4280: SyntaxWarning: invalid escape sequence '\d' 268s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:18198: SyntaxWarning: invalid escape sequence '\d' 268s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19096: SyntaxWarning: invalid escape sequence '\d' 268s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with 268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19185: SyntaxWarning: invalid escape sequence '\d' 268s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19749: SyntaxWarning: invalid escape sequence '\d' 268s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 269s Processing triggers for libc-bin (2.41-6ubuntu1) ... 269s Processing triggers for man-db (2.13.0-1) ... 271s autopkgtest [07:54:13]: test unit-tests-stable.py: [----------------------- 272s 272s 272s 272s ############################################################ 272s ############################################################ 272s #### Running tests in ansible_collections/community/postgresql 272s ############################################################ 272s ############################################################ 272s Unit test modules with Python 3.13 274s ============================= test session starts ============================== 274s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 274s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/postgresql 274s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 274s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 274s created: 2/2 workers 274s 2 workers [30 items] 274s 274s .............................. [100%] 274s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/postgresql/tests/output/junit/python3.13-modules-units.xml - 274s ============================== 30 passed in 0.95s ============================== 274s Unit test module_utils with Python 3.13 275s ============================= test session starts ============================== 275s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 275s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/postgresql 275s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 275s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 275s created: 2/2 workers 275s 2 workers [41 items] 275s 275s ......................................... [100%] 275s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/postgresql/tests/output/junit/python3.13-module_utils-units.xml - 275s ============================== 41 passed in 0.81s ============================== 275s 275s 275s 275s ############################################################ 275s ############################################################ 275s #### Running tests in ansible_collections/community/crypto 275s ############################################################ 275s ############################################################ 276s Unit test modules with Python 3.13 277s ============================= test session starts ============================== 277s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 277s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto 277s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 277s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 277s created: 2/2 workers 277s 2 workers [76 items] 277s 277s ........................................................................ [ 94%] 277s .... [100%] 277s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/output/junit/python3.13-modules-units.xml - 277s ============================== 76 passed in 0.95s ============================== 277s Unit test module_utils with Python 3.13 278s ============================= test session starts ============================== 278s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 278s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto 278s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 278s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 278s created: 2/2 workers 278s 2 workers [520 items] 278s 280s ........................................................................ [ 13%] 281s ..........................................sssssss....................... [ 27%] 281s ........................................................................ [ 41%] 282s ...........................................................s.ss.s.s.ss.s [ 55%] 285s ........................................................................ [ 69%] 289s ........................................................................ [ 83%] 293s ........................................................................ [ 96%] 293s ................ [100%] 293s =============================== warnings summary =============================== 293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_default_key_params[dsa-None-None-None] 293s /tmp/autopkgtest.NviVNE/build.FtY/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 293s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment) 293s 293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_default_key_params[dsa-None-None-None] 293s /tmp/autopkgtest.NviVNE/build.FtY/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 293s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment) 293s 293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 293s /tmp/autopkgtest.NviVNE/build.FtY/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 293s assert OpensshKeypair.generate() != OpensshKeypair.generate(keytype='dsa') 293s 293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 293s /tmp/autopkgtest.NviVNE/build.FtY/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 293s 'pair': OpensshKeypair.generate(keytype='dsa', passphrase='change_me'.encode('UTF-8')), 293s 293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 293s /tmp/autopkgtest.NviVNE/build.FtY/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. 293s privatekey = privatekey_loader( 293s 293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 293s /tmp/autopkgtest.NviVNE/build.FtY/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. 293s publickey = publickey_loader( 293s 293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 293s /tmp/autopkgtest.NviVNE/build.FtY/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 293s loaded_dsa_key = OpensshKeypair.load(path=keys['dsa']['filename'], passphrase='change_me'.encode('UTF-8')) 293s 293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 293s /tmp/autopkgtest.NviVNE/build.FtY/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 293s loaded_dsa_key.update_passphrase('change_me_again'.encode('UTF-8')) 293s 293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison 293s /tmp/autopkgtest.NviVNE/build.FtY/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 293s loaded_dsa_key.update_passphrase('change_me'.encode('UTF-8')) 293s 293s tests/unit/plugins/module_utils/test_time.py: 16 warnings 293s /tmp/autopkgtest.NviVNE/build.FtY/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). 293s return datetime.datetime.utcfromtimestamp(timestamp) 293s 293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_valid_user_key_params[dsa-1024-change_me-comment] 293s /tmp/autopkgtest.NviVNE/build.FtY/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 293s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment) 293s 293s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 293s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/output/junit/python3.13-module_utils-units.xml - 293s =========================== short test summary info ============================ 293s SKIPPED [15] tests/unit/plugins/module_utils/crypto/test_asn1.py:78: unconditional skip 293s ================ 505 passed, 15 skipped, 26 warnings in 15.66s ================= 293s Skipping ansible_collections/community/dns 293s Skipping ansible_collections/community/hrobot 293s Skipping ansible_collections/community/library_inventory_filtering_v1 293s 293s 293s 293s ############################################################ 293s ############################################################ 293s #### Running tests in ansible_collections/community/docker 293s ############################################################ 293s ############################################################ 293s Unit test modules with Python 3.13 295s ============================= test session starts ============================== 295s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 295s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/docker 295s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 295s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 295s created: 2/2 workers 295s 2 workers [27 items] 295s 297s ........................... [100%] 297s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/docker/tests/output/junit/python3.13-modules-units.xml - 297s ============================== 27 passed in 3.08s ============================== 297s Unit test module_utils with Python 3.13 299s ============================= test session starts ============================== 299s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 299s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/docker 299s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 299s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 299s created: 2/2 workers 299s 2 workers [551 items] 299s 299s .................................................ss.s.s.ss.s.s.......... [ 13%] 299s .......s..s.ss.s.........s.............................................. [ 26%] 300s ..........s.....................................................s....... [ 39%] 300s .............................s.......................................... [ 52%] 300s ........................................................................ [ 65%] 301s ........................................................................ [ 78%] 301s ........................................................................ [ 91%] 301s ............................................... [100%] 301s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/docker/tests/output/junit/python3.13-module_utils-units.xml - 301s =========================== short test summary info ============================ 301s 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. 301s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:99: match_hostname is not available 301s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:92: match_hostname is not available 301s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:95: match_hostname is not available 301s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:86: match_hostname is not available 301s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:89: match_hostname is not available 301s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_build.py:254: Backslash patterns only on Windows 301s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_build.py:276: Backslash patterns only on Windows 301s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_config.py:76: condition: sys.platform != 'win32' 301s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_utils.py:471: shlex doesn't support bytes in py3 301s ======================= 534 passed, 17 skipped in 4.11s ======================== 301s 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.NviVNE/build.FtY/src/ansible_collections/community/docker 303s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 303s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 303s created: 2/2 workers 303s 2 workers [16 items] 303s 303s ................ [100%] 303s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/docker/tests/output/junit/python3.13-controller-units.xml - 303s ============================== 16 passed in 1.26s ============================== 303s 303s 303s 303s ############################################################ 303s ############################################################ 303s #### Running tests in ansible_collections/community/aws 303s ############################################################ 303s ############################################################ 303s Unit test modules with Python 3.13 305s ============================= test session starts ============================== 305s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 305s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws 305s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 305s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 305s created: 2/2 workers 305s 2 workers [33 items] 305s 305s ................................. [100%] 305s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws/tests/output/junit/python3.13-modules-units.xml - 305s =========================== short test summary info ============================ 305s SKIPPED [1] ../../amazon/aws/tests/unit/utils/amazon_placebo_fixtures.py:16: could not import 'placebo': No module named 'placebo' 305s ======================== 33 passed, 1 skipped in 1.24s ========================= 305s Unit test controller with Python 3.13 307s ============================= test session starts ============================== 307s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 307s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws 307s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 307s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 307s created: 2/2 workers 307s 2 workers [52 items] 307s 307s .................................................... [100%] 307s =============================== warnings summary =============================== 307s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_start_session 307s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:85: PytestUnraisableExceptionWarning: Exception ignored in: 307s 307s Traceback (most recent call last): 307s File "/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws/plugins/connection/aws_ssm.py", line 496, in __del__ 307s self.close() 307s ~~~~~~~~~~^^ 307s File "/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws/plugins/connection/aws_ssm.py", line 961, in close 307s self._vvv(f"CLOSING SSM CONNECTION TO: {self.instance_id}") 307s ^^^^^^^^^^^^^^^^ 307s AttributeError: 'Connection' object has no attribute 'instance_id' 307s 307s warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) 307s 307s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_exec_command 307s /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`? 307s warnings.warn( 307s 307s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_wrap_command 307s /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`? 307s warnings.warn( 307s 307s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_post_process 307s /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`? 307s warnings.warn( 307s 307s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 307s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws/tests/output/junit/python3.13-controller-units.xml - 307s ======================== 52 passed, 4 warnings in 1.72s ======================== 307s 307s 307s 307s ############################################################ 307s ############################################################ 307s #### Running tests in ansible_collections/community/vmware 307s ############################################################ 307s ############################################################ 308s Unit test controller with Python 3.13 309s ============================= test session starts ============================== 309s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 309s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/vmware 309s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 309s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 309s created: 2/2 workers 309s 2 workers [32 items] 309s 309s ................................ [100%] 309s =============================== warnings summary =============================== 309s tests/unit/module_utils/test_vmware.py::test_required_params[validate_certs] 309s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module0-testcase0] 309s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module5-testcase5] 309s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module7-testcase7] 309s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/vmware/plugins/module_utils/vmware.py:752: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 309s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) 309s 309s tests/unit/module_utils/test_vmware.py::test_required_params[valid_http_proxy] 309s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module6-testcase6] 309s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/vmware/plugins/module_utils/vmware.py:757: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 309s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) 309s 309s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 309s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/vmware/tests/output/junit/python3.13-controller-units.xml - 309s ======================== 32 passed, 6 warnings in 1.12s ======================== 309s 309s 309s 309s ############################################################ 309s ############################################################ 309s #### Running tests in ansible_collections/community/libvirt 309s ############################################################ 309s ############################################################ 310s Unit test controller with Python 3.13 311s ============================= test session starts ============================== 311s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 311s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/libvirt 311s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 311s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 311s created: 2/2 workers 311s 2 workers [4 items] 311s 311s .... [100%] 311s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/libvirt/tests/output/junit/python3.13-controller-units.xml - 311s ============================== 4 passed in 0.65s =============================== 311s 311s 311s 311s ############################################################ 311s ############################################################ 311s #### Running tests in ansible_collections/community/rabbitmq 311s ############################################################ 311s ############################################################ 311s Unit test controller with Python 3.13 312s ============================= test session starts ============================== 312s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 312s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/rabbitmq 312s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 312s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 312s created: 2/2 workers 312s 2 workers [30 items] 312s 312s .............................. [100%] 312s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/rabbitmq/tests/output/junit/python3.13-controller-units.xml - 312s ============================== 30 passed in 0.98s ============================== 312s 312s 312s 312s ############################################################ 312s ############################################################ 312s #### Running tests in ansible_collections/community/hashi_vault 312s ############################################################ 312s ############################################################ 313s Unit test modules with Python 3.13 315s ============================= test session starts ============================== 315s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 315s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault 315s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 315s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 315s created: 2/2 workers 315s 2 workers [281 items] 315s 315s ........................................................................ [ 25%] 316s ........................................................................ [ 51%] 317s ........................................................................ [ 76%] 317s ................................................................. [100%] 317s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-modules-units.xml - 317s ============================= 281 passed in 3.85s ============================== 317s Unit test module_utils with Python 3.13 319s ============================= test session starts ============================== 319s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 319s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault 319s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 319s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 319s created: 2/2 workers 319s 2 workers [1436 items] 319s 319s ........................................................................ [ 5%] 320s ........................................................................ [ 10%] 320s ........................................................................ [ 15%] 321s ........................................................................ [ 20%] 321s ........................................................................ [ 25%] 322s ........................................................................ [ 30%] 323s ........................................................................ [ 35%] 323s ........................................................................ [ 40%] 324s ........................................................................ [ 45%] 324s ........................................................................ [ 50%] 325s ........................................................................ [ 55%] 325s ........................................................................ [ 60%] 326s ........................................................................ [ 65%] 326s ........................................................................ [ 70%] 326s ........................................................................ [ 75%] 327s ........................................................................ [ 80%] 327s ........................................................................ [ 85%] 328s ........................................................................ [ 90%] 328s ........................................................................ [ 95%] 329s .................................................................... [100%] 329s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-module_utils-units.xml - 329s ============================ 1436 passed in 11.01s ============================= 329s Unit test controller with Python 3.13 331s ============================= test session starts ============================== 331s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 331s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault 331s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 331s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 331s created: 2/2 workers 331s 2 workers [619 items] 331s 332s ........................................................................ [ 11%] 333s ........................................................................ [ 23%] 334s ........................................................................ [ 34%] 335s ........................................................................ [ 46%] 336s ........................................................................ [ 58%] 337s ........................................................................ [ 69%] 338s ........................................................................ [ 81%] 338s ........................................................................ [ 93%] 338s ........................................... [100%] 338s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-controller-units.xml - 338s ============================= 619 passed in 8.69s ============================== 338s 338s 338s 338s ############################################################ 338s ############################################################ 338s #### Running tests in ansible_collections/community/digitalocean 338s ############################################################ 338s ############################################################ 339s Unit test modules with Python 3.13 340s ============================= test session starts ============================== 340s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 340s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/digitalocean 340s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 340s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 340s created: 2/2 workers 340s 2 workers [32 items] 340s 340s ................................ [100%] 340s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/digitalocean/tests/output/junit/python3.13-modules-units.xml - 340s ============================== 32 passed in 1.12s ============================== 340s Unit test controller with Python 3.13 341s ============================= test session starts ============================== 341s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 341s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/digitalocean 341s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 341s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 341s created: 2/2 workers 341s 2 workers [14 items] 341s 342s .............. [100%] 342s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/digitalocean/tests/output/junit/python3.13-controller-units.xml - 342s ============================== 14 passed in 0.96s ============================== 342s 342s 342s 342s ############################################################ 342s ############################################################ 342s #### Running tests in ansible_collections/community/windows 342s ############################################################ 342s ############################################################ 342s Unit test controller with Python 3.13 343s ============================= test session starts ============================== 343s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 343s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/windows 343s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 343s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 343s created: 2/2 workers 343s 2 workers [32 items] 343s 344s ................................ [100%] 344s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/windows/tests/output/junit/python3.13-controller-units.xml - 344s ============================== 32 passed in 1.43s ============================== 344s 344s 344s 344s ############################################################ 344s ############################################################ 344s #### Running tests in ansible_collections/community/sap_libs 344s ############################################################ 344s ############################################################ 344s Unit test modules with Python 3.13 345s ============================= test session starts ============================== 345s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 345s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/sap_libs 345s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 345s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 345s created: 2/2 workers 345s 2 workers [49 items] 345s 345s ................................................. [100%] 345s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/sap_libs/tests/output/junit/python3.13-modules-units.xml - 345s ============================== 49 passed in 1.02s ============================== 345s 345s 345s 345s ############################################################ 345s ############################################################ 345s #### Running tests in ansible_collections/community/routeros 345s ############################################################ 345s ############################################################ 346s Unit test modules with Python 3.13 347s ============================= test session starts ============================== 347s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 347s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/routeros 347s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 347s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 347s created: 2/2 workers 347s 2 workers [115 items] 347s 347s ........................................................................ [ 62%] 348s ........................................... [100%] 348s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/routeros/tests/output/junit/python3.13-modules-units.xml - 348s ============================= 115 passed in 1.68s ============================== 348s Unit test module_utils with Python 3.13 349s ============================= test session starts ============================== 349s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 349s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/routeros 349s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 349s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 349s created: 2/2 workers 349s 2 workers [146 items] 349s 349s ........................................................................ [ 49%] 349s ........................................................................ [ 98%] 349s .. [100%] 349s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/routeros/tests/output/junit/python3.13-module_utils-units.xml - 349s ============================= 146 passed in 1.29s ============================== 350s 350s 350s 350s ############################################################ 350s ############################################################ 350s #### Running tests in ansible_collections/community/grafana 350s ############################################################ 350s ############################################################ 350s Unit test controller with Python 3.13 351s ============================= test session starts ============================== 351s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 351s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/grafana 351s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 351s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 351s created: 2/2 workers 351s 2 workers [31 items] 351s 351s ............................... [100%] 351s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/grafana/tests/output/junit/python3.13-controller-units.xml - 351s ============================== 31 passed in 0.96s ============================== 351s 351s 351s 351s ############################################################ 351s ############################################################ 351s #### Running tests in ansible_collections/community/network 351s ############################################################ 351s ############################################################ 351s Unit test modules with Python 3.13 357s ============================= test session starts ============================== 357s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 357s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network 357s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 357s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 357s created: 2/2 workers 357s 2 workers [930 items] 357s 358s ........................................................................ [ 7%] 359s ........................................................................ [ 15%] 359s ........................................................................ [ 23%] 360s ........................................................................ [ 30%] 360s ........................................................................ [ 38%] 361s ........................................................................ [ 46%] 362s ........................................................................ [ 54%] 363s ........................................................................ [ 61%] 364s ............................................................ss.ssss.ss.s [ 69%] 364s sss.sss.sss.sss.sss.sss.ssss.sss.ss.ssss.ss.ss.ss.ss.ss.ss.ss.ss........ [ 77%] 365s ......................ss.ss.s........................................... [ 85%] 365s ........................................................................ [ 92%] 366s .................................................................. [100%] 366s =============================== warnings summary =============================== 366s tests/unit/plugins/modules/test_ce_is_is_instance.py::TestCloudEngineLacpModule::test_isis_instance_present 366s tests/unit/plugins/modules/test_ce_is_is_instance.py::TestCloudEngineLacpModule::test_isis_instance_present 366s /tmp/autopkgtest.NviVNE/build.FtY/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. 366s if glb: 366s 366s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_absent 366s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_absent 366s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_present 366s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_present 366s /tmp/autopkgtest.NviVNE/build.FtY/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. 366s if glb: 366s 366s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 366s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network/tests/output/junit/python3.13-modules-units.xml - 366s =========================== short test summary info ============================ 366s SKIPPED [61] tests/unit/plugins/modules/test_nuage_vspk.py: Nuage Ansible modules requires Python 2.7 366s ================= 869 passed, 61 skipped, 6 warnings in 14.05s ================= 366s Unit test module_utils with Python 3.13 367s ============================= test session starts ============================== 367s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 367s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network 367s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 367s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 367s created: 2/2 workers 367s 2 workers [172 items] 367s 368s ........................................................................ [ 41%] 368s ........................................................................ [ 83%] 368s ............................ [100%] 368s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network/tests/output/junit/python3.13-module_utils-units.xml - 368s ============================= 172 passed in 2.15s ============================== 368s Unit test controller with Python 3.13 370s ============================= test session starts ============================== 370s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 370s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network 370s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 370s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 370s created: 2/2 workers 370s 2 workers [50 items] 370s 370s .................................................. [100%] 370s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network/tests/output/junit/python3.13-controller-units.xml - 370s ============================== 50 passed in 1.33s ============================== 370s 370s 370s 370s ############################################################ 370s ############################################################ 370s #### Running tests in ansible_collections/community/mysql 370s ############################################################ 370s ############################################################ 370s 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.NviVNE/build.FtY/src/ansible_collections/community/mysql 371s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 371s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 371s created: 2/2 workers 371s 2 workers [43 items] 371s 372s ........................................... [100%] 372s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/mysql/tests/output/junit/python3.13-modules-units.xml - 372s ============================== 43 passed in 0.87s ============================== 372s Unit test module_utils with Python 3.13 373s ============================= test session starts ============================== 373s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 373s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/mysql 373s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 373s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 373s created: 2/2 workers 373s 2 workers [84 items] 373s 373s ........................................................................ [ 85%] 373s ............ [100%] 373s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/mysql/tests/output/junit/python3.13-module_utils-units.xml - 373s ============================== 84 passed in 1.01s ============================== 373s 373s 373s 373s ############################################################ 373s ############################################################ 373s #### Running tests in ansible_collections/community/ciscosmb 373s ############################################################ 373s ############################################################ 373s Unit test modules with Python 3.13 374s ============================= test session starts ============================== 374s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 374s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/ciscosmb 374s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 374s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 374s created: 2/2 workers 374s 2 workers [56 items] 374s 375s ........................................................ [100%] 375s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/ciscosmb/tests/output/junit/python3.13-modules-units.xml - 375s ============================== 56 passed in 1.16s ============================== 375s 375s 375s 375s ############################################################ 375s ############################################################ 375s #### Running tests in ansible_collections/community/okd 375s ############################################################ 375s ############################################################ 375s Unit test modules with Python 3.13 377s ============================= test session starts ============================== 377s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 377s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/okd 377s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 377s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 377s created: 2/2 workers 377s 2 workers [13 items] 377s 377s ............. [100%] 377s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/okd/tests/output/junit/python3.13-modules-units.xml - 377s ============================== 13 passed in 1.38s ============================== 377s Unit test module_utils with Python 3.13 378s ============================= test session starts ============================== 378s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 378s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/okd 378s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 378s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 378s created: 2/2 workers 378s 2 workers [15 items] 378s 378s .s.s........... [100%] 378s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/okd/tests/output/junit/python3.13-module_utils-units.xml - 378s =========================== short test summary info ============================ 378s SKIPPED [2] tests/unit/plugins/module_utils/test_ldap_dn.py: This test requires the python-ldap library 378s ======================== 13 passed, 2 skipped in 0.68s ========================= 378s Skipping ansible_collections/community/general 378s Skipping ansible_collections/cisco/dnac 378s 378s 378s 378s ############################################################ 378s ############################################################ 378s #### Running tests in ansible_collections/cisco/nxos 378s ############################################################ 378s ############################################################ 378s Unit test controller with Python 3.13 381s ============================= test session starts ============================== 381s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 381s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos 381s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 381s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 381s created: 2/2 workers 381s 2 workers [773 items] 381s 382s ........................................................................ [ 9%] 384s ........................................................................ [ 18%] 386s ........................................................................ [ 27%] 393s ........................................................................ [ 37%] 394s ........................................................................ [ 46%] 396s ........................................................................ [ 55%] 397s ........................................................................ [ 65%] 399s ........................................................................ [ 74%] 401s ........................................................................ [ 83%] 402s ........................................................................ [ 93%] 403s ..................................................... [100%] 403s =============================== warnings summary =============================== 403s tests/unit/modules/network/nxos/test_nxos_acls.py: 91 warnings 403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:270: DeprecationWarning: 'count' is passed as positional argument 403s ace = re.sub(seq, "", ace, 1) 403s 403s tests/unit/modules/network/nxos/test_nxos_acls.py: 84 warnings 403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:279: DeprecationWarning: 'count' is passed as positional argument 403s ace = re.sub(grant, "", ace, 1) 403s 403s tests/unit/modules/network/nxos/test_nxos_acls.py: 84 warnings 403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:287: DeprecationWarning: 'count' is passed as positional argument 403s ace = re.sub(pro, "", ace, 1) 403s 403s tests/unit/modules/network/nxos/test_nxos_acls.py: 168 warnings 403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:117: DeprecationWarning: 'count' is passed as positional argument 403s ace = re.sub(option, "", ace, 1) 403s 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges 403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:142: DeprecationWarning: 'count' is passed as positional argument 403s ace = re.sub(range_substring, "", ace, 1) 403s 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered 403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:116: DeprecationWarning: 'count' is passed as positional argument 403s ace = re.sub("{0}".format(wb), "", ace, 1) 403s 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark 403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:126: DeprecationWarning: 'count' is passed as positional argument 403s ace = re.sub(port_pro.group(1), "", ace, 1) 403s 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark 403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark 403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:127: DeprecationWarning: 'count' is passed as positional argument 403s ace = re.sub(port_pro.group(2), "", ace, 1) 403s 403s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 403s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/tests/output/junit/python3.13-controller-units.xml - 403s ====================== 773 passed, 440 warnings in 24.09s ====================== 403s Skipping ansible_collections/cisco/aci 403s 403s 403s 403s ############################################################ 403s ############################################################ 403s #### Running tests in ansible_collections/cisco/asa 403s ############################################################ 403s ############################################################ 403s Unit test controller with Python 3.13 406s ============================= test session starts ============================== 406s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 406s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/asa 406s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 406s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 406s created: 2/2 workers 406s 2 workers [21 items] 406s 412s ..................... [100%] 412s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/asa/tests/output/junit/python3.13-controller-units.xml - 412s ============================== 21 passed in 7.85s ============================== 412s 412s 412s 412s ############################################################ 412s ############################################################ 412s #### Running tests in ansible_collections/cisco/ios 412s ############################################################ 412s ############################################################ 412s Unit test controller with Python 3.13 414s ============================= test session starts ============================== 414s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 414s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/ios 414s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 414s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 414s created: 2/2 workers 414s 2 workers [425 items] 414s 416s ........................................................................ [ 16%] 418s ........................................................................ [ 33%] 421s ........................................................................ [ 50%] 428s ........................................................................ [ 67%] 431s ........................................................................ [ 84%] 482s ................................................................. [100%] 482s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/ios/tests/output/junit/python3.13-controller-units.xml - 482s ======================== 425 passed in 69.74s (0:01:09) ======================== 482s 482s 482s 482s ############################################################ 482s ############################################################ 482s #### Running tests in ansible_collections/cisco/iosxr 482s ############################################################ 482s ############################################################ 483s Unit test controller with Python 3.13 485s ============================= test session starts ============================== 485s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 485s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/iosxr 485s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 485s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 485s created: 2/2 workers 485s 2 workers [310 items] 485s 486s ........................................................................ [ 23%] 489s ........................................................................ [ 46%] 490s ........................................................................ [ 69%] 492s ........................................................................ [ 92%] 493s ...................... [100%] 493s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/iosxr/tests/output/junit/python3.13-controller-units.xml - 493s ============================= 310 passed in 9.86s ============================== 493s 493s 493s 493s ############################################################ 493s ############################################################ 493s #### Running tests in ansible_collections/arista/eos 493s ############################################################ 493s ############################################################ 493s Unit test controller with Python 3.13 495s ============================= test session starts ============================== 495s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 495s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/arista/eos 495s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 495s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 495s created: 2/2 workers 495s 2 workers [307 items] 495s 496s ........................................................................ [ 23%] 497s ........................................................................ [ 46%] 499s ........................................................................ [ 70%] 501s ........................................................................ [ 93%] 501s ................... [100%] 501s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/arista/eos/tests/output/junit/python3.13-controller-units.xml - 501s ============================= 307 passed in 7.17s ============================== 501s Skipping ansible_collections/splunk/es 501s 501s 501s 501s ############################################################ 501s ############################################################ 501s #### Running tests in ansible_collections/kubernetes/core 501s ############################################################ 501s ############################################################ 501s Unit test controller 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.NviVNE/build.FtY/src/ansible_collections/kubernetes/core 503s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 503s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 503s created: 2/2 workers 503s 2 workers [172 items] 503s 504s ........................................................................ [ 41%] 509s ........................................................................ [ 83%] 513s ............................ [100%] 513s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/kubernetes/core/tests/output/junit/python3.13-controller-units.xml - 513s ============================= 172 passed in 11.74s ============================= 514s 514s 514s 514s ############################################################ 514s ############################################################ 514s #### Running tests in ansible_collections/vyos/vyos 514s ############################################################ 514s ############################################################ 514s Unit test controller with Python 3.13 516s ============================= test session starts ============================== 516s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 516s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vyos/vyos 516s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 516s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 516s created: 2/2 workers 516s 2 workers [212 items] 516s 517s ........................................................................ [ 33%] 518s ........................................................................ [ 67%] 521s .................................................................... [100%] 521s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vyos/vyos/tests/output/junit/python3.13-controller-units.xml - 521s ============================= 212 passed in 7.14s ============================== 522s 522s 522s 522s ############################################################ 522s ############################################################ 522s #### Running tests in ansible_collections/hetzner/hcloud 522s ############################################################ 522s ############################################################ 522s Unit test controller with Python 3.13 523s ============================= test session starts ============================== 523s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 523s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/hetzner/hcloud 523s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 523s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 523s created: 2/2 workers 523s 2 workers [30 items] 523s 524s .............................. [100%] 524s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/hetzner/hcloud/tests/output/junit/python3.13-controller-units.xml - 524s ============================== 30 passed in 1.44s ============================== 524s Skipping ansible_collections/ngine_io/cloudstack 524s Skipping ansible_collections/vmware/vmware 524s 524s 524s 524s ############################################################ 524s ############################################################ 524s #### Running tests in ansible_collections/google/cloud 524s ############################################################ 524s ############################################################ 524s Unit test controller with Python 3.13 525s ============================= test session starts ============================== 525s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 525s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/google/cloud 525s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 525s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 525s created: 2/2 workers 525s 2 workers [17 items] 525s 526s ................. [100%] 526s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/google/cloud/tests/output/junit/python3.13-controller-units.xml - 526s ============================== 17 passed in 1.09s ============================== 526s 526s 526s 526s ############################################################ 526s ############################################################ 526s #### Running tests in ansible_collections/amazon/aws 526s ############################################################ 526s ############################################################ 526s Unit test modules with Python 3.13 528s ============================= test session starts ============================== 528s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 528s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/amazon/aws 528s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 528s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 528s created: 2/2 workers 528s 2 workers [348 items] 528s 529s ........................................................................ [ 20%] 529s ........................................................................ [ 41%] 530s ........................................................................ [ 62%] 530s ........................................................................ [ 82%] 531s ............................................................ [100%] 531s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/amazon/aws/tests/output/junit/python3.13-modules-units.xml - 531s =========================== short test summary info ============================ 531s SKIPPED [1] tests/unit/utils/amazon_placebo_fixtures.py:16: could not import 'placebo': No module named 'placebo' 531s ======================== 348 passed, 1 skipped in 4.43s ======================== 531s Unit test controller with Python 3.13 534s ============================= test session starts ============================== 534s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 534s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/amazon/aws 534s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 534s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 534s created: 2/2 workers 534s 2 workers [1252 items] 534s 535s ........................................................................ [ 5%] 536s ........................................................................ [ 11%] 537s ........................................................................ [ 17%] 537s ........................................................................ [ 23%] 538s ........................................................................ [ 28%] 539s ........................................................................ [ 34%] 555s ........................................................................ [ 40%] 556s ........................................................................ [ 46%] 557s ........................................................................ [ 51%] 558s ........................................................................ [ 57%] 559s ........................................................................ [ 63%] 560s ........................................................................ [ 69%] 561s ........................................................................ [ 74%] 562s ........................................................................ [ 80%] 562s ........................................................................ [ 86%] 564s ........................................................................ [ 92%] 737s ........................................................................ [ 97%] 738s ............................ [100%] 738s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/amazon/aws/tests/output/junit/python3.13-controller-units.xml - 738s ======================= 1252 passed in 206.13s (0:03:26) ======================= 738s 738s 738s 738s ############################################################ 738s ############################################################ 738s #### Running tests in ansible_collections/wti/remote 738s ############################################################ 738s ############################################################ 738s Unit test controller with Python 3.13 739s ============================= test session starts ============================== 739s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 739s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/wti/remote 739s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 739s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 739s created: 2/2 workers 739s 2 workers [1 item] 739s 739s . [100%] 739s =============================== warnings summary =============================== 739s tests/unit/test_example.py::test_example 739s /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`? 739s warnings.warn( 739s 739s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 739s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/wti/remote/tests/output/junit/python3.13-controller-units.xml - 739s ========================= 1 passed, 1 warning in 0.53s ========================= 739s 739s 739s 739s ############################################################ 739s ############################################################ 739s #### Running tests in ansible_collections/vultr/cloud 739s ############################################################ 739s ############################################################ 739s Unit test controller with Python 3.13 741s ============================= test session starts ============================== 741s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 741s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vultr/cloud 741s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 741s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 741s created: 2/2 workers 741s 2 workers [15 items] 741s 741s ............... [100%] 741s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vultr/cloud/tests/output/junit/python3.13-controller-units.xml - 741s ============================== 15 passed in 1.25s ============================== 741s 741s 741s 741s ############################################################ 741s ############################################################ 741s #### Running tests in ansible_collections/cyberark/conjur 741s ############################################################ 741s ############################################################ 741s Unit test controller with Python 3.13 743s ============================= test session starts ============================== 743s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 743s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cyberark/conjur 743s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 743s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 743s created: 2/2 workers 743s 2 workers [21 items] 743s 743s ..................... [100%] 743s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cyberark/conjur/tests/output/junit/python3.13-controller-units.xml - 743s ============================== 21 passed in 1.24s ============================== 743s 743s 743s 743s ############################################################ 743s ############################################################ 743s #### Running tests in ansible_collections/ibm/storage_virtualize 743s ############################################################ 743s ############################################################ 743s Unit test modules with Python 3.13 745s ============================= test session starts ============================== 745s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 745s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/storage_virtualize 745s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 745s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 745s created: 2/2 workers 745s 2 workers [762 items] 745s 746s ........................................................................ [ 9%] 747s ........................................................................ [ 18%] 747s ........................................................................ [ 28%] 748s ........................................................................ [ 37%] 749s ........................................................................ [ 47%] 750s ........................................................................ [ 56%] 751s ........................................................................ [ 66%] 752s ........................................................................ [ 75%] 753s ........................................................................ [ 85%] 753s ........................................................................ [ 94%] 754s .......................................... [100%] 754s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/storage_virtualize/tests/output/junit/python3.13-modules-units.xml - 754s ============================= 762 passed in 10.40s ============================= 754s Unit test module_utils with Python 3.13 755s ============================= test session starts ============================== 755s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 755s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/storage_virtualize 755s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 755s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 755s created: 2/2 workers 755s 2 workers [12 items] 755s 755s ............ [100%] 755s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/storage_virtualize/tests/output/junit/python3.13-module_utils-units.xml - 755s ============================== 12 passed in 0.85s ============================== 755s 755s 755s 755s ############################################################ 755s ############################################################ 755s #### Running tests in ansible_collections/ibm/spectrum_virtualize 755s ############################################################ 755s ############################################################ 756s Unit test modules with Python 3.13 758s ============================= test session starts ============================== 758s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 758s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/spectrum_virtualize 758s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 758s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 758s created: 2/2 workers 758s 2 workers [613 items] 758s 758s ........................................................................ [ 11%] 759s ........................................................................ [ 23%] 760s ........................................................................ [ 35%] 761s ........................................................................ [ 46%] 761s ........................................................................ [ 58%] 762s ........................................................................ [ 70%] 763s ........................................................................ [ 82%] 763s ........................................................................ [ 93%] 764s ..................................... [100%] 764s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/spectrum_virtualize/tests/output/junit/python3.13-modules-units.xml - 764s ============================= 613 passed in 7.70s ============================== 764s Unit test module_utils with Python 3.13 765s ============================= test session starts ============================== 765s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 765s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/spectrum_virtualize 765s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 765s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 765s created: 2/2 workers 765s 2 workers [9 items] 765s 765s ......... [100%] 765s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/spectrum_virtualize/tests/output/junit/python3.13-module_utils-units.xml - 765s ============================== 9 passed in 0.81s =============================== 765s 765s 765s 765s ############################################################ 765s ############################################################ 765s #### Running tests in ansible_collections/ibm/qradar 765s ############################################################ 765s ############################################################ 765s Unit test controller with Python 3.13 766s ============================= test session starts ============================== 766s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 766s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/qradar 766s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 766s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 766s created: 2/2 workers 766s 2 workers [5 items] 766s 766s ..... [100%] 766s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/qradar/tests/output/junit/python3.13-controller-units.xml - 766s ============================== 5 passed in 0.87s =============================== 766s 766s 766s 766s ############################################################ 766s ############################################################ 766s #### Running tests in ansible_collections/kubevirt/core 766s ############################################################ 766s ############################################################ 767s Unit test controller with Python 3.13 769s ============================= test session starts ============================== 769s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 769s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/kubevirt/core 769s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 769s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 769s created: 2/2 workers 769s 2 workers [190 items] 769s 770s ........................................................................ [ 37%] 770s ........................................................................ [ 75%] 770s .............................................. [100%] 770s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/kubevirt/core/tests/output/junit/python3.13-controller-units.xml - 770s ============================= 190 passed in 2.61s ============================== 771s 771s 771s 771s ############################################################ 771s ############################################################ 771s #### Running tests in ansible_collections/dellemc/openmanage 771s ############################################################ 771s ############################################################ 771s Unit test modules with Python 3.13 778s ============================= test session starts ============================== 778s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 778s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage 778s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 778s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 778s created: 2/2 workers 778s 2 workers [2636 items] 778s 778s ........................................................................ [ 2%] 779s ........................................................................ [ 5%] 780s ........................................................................ [ 8%] 780s ........................................................................ [ 10%] 781s ........................................................................ [ 13%] 782s ........................................................................ [ 16%] 783s ........................................................................ [ 19%] 784s ........................................................................ [ 21%] 785s ........................................................................ [ 24%] 786s ........................................................................ [ 27%] 787s ........................................................................ [ 30%] 792s ........................................................................ [ 32%] 794s ........................................................................ [ 35%] 795s ........................................................................ [ 38%] 796s ........................................................................ [ 40%] 797s ........................................................................ [ 43%] 797s ........................................................................ [ 46%] 798s ........................................................................ [ 49%] 799s ........................................................................ [ 51%] 800s ........................................................................ [ 54%] 801s ........................................................................ [ 57%] 802s ........................................................................ [ 60%] 805s ........................................................................ [ 62%] 806s ........................................................................ [ 65%] 807s ........................................................................ [ 68%] 808s ........................................................................ [ 71%] 810s ........................................................................ [ 73%] 811s ........................................................................ [ 76%] 812s ........................................................................ [ 79%] 813s ........................................................................ [ 81%] 814s ........................................................................ [ 84%] 815s ........................................................................ [ 87%] 848s ........................................................................ [ 90%] 849s ........................................................................ [ 92%] 850s ........................................................................ [ 95%] 852s ........................................................................ [ 98%] 852s ............................................ [100%] 852s =============================== warnings summary =============================== 852s tests/unit/plugins/modules/test_idrac_support_assist.py: 30 warnings 852s tests/unit/plugins/modules/test_idrac_system_erase.py: 6 warnings 852s tests/unit/plugins/modules/test_idrac_diagnostics.py: 19 warnings 852s tests/unit/plugins/modules/test_idrac_firmware_info.py: 6 warnings 852s tests/unit/plugins/modules/test_ome_application_network_proxy.py: 1 warning 852s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage/plugins/module_utils/utils.py:117: DeprecationWarning: 'count' is passed as positional argument 852s ipv6_short = re.sub(r'(:0)+', ':', tempstr, 1) 852s 852s tests/unit/plugins/modules/test_idrac_server_config_profile.py::TestServerConfigProfile::test_compare_custom_default_configs[params0] 852s tests/unit/plugins/modules/test_idrac_server_config_profile.py::TestServerConfigProfile::test_compare_custom_default_configs[params0] 852s /tmp/autopkgtest.NviVNE/build.FtY/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. 852s if component: 852s 852s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 852s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage/tests/output/junit/python3.13-modules-units.xml - 852s =========================== short test summary info ============================ 852s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_configure_idrac_eventing.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_configure_idrac_services.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_idrac_lc_attributes.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_idrac_storage_volume.py:22: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_system_lockdown_mode.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_firmware.py:27: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_job_status_info.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_jobs.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_logs.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_status_info.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_network.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_os_deployment.py:22: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_syslog.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_system_info.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_timezone_ntp.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk' 852s =========== 2636 passed, 15 skipped, 64 warnings in 81.11s (0:01:21) =========== 853s Unit test module_utils with Python 3.13 854s ============================= test session starts ============================== 854s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 854s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage 854s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 854s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 854s created: 2/2 workers 854s 2 workers [121 items] 854s 854s ........................................................................ [ 59%] 855s ................................................. [100%] 855s =============================== warnings summary =============================== 855s tests/unit/plugins/module_utils/test_idrac_redfish.py::TestIdracRedfishRest::test_invoke_request_without_session 855s tests/unit/plugins/module_utils/test_ome.py::TestOMERest::test_invoke_request_with_session 855s tests/unit/plugins/module_utils/test_redfish.py::TestRedfishRest::test_invoke_request_without_session 855s tests/unit/plugins/module_utils/test_rest_api.py::TestRestAPI::test_invoke_request_with_session 855s tests/unit/plugins/module_utils/test_session_utils.py::TestSessionRest::test_invoke_request_without_session 855s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage/plugins/module_utils/utils.py:117: DeprecationWarning: 'count' is passed as positional argument 855s ipv6_short = re.sub(r'(:0)+', ':', tempstr, 1) 855s 855s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 855s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage/tests/output/junit/python3.13-module_utils-units.xml - 855s ======================= 121 passed, 5 warnings in 1.98s ======================== 855s 855s 855s 855s ############################################################ 855s ############################################################ 855s #### Running tests in ansible_collections/dellemc/enterprise_sonic 855s ############################################################ 855s ############################################################ 855s Unit test controller with Python 3.13 858s ============================= test session starts ============================== 858s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 858s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/enterprise_sonic 858s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 858s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 858s created: 2/2 workers 858s 2 workers [404 items] 858s 862s ........................................................................ [ 17%] 865s ........................................................................ [ 35%] 869s ........................................................................ [ 53%] 873s ........................................................................ [ 71%] 879s ........................................................................ [ 89%] 883s ............................................ [100%] 883s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/enterprise_sonic/tests/output/junit/python3.13-controller-units.xml - 883s ============================= 404 passed in 27.08s ============================= 883s 883s 883s 883s ############################################################ 883s ############################################################ 883s #### Running tests in ansible_collections/dellemc/powerflex 883s ############################################################ 883s ############################################################ 883s Unit test modules with Python 3.13 885s ============================= test session starts ============================== 885s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 885s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/powerflex 885s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 885s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 885s created: 2/2 workers 885s 2 workers [405 items] 885s 886s ........................................................................ [ 17%] 886s ........................................................................ [ 35%] 887s ........................................................................ [ 53%] 887s ........................................................................ [ 71%] 888s ........................................................................ [ 88%] 888s ............................................. [100%] 888s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/powerflex/tests/output/junit/python3.13-modules-units.xml - 888s ============================= 405 passed in 4.48s ============================== 888s 888s 888s 888s ############################################################ 888s ############################################################ 888s #### Running tests in ansible_collections/dellemc/unity 888s ############################################################ 888s ############################################################ 888s Unit test modules with Python 3.13 890s ============================= test session starts ============================== 890s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 890s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/unity 890s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 890s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 890s created: 2/2 workers 890s 2 workers [92 items] 890s 891s ........................................................................ [ 78%] 891s .................... [100%] 891s =============================== warnings summary =============================== 891s plugins/module_utils/storage/dell/utils.py:72 891s plugins/module_utils/storage/dell/utils.py:72 891s /tmp/autopkgtest.NviVNE/build.FtY/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 891s from pkg_resources import parse_version 891s 891s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 891s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/unity/tests/output/junit/python3.13-modules-units.xml - 891s ======================== 92 passed, 2 warnings in 1.95s ======================== 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.NviVNE/build.FtY/src/ansible_collections/netapp/cloudmanager 893s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 893s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 893s created: 2/2 workers 893s 2 workers [106 items] 893s 909s ........................................................................ [ 67%] 939s .................................. [100%] 939s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/cloudmanager/tests/output/junit/python3.13-modules-units.xml - 939s ============================= 106 passed in 47.56s ============================= 939s 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.NviVNE/build.FtY/src/ansible_collections/netapp/cloudmanager 941s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 941s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 941s created: 2/2 workers 941s 2 workers [52 items] 941s 941s .................................................... [100%] 941s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/cloudmanager/tests/output/junit/python3.13-module_utils-units.xml - 941s ============================== 52 passed in 1.83s ============================== 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 943s ============================= test session starts ============================== 943s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 943s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/storagegrid 943s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 943s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 943s created: 2/2 workers 943s 2 workers [154 items] 943s 944s ........................................................................ [ 46%] 945s ........................................................................ [ 93%] 945s .......... [100%] 945s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/storagegrid/tests/output/junit/python3.13-modules-units.xml - 945s ============================= 154 passed in 2.64s ============================== 945s Skipping ansible_collections/ansible/utils 945s 945s 945s 945s ############################################################ 945s ############################################################ 945s #### Running tests in ansible_collections/ansible/windows 945s ############################################################ 945s ############################################################ 945s 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.NviVNE/build.FtY/src/ansible_collections/ansible/windows 947s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 947s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 947s created: 2/2 workers 947s 2 workers [50 items] 947s 947s .................................................. [100%] 947s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/windows/tests/output/junit/python3.13-controller-units.xml - 947s ============================== 50 passed in 1.43s ============================== 947s 947s 947s 947s ############################################################ 947s ############################################################ 947s #### Running tests in ansible_collections/ansible/netcommon 947s ############################################################ 947s ############################################################ 947s Unit test controller with Python 3.13 949s ============================= test session starts ============================== 949s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 949s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/netcommon 949s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 949s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 949s created: 2/2 workers 949s 2 workers [162 items] 949s 950s ........................................................................ [ 44%] 952s ..................................x...x................................. [ 88%] 953s ...............x.. [100%] 953s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/netcommon/tests/output/junit/python3.13-controller-units.xml - 953s =========================== short test summary info ============================ 953s SKIPPED [1] tests/unit/plugins/cli_parsers/test_pyats_parser.py:21: could not import 'pyats': No module named 'pyats' 953s SKIPPED [1] tests/unit/plugins/connection/test_libssh.py:23: could not import 'pylibsshext': No module named 'pylibsshext' 953s SKIPPED [1] tests/unit/plugins/connection/test_netconf.py:19: could not import 'ncclient': No module named 'ncclient' 953s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[auto-response2] 953s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[paramiko-response2] 953s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[libssh-response2] 953s ================== 159 passed, 3 skipped, 3 xfailed in 4.79s =================== 953s 953s 953s 953s ############################################################ 953s ############################################################ 953s #### Running tests in ansible_collections/ansible/posix 953s ############################################################ 953s ############################################################ 953s 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.NviVNE/build.FtY/src/ansible_collections/ansible/posix 954s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 954s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 954s created: 2/2 workers 954s 2 workers [14 items] 954s 954s .............. [100%] 954s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/posix/tests/output/junit/python3.13-controller-units.xml - 954s ============================== 14 passed in 0.97s ============================== 954s 954s 954s 954s ############################################################ 954s ############################################################ 954s #### Running tests in ansible_collections/containers/podman 954s ############################################################ 954s ############################################################ 955s Unit test modules 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.NviVNE/build.FtY/src/ansible_collections/containers/podman 956s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 956s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 956s created: 2/2 workers 956s 2 workers [10 items] 956s 956s .......... [100%] 956s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/containers/podman/tests/output/junit/python3.13-modules-units.xml - 956s ============================== 10 passed in 0.73s ============================== 956s 956s 956s 956s ############################################################ 956s ############################################################ 956s #### Running tests in ansible_collections/microsoft/ad 956s ############################################################ 956s ############################################################ 956s 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.NviVNE/build.FtY/src/ansible_collections/microsoft/ad 957s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 957s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 957s created: 2/2 workers 957s 2 workers [118 items] 957s 958s ........................................................................ [ 61%] 961s ................ss............................ [100%] 961s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/microsoft/ad/tests/output/junit/python3.13-controller-units.xml - 961s =========================== short test summary info ============================ 961s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_laps.py:9: could not import 'dpapi_ng': No module named 'dpapi_ng' 961s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_schema.py:8: could not import 'sansldap': No module named 'sansldap' 961s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_certificate.py:179: Hash algorithm is unavailable: Hash algorithm "md5" not supported for signatures 961s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_certificate.py:179: Hash algorithm is unavailable: Hash algorithm "sha1" not supported for signatures 961s ======================== 116 passed, 4 skipped in 4.94s ======================== 961s Skipping ansible_collections/infoblox/nios_modules 961s Skipping ansible_collections/sensu/sensu_go 961s Skipping ansible_collections/netapp_eseries/santricity 961s Skipping ansible_collections/junipernetworks/junos 961s 961s 961s 961s ############################################################ 961s ############################################################ 961s #### Running tests in ansible_collections/cloud/common 961s ############################################################ 961s ############################################################ 962s Unit test module_utils 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.NviVNE/build.FtY/src/ansible_collections/cloud/common 963s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 963s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 963s created: 2/2 workers 963s 2 workers [19 items] 963s 964s ................... [100%] 964s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cloud/common/tests/output/junit/python3.13-module_utils-units.xml - 964s ============================== 19 passed in 2.13s ============================== 964s 964s 964s 964s ############################################################ 964s ############################################################ 964s #### Running tests in ansible_collections/netbox/netbox 964s ############################################################ 964s ############################################################ 965s Unit test controller with Python 3.13 966s ============================= test session starts ============================== 966s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 966s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netbox/netbox 966s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 966s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 966s created: 2/2 workers 966s 2 workers [208 items] 966s 966s ........................................................................ [ 34%] 967s ........................................................................ [ 69%] 967s ................................................................ [100%] 967s =============================== warnings summary =============================== 967s tests/unit/inventory/test_nb_inventory.py::test_refresh_lookups 967s /usr/lib/python3/dist-packages/_pytest/threadexception.py:82: PytestUnhandledThreadExceptionWarning: Exception in thread Thread-2 (wrapper) 967s 967s Traceback (most recent call last): 967s File "/usr/lib/python3.13/threading.py", line 1041, in _bootstrap_inner 967s self.run() 967s ~~~~~~~~^^ 967s File "/usr/lib/python3.13/threading.py", line 992, in run 967s self._target(*self._args, **self._kwargs) 967s ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 967s File "/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netbox/netbox/plugins/inventory/nb_inventory.py", line 1569, in wrapper 967s raise e 967s File "/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netbox/netbox/plugins/inventory/nb_inventory.py", line 1564, in wrapper 967s lookup() 967s ~~~~~~^^ 967s File "/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netbox/netbox/tests/unit/inventory/test_nb_inventory.py", line 154, in raises_exception 967s raise Exception("Error from within a thread") 967s Exception: Error from within a thread 967s 967s warnings.warn(pytest.PytestUnhandledThreadExceptionWarning(msg)) 967s 967s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 967s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netbox/netbox/tests/output/junit/python3.13-controller-units.xml - 967s ======================== 208 passed, 1 warning in 2.40s ======================== 968s autopkgtest [08:05:50]: test unit-tests-stable.py: -----------------------] 969s autopkgtest [08:05:51]: test unit-tests-stable.py: - - - - - - - - - - results - - - - - - - - - - 969s unit-tests-stable.py PASS 969s autopkgtest [08:05:51]: test unit-tests-flaky.py: preparing testbed 1101s autopkgtest [08:08:03]: testbed dpkg architecture: ppc64el 1101s autopkgtest [08:08:03]: testbed apt version: 3.0.0 1102s autopkgtest [08:08:04]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1102s autopkgtest [08:08:04]: testbed release detected to be: questing 1103s autopkgtest [08:08:05]: updating testbed package index (apt update) 1103s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 1103s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 1103s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 1104s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 1104s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2202 kB] 1104s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [184 kB] 1104s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [57.4 kB] 1104s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main ppc64el Packages [221 kB] 1104s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el Packages [1320 kB] 1104s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse ppc64el Packages [16.5 kB] 1105s Fetched 4111 kB in 2s (2720 kB/s) 1106s Reading package lists... 1106s autopkgtest [08:08:08]: upgrading testbed (apt dist-upgrade and autopurge) 1106s Reading package lists... 1106s Building dependency tree... 1106s Reading state information... 1107s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1107s Starting 2 pkgProblemResolver with broken count: 0 1107s Done 1107s Entering ResolveByKeep 1107s 1107s Calculating upgrade... 1108s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1108s Reading package lists... 1108s Building dependency tree... 1108s Reading state information... 1108s Starting pkgProblemResolver with broken count: 0 1108s Starting 2 pkgProblemResolver with broken count: 0 1108s Done 1108s Solving dependencies... 1109s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1111s Reading package lists... 1112s Building dependency tree... 1112s Reading state information... 1112s Starting pkgProblemResolver with broken count: 0 1112s Starting 2 pkgProblemResolver with broken count: 0 1112s Done 1112s The following NEW packages will be installed: 1112s ansible ansible-core fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1112s gir1.2-secret-1 git git-man libcairo-gobject2 libcairo2 liberror-perl 1112s libfontconfig1 libpixman-1-0 libsecret-1-0 libsecret-common libsodium23 1112s libxcb-render0 libxcb-shm0 libxrender1 libxslt1.1 python3-adal 1112s python3-aiohappyeyeballs python3-aiohttp python3-aiosignal 1112s python3-async-timeout python3-avro python3-azure python3-azure-storage 1112s python3-boto3 python3-botocore python3-cachetools python3-cairo 1112s python3-click python3-colorama python3-dateutil python3-deprecated 1112s python3-dnspython python3-execnet python3-flake8 python3-freezegun 1112s python3-frozenlist python3-gi-cairo python3-gitlab python3-google-auth 1112s python3-httmock python3-hvac python3-iniconfig python3-isodate 1112s python3-jmespath python3-joblib python3-kubernetes python3-lxml 1112s python3-marshmallow python3-mccabe python3-mock python3-msal 1112s python3-msal-extensions python3-msrest python3-msrestazure python3-multidict 1112s python3-nacl python3-nltk python3-packaging python3-paramiko 1112s python3-pathspec python3-pluggy python3-portalocker python3-proxmoxer 1112s python3-psutil python3-py python3-pyasn1 python3-pyasn1-modules 1112s python3-pycodestyle python3-pydash python3-pyflakes python3-pyhcl 1112s python3-pytest python3-pytest-forked python3-pytest-mock 1112s python3-pytest-xdist python3-pyu2f python3-pyvmomi python3-redis 1112s python3-regex python3-requests-oauthlib python3-requests-toolbelt 1112s python3-resolvelib python3-responses python3-rsa python3-ruamel.yaml 1112s python3-ruamel.yaml.clib python3-s3transfer python3-six python3-strictyaml 1112s python3-textfsm python3-tqdm python3-websocket python3-wrapt 1112s python3-xmltodict python3-yarl yamllint 1112s 0 upgraded, 101 newly installed, 0 to remove and 0 not upgraded. 1112s Need to get 62.6 MB of archives. 1112s After this operation, 1005 MB of additional disk space will be used. 1112s Get:1 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-packaging all 24.2-1 [51.5 kB] 1113s Get:2 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-resolvelib all 1.1.0-1 [25.8 kB] 1113s Get:3 http://ftpmaster.internal/ubuntu questing/main ppc64el libsodium23 ppc64el 1.0.18-1build3 [150 kB] 1113s Get:4 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-nacl ppc64el 1.5.0-7 [59.1 kB] 1113s Get:5 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-paramiko all 3.5.1-2ubuntu1 [147 kB] 1113s Get:6 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-dnspython all 2.7.0-1ubuntu1 [167 kB] 1113s Get:7 http://ftpmaster.internal/ubuntu questing/universe ppc64el ansible-core all 2.18.1-4ubuntu1 [1273 kB] 1113s Get:8 http://ftpmaster.internal/ubuntu questing/universe ppc64el ansible all 11.2.0+dfsg-1 [18.1 MB] 1114s Get:9 http://ftpmaster.internal/ubuntu questing/main ppc64el fonts-dejavu-mono all 2.37-8 [502 kB] 1114s Get:10 http://ftpmaster.internal/ubuntu questing/main ppc64el fonts-dejavu-core all 2.37-8 [835 kB] 1114s Get:11 http://ftpmaster.internal/ubuntu questing/main ppc64el fontconfig-config ppc64el 2.15.0-2.2ubuntu1 [37.9 kB] 1114s Get:12 http://ftpmaster.internal/ubuntu questing/main ppc64el libsecret-common all 0.21.7-1 [5160 B] 1114s Get:13 http://ftpmaster.internal/ubuntu questing/main ppc64el libsecret-1-0 ppc64el 0.21.7-1 [126 kB] 1114s Get:14 http://ftpmaster.internal/ubuntu questing/main ppc64el gir1.2-secret-1 ppc64el 0.21.7-1 [9396 B] 1114s Get:15 http://ftpmaster.internal/ubuntu questing/main ppc64el liberror-perl all 0.17030-1 [23.5 kB] 1114s Get:16 http://ftpmaster.internal/ubuntu questing/main ppc64el git-man all 1:2.48.1-0ubuntu1 [1148 kB] 1114s Get:17 http://ftpmaster.internal/ubuntu questing/main ppc64el git ppc64el 1:2.48.1-0ubuntu1 [7338 kB] 1114s Get:18 http://ftpmaster.internal/ubuntu questing/main ppc64el libfontconfig1 ppc64el 2.15.0-2.2ubuntu1 [187 kB] 1114s Get:19 http://ftpmaster.internal/ubuntu questing/main ppc64el libpixman-1-0 ppc64el 0.44.0-3 [334 kB] 1114s Get:20 http://ftpmaster.internal/ubuntu questing/main ppc64el libxcb-render0 ppc64el 1.17.0-2 [17.2 kB] 1114s Get:21 http://ftpmaster.internal/ubuntu questing/main ppc64el libxcb-shm0 ppc64el 1.17.0-2 [5980 B] 1114s Get:22 http://ftpmaster.internal/ubuntu questing/main ppc64el libxrender1 ppc64el 1:0.9.10-1.1build1 [23.1 kB] 1114s Get:23 http://ftpmaster.internal/ubuntu questing/main ppc64el libcairo2 ppc64el 1.18.4-1 [746 kB] 1114s Get:24 http://ftpmaster.internal/ubuntu questing/main ppc64el libcairo-gobject2 ppc64el 1.18.4-1 [128 kB] 1114s Get:25 http://ftpmaster.internal/ubuntu questing/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1ubuntu4 [191 kB] 1114s Get:26 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-dateutil all 2.9.0-4 [80.3 kB] 1114s Get:27 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-adal all 1.2.7-5 [33.0 kB] 1114s Get:28 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiohappyeyeballs all 2.6.1-1 [11.1 kB] 1114s Get:29 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-multidict ppc64el 6.2.0-2 [37.9 kB] 1114s Get:30 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-yarl ppc64el 1.13.1-1build2 [102 kB] 1114s Get:31 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-async-timeout all 5.0.1-1 [6830 B] 1114s Get:32 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-frozenlist ppc64el 1.5.0-1build2 [53.2 kB] 1114s Get:33 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiosignal all 1.3.2-1 [5182 B] 1114s Get:34 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiohttp ppc64el 3.10.11-1build1 [315 kB] 1114s Get:35 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-avro all 1.12.0+dfsg-1 [75.3 kB] 1114s Get:36 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-isodate all 0.7.0-1 [18.6 kB] 1115s Get:37 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 1115s Get:38 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msrest all 0.6.21-5 [48.7 kB] 1115s Get:39 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msrestazure all 0.6.4-4 [27.1 kB] 1115s Get:40 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el python3-azure-storage all 20250401+git-1 [300 kB] 1115s Get:41 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-colorama all 0.4.6-4 [32.1 kB] 1115s Get:42 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-marshmallow all 3.26.1-0.2 [47.5 kB] 1115s Get:43 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msal all 1.32.0-1 [100 kB] 1115s Get:44 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-cairo ppc64el 1.27.0-2 [129 kB] 1115s Get:45 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-gi-cairo ppc64el 3.50.0-4build1 [8252 B] 1115s Get:46 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-portalocker all 2.2.1-1 [17.2 kB] 1115s Get:47 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msal-extensions all 1.3.1-1 [18.2 kB] 1115s Get:48 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 1115s Get:49 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-joblib all 1.4.2-3 [205 kB] 1115s Get:50 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-regex ppc64el 0.1.20241106-1build1 [326 kB] 1115s Get:51 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-tqdm all 4.67.1-3 [91.6 kB] 1115s Get:52 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-nltk all 3.9.1-2 [1006 kB] 1115s Get:53 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-psutil ppc64el 5.9.8-2build3 [197 kB] 1115s Get:54 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pydash all 8.0.3-3 [93.0 kB] 1115s Get:55 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-six all 1.17.0-1 [13.2 kB] 1115s Get:56 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.12+ds-1build1 [169 kB] 1115s Get:57 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 1115s Get:58 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-strictyaml all 1.6.1-3 [89.1 kB] 1115s Get:59 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-websocket all 1.8.0-2 [38.5 kB] 1115s Get:60 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el python3-azure all 20250401+git-1 [16.0 MB] 1115s Get:61 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-jmespath all 1.0.1-1 [21.3 kB] 1115s Get:62 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-botocore all 1.37.9+repack-1 [6982 kB] 1116s Get:63 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-s3transfer all 0.11.2-2 [55.5 kB] 1116s Get:64 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-boto3 all 1.37.9-1 [73.0 kB] 1116s Get:65 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-cachetools all 5.3.3-1 [10.3 kB] 1116s Get:66 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-wrapt ppc64el 1.15.0-4build1 [35.7 kB] 1116s Get:67 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-deprecated all 1.2.18-1 [10.6 kB] 1116s Get:68 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-execnet all 2.1.1-1 [33.4 kB] 1116s Get:69 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-mccabe all 0.7.0-1 [8678 B] 1116s Get:70 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pycodestyle all 2.12.1-2 [30.2 kB] 1116s Get:71 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyflakes all 3.2.0-3 [53.0 kB] 1116s Get:72 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-flake8 all 7.1.1-3 [44.0 kB] 1116s Get:73 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-freezegun all 1.5.1-1.2 [15.9 kB] 1116s Get:74 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-requests-toolbelt all 1.0.0-4 [37.0 kB] 1116s Get:75 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-gitlab all 1:4.9.0-1 [75.0 kB] 1116s Get:76 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-pyasn1 all 0.6.1-1 [56.4 kB] 1116s Get:77 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-pyasn1-modules all 0.4.1-2 [80.3 kB] 1116s Get:78 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyu2f all 0.1.5-4 [22.9 kB] 1116s Get:79 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-responses all 0.25.6-1 [40.5 kB] 1116s Get:80 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-rsa all 4.9-2 [28.2 kB] 1116s Get:81 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-google-auth all 2.28.2-3 [91.0 kB] 1116s Get:82 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-httmock all 1.4.0-5 [6544 B] 1116s Get:83 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyhcl all 0.4.4-6 [43.1 kB] 1116s Get:84 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-hvac all 2.3.0-3 [88.1 kB] 1116s Get:85 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 1116s Get:86 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-kubernetes all 30.1.0-2 [385 kB] 1116s Get:87 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-lxml ppc64el 5.3.2-1 [1393 kB] 1116s Get:88 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pathspec all 0.12.1-1 [24.5 kB] 1116s Get:89 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB] 1116s Get:90 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-proxmoxer all 2.2.0-1 [16.2 kB] 1116s Get:91 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-py all 1.11.0-4 [72.7 kB] 1116s Get:92 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest all 8.3.5-1 [252 kB] 1116s Get:93 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-forked all 1.6.0-3 [7470 B] 1116s Get:94 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-mock all 3.14.0-2 [11.7 kB] 1116s Get:95 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-xdist all 3.6.1-1 [33.8 kB] 1116s Get:96 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyvmomi all 8.0.3.0.1-1 [532 kB] 1116s Get:97 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-redis all 4.3.4-4 [166 kB] 1116s Get:98 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-textfsm all 1.1.3-3 [29.3 kB] 1116s Get:99 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-xmltodict all 0.13.0-1 [13.4 kB] 1116s Get:100 http://ftpmaster.internal/ubuntu questing/universe ppc64el yamllint all 1.35.1-2 [43.6 kB] 1116s Get:101 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-mock all 5.1.0-1 [64.1 kB] 1117s Fetched 62.6 MB in 4s (15.8 MB/s) 1117s Selecting previously unselected package python3-packaging. 1117s (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 ... 107206 files and directories currently installed.) 1117s Preparing to unpack .../000-python3-packaging_24.2-1_all.deb ... 1117s Unpacking python3-packaging (24.2-1) ... 1117s Selecting previously unselected package python3-resolvelib. 1117s Preparing to unpack .../001-python3-resolvelib_1.1.0-1_all.deb ... 1117s Unpacking python3-resolvelib (1.1.0-1) ... 1117s Selecting previously unselected package libsodium23:ppc64el. 1117s Preparing to unpack .../002-libsodium23_1.0.18-1build3_ppc64el.deb ... 1117s Unpacking libsodium23:ppc64el (1.0.18-1build3) ... 1117s Selecting previously unselected package python3-nacl. 1117s Preparing to unpack .../003-python3-nacl_1.5.0-7_ppc64el.deb ... 1117s Unpacking python3-nacl (1.5.0-7) ... 1117s Selecting previously unselected package python3-paramiko. 1117s Preparing to unpack .../004-python3-paramiko_3.5.1-2ubuntu1_all.deb ... 1117s Unpacking python3-paramiko (3.5.1-2ubuntu1) ... 1117s Selecting previously unselected package python3-dnspython. 1117s Preparing to unpack .../005-python3-dnspython_2.7.0-1ubuntu1_all.deb ... 1117s Unpacking python3-dnspython (2.7.0-1ubuntu1) ... 1117s Selecting previously unselected package ansible-core. 1117s Preparing to unpack .../006-ansible-core_2.18.1-4ubuntu1_all.deb ... 1117s Unpacking ansible-core (2.18.1-4ubuntu1) ... 1117s Selecting previously unselected package ansible. 1117s Preparing to unpack .../007-ansible_11.2.0+dfsg-1_all.deb ... 1117s Unpacking ansible (11.2.0+dfsg-1) ... 1120s Selecting previously unselected package fonts-dejavu-mono. 1121s Preparing to unpack .../008-fonts-dejavu-mono_2.37-8_all.deb ... 1121s Unpacking fonts-dejavu-mono (2.37-8) ... 1121s Selecting previously unselected package fonts-dejavu-core. 1121s Preparing to unpack .../009-fonts-dejavu-core_2.37-8_all.deb ... 1121s Unpacking fonts-dejavu-core (2.37-8) ... 1121s Selecting previously unselected package fontconfig-config. 1121s Preparing to unpack .../010-fontconfig-config_2.15.0-2.2ubuntu1_ppc64el.deb ... 1121s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ... 1121s Selecting previously unselected package libsecret-common. 1121s Preparing to unpack .../011-libsecret-common_0.21.7-1_all.deb ... 1121s Unpacking libsecret-common (0.21.7-1) ... 1121s Selecting previously unselected package libsecret-1-0:ppc64el. 1121s Preparing to unpack .../012-libsecret-1-0_0.21.7-1_ppc64el.deb ... 1121s Unpacking libsecret-1-0:ppc64el (0.21.7-1) ... 1121s Selecting previously unselected package gir1.2-secret-1:ppc64el. 1121s Preparing to unpack .../013-gir1.2-secret-1_0.21.7-1_ppc64el.deb ... 1121s Unpacking gir1.2-secret-1:ppc64el (0.21.7-1) ... 1121s Selecting previously unselected package liberror-perl. 1121s Preparing to unpack .../014-liberror-perl_0.17030-1_all.deb ... 1121s Unpacking liberror-perl (0.17030-1) ... 1121s Selecting previously unselected package git-man. 1121s Preparing to unpack .../015-git-man_1%3a2.48.1-0ubuntu1_all.deb ... 1121s Unpacking git-man (1:2.48.1-0ubuntu1) ... 1121s Selecting previously unselected package git. 1121s Preparing to unpack .../016-git_1%3a2.48.1-0ubuntu1_ppc64el.deb ... 1121s Unpacking git (1:2.48.1-0ubuntu1) ... 1121s Selecting previously unselected package libfontconfig1:ppc64el. 1121s Preparing to unpack .../017-libfontconfig1_2.15.0-2.2ubuntu1_ppc64el.deb ... 1121s Unpacking libfontconfig1:ppc64el (2.15.0-2.2ubuntu1) ... 1121s Selecting previously unselected package libpixman-1-0:ppc64el. 1121s Preparing to unpack .../018-libpixman-1-0_0.44.0-3_ppc64el.deb ... 1121s Unpacking libpixman-1-0:ppc64el (0.44.0-3) ... 1121s Selecting previously unselected package libxcb-render0:ppc64el. 1121s Preparing to unpack .../019-libxcb-render0_1.17.0-2_ppc64el.deb ... 1121s Unpacking libxcb-render0:ppc64el (1.17.0-2) ... 1121s Selecting previously unselected package libxcb-shm0:ppc64el. 1121s Preparing to unpack .../020-libxcb-shm0_1.17.0-2_ppc64el.deb ... 1121s Unpacking libxcb-shm0:ppc64el (1.17.0-2) ... 1121s Selecting previously unselected package libxrender1:ppc64el. 1121s Preparing to unpack .../021-libxrender1_1%3a0.9.10-1.1build1_ppc64el.deb ... 1121s Unpacking libxrender1:ppc64el (1:0.9.10-1.1build1) ... 1121s Selecting previously unselected package libcairo2:ppc64el. 1121s Preparing to unpack .../022-libcairo2_1.18.4-1_ppc64el.deb ... 1121s Unpacking libcairo2:ppc64el (1.18.4-1) ... 1121s Selecting previously unselected package libcairo-gobject2:ppc64el. 1121s Preparing to unpack .../023-libcairo-gobject2_1.18.4-1_ppc64el.deb ... 1121s Unpacking libcairo-gobject2:ppc64el (1.18.4-1) ... 1121s Selecting previously unselected package libxslt1.1:ppc64el. 1121s Preparing to unpack .../024-libxslt1.1_1.1.39-0exp1ubuntu4_ppc64el.deb ... 1121s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1ubuntu4) ... 1121s Selecting previously unselected package python3-dateutil. 1121s Preparing to unpack .../025-python3-dateutil_2.9.0-4_all.deb ... 1121s Unpacking python3-dateutil (2.9.0-4) ... 1121s Selecting previously unselected package python3-adal. 1121s Preparing to unpack .../026-python3-adal_1.2.7-5_all.deb ... 1121s Unpacking python3-adal (1.2.7-5) ... 1121s Selecting previously unselected package python3-aiohappyeyeballs. 1121s Preparing to unpack .../027-python3-aiohappyeyeballs_2.6.1-1_all.deb ... 1121s Unpacking python3-aiohappyeyeballs (2.6.1-1) ... 1121s Selecting previously unselected package python3-multidict. 1121s Preparing to unpack .../028-python3-multidict_6.2.0-2_ppc64el.deb ... 1121s Unpacking python3-multidict (6.2.0-2) ... 1121s Selecting previously unselected package python3-yarl. 1121s Preparing to unpack .../029-python3-yarl_1.13.1-1build2_ppc64el.deb ... 1121s Unpacking python3-yarl (1.13.1-1build2) ... 1121s Selecting previously unselected package python3-async-timeout. 1121s Preparing to unpack .../030-python3-async-timeout_5.0.1-1_all.deb ... 1121s Unpacking python3-async-timeout (5.0.1-1) ... 1122s Selecting previously unselected package python3-frozenlist. 1122s Preparing to unpack .../031-python3-frozenlist_1.5.0-1build2_ppc64el.deb ... 1122s Unpacking python3-frozenlist (1.5.0-1build2) ... 1122s Selecting previously unselected package python3-aiosignal. 1122s Preparing to unpack .../032-python3-aiosignal_1.3.2-1_all.deb ... 1122s Unpacking python3-aiosignal (1.3.2-1) ... 1122s Selecting previously unselected package python3-aiohttp. 1122s Preparing to unpack .../033-python3-aiohttp_3.10.11-1build1_ppc64el.deb ... 1122s Unpacking python3-aiohttp (3.10.11-1build1) ... 1122s Selecting previously unselected package python3-avro. 1122s Preparing to unpack .../034-python3-avro_1.12.0+dfsg-1_all.deb ... 1122s Unpacking python3-avro (1.12.0+dfsg-1) ... 1122s Selecting previously unselected package python3-isodate. 1122s Preparing to unpack .../035-python3-isodate_0.7.0-1_all.deb ... 1122s Unpacking python3-isodate (0.7.0-1) ... 1122s Selecting previously unselected package python3-requests-oauthlib. 1122s Preparing to unpack .../036-python3-requests-oauthlib_1.3.1-1_all.deb ... 1122s Unpacking python3-requests-oauthlib (1.3.1-1) ... 1122s Selecting previously unselected package python3-msrest. 1122s Preparing to unpack .../037-python3-msrest_0.6.21-5_all.deb ... 1122s Unpacking python3-msrest (0.6.21-5) ... 1122s Selecting previously unselected package python3-msrestazure. 1122s Preparing to unpack .../038-python3-msrestazure_0.6.4-4_all.deb ... 1122s Unpacking python3-msrestazure (0.6.4-4) ... 1122s Selecting previously unselected package python3-azure-storage. 1122s Preparing to unpack .../039-python3-azure-storage_20250401+git-1_all.deb ... 1122s Unpacking python3-azure-storage (20250401+git-1) ... 1122s Selecting previously unselected package python3-colorama. 1122s Preparing to unpack .../040-python3-colorama_0.4.6-4_all.deb ... 1122s Unpacking python3-colorama (0.4.6-4) ... 1122s Selecting previously unselected package python3-marshmallow. 1122s Preparing to unpack .../041-python3-marshmallow_3.26.1-0.2_all.deb ... 1122s Unpacking python3-marshmallow (3.26.1-0.2) ... 1122s Selecting previously unselected package python3-msal. 1122s Preparing to unpack .../042-python3-msal_1.32.0-1_all.deb ... 1122s Unpacking python3-msal (1.32.0-1) ... 1122s Selecting previously unselected package python3-cairo. 1122s Preparing to unpack .../043-python3-cairo_1.27.0-2_ppc64el.deb ... 1122s Unpacking python3-cairo (1.27.0-2) ... 1122s Selecting previously unselected package python3-gi-cairo. 1122s Preparing to unpack .../044-python3-gi-cairo_3.50.0-4build1_ppc64el.deb ... 1122s Unpacking python3-gi-cairo (3.50.0-4build1) ... 1122s Selecting previously unselected package python3-portalocker. 1122s Preparing to unpack .../045-python3-portalocker_2.2.1-1_all.deb ... 1122s Unpacking python3-portalocker (2.2.1-1) ... 1122s Selecting previously unselected package python3-msal-extensions. 1122s Preparing to unpack .../046-python3-msal-extensions_1.3.1-1_all.deb ... 1122s Unpacking python3-msal-extensions (1.3.1-1) ... 1122s Selecting previously unselected package python3-click. 1122s Preparing to unpack .../047-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 1122s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 1122s Selecting previously unselected package python3-joblib. 1122s Preparing to unpack .../048-python3-joblib_1.4.2-3_all.deb ... 1122s Unpacking python3-joblib (1.4.2-3) ... 1122s Selecting previously unselected package python3-regex. 1122s Preparing to unpack .../049-python3-regex_0.1.20241106-1build1_ppc64el.deb ... 1122s Unpacking python3-regex (0.1.20241106-1build1) ... 1122s Selecting previously unselected package python3-tqdm. 1122s Preparing to unpack .../050-python3-tqdm_4.67.1-3_all.deb ... 1122s Unpacking python3-tqdm (4.67.1-3) ... 1122s Selecting previously unselected package python3-nltk. 1122s Preparing to unpack .../051-python3-nltk_3.9.1-2_all.deb ... 1122s Unpacking python3-nltk (3.9.1-2) ... 1122s Selecting previously unselected package python3-psutil. 1122s Preparing to unpack .../052-python3-psutil_5.9.8-2build3_ppc64el.deb ... 1122s Unpacking python3-psutil (5.9.8-2build3) ... 1122s Selecting previously unselected package python3-pydash. 1122s Preparing to unpack .../053-python3-pydash_8.0.3-3_all.deb ... 1122s Unpacking python3-pydash (8.0.3-3) ... 1122s Selecting previously unselected package python3-six. 1122s Preparing to unpack .../054-python3-six_1.17.0-1_all.deb ... 1122s Unpacking python3-six (1.17.0-1) ... 1122s Selecting previously unselected package python3-ruamel.yaml.clib. 1122s Preparing to unpack .../055-python3-ruamel.yaml.clib_0.2.12+ds-1build1_ppc64el.deb ... 1122s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 1122s Selecting previously unselected package python3-ruamel.yaml. 1122s Preparing to unpack .../056-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 1122s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 1122s Selecting previously unselected package python3-strictyaml. 1122s Preparing to unpack .../057-python3-strictyaml_1.6.1-3_all.deb ... 1122s Unpacking python3-strictyaml (1.6.1-3) ... 1122s Selecting previously unselected package python3-websocket. 1122s Preparing to unpack .../058-python3-websocket_1.8.0-2_all.deb ... 1122s Unpacking python3-websocket (1.8.0-2) ... 1122s Selecting previously unselected package python3-azure. 1122s Preparing to unpack .../059-python3-azure_20250401+git-1_all.deb ... 1122s Unpacking python3-azure (20250401+git-1) ... 1127s Selecting previously unselected package python3-jmespath. 1127s Preparing to unpack .../060-python3-jmespath_1.0.1-1_all.deb ... 1127s Unpacking python3-jmespath (1.0.1-1) ... 1127s Selecting previously unselected package python3-botocore. 1127s Preparing to unpack .../061-python3-botocore_1.37.9+repack-1_all.deb ... 1127s Unpacking python3-botocore (1.37.9+repack-1) ... 1128s Selecting previously unselected package python3-s3transfer. 1128s Preparing to unpack .../062-python3-s3transfer_0.11.2-2_all.deb ... 1128s Unpacking python3-s3transfer (0.11.2-2) ... 1128s Selecting previously unselected package python3-boto3. 1128s Preparing to unpack .../063-python3-boto3_1.37.9-1_all.deb ... 1128s Unpacking python3-boto3 (1.37.9-1) ... 1128s Selecting previously unselected package python3-cachetools. 1128s Preparing to unpack .../064-python3-cachetools_5.3.3-1_all.deb ... 1128s Unpacking python3-cachetools (5.3.3-1) ... 1128s Selecting previously unselected package python3-wrapt. 1128s Preparing to unpack .../065-python3-wrapt_1.15.0-4build1_ppc64el.deb ... 1128s Unpacking python3-wrapt (1.15.0-4build1) ... 1128s Selecting previously unselected package python3-deprecated. 1128s Preparing to unpack .../066-python3-deprecated_1.2.18-1_all.deb ... 1128s Unpacking python3-deprecated (1.2.18-1) ... 1128s Selecting previously unselected package python3-execnet. 1128s Preparing to unpack .../067-python3-execnet_2.1.1-1_all.deb ... 1128s Unpacking python3-execnet (2.1.1-1) ... 1128s Selecting previously unselected package python3-mccabe. 1128s Preparing to unpack .../068-python3-mccabe_0.7.0-1_all.deb ... 1128s Unpacking python3-mccabe (0.7.0-1) ... 1128s Selecting previously unselected package python3-pycodestyle. 1128s Preparing to unpack .../069-python3-pycodestyle_2.12.1-2_all.deb ... 1128s Unpacking python3-pycodestyle (2.12.1-2) ... 1128s Selecting previously unselected package python3-pyflakes. 1128s Preparing to unpack .../070-python3-pyflakes_3.2.0-3_all.deb ... 1128s Unpacking python3-pyflakes (3.2.0-3) ... 1128s Selecting previously unselected package python3-flake8. 1128s Preparing to unpack .../071-python3-flake8_7.1.1-3_all.deb ... 1128s Unpacking python3-flake8 (7.1.1-3) ... 1128s Selecting previously unselected package python3-freezegun. 1128s Preparing to unpack .../072-python3-freezegun_1.5.1-1.2_all.deb ... 1128s Unpacking python3-freezegun (1.5.1-1.2) ... 1128s Selecting previously unselected package python3-requests-toolbelt. 1128s Preparing to unpack .../073-python3-requests-toolbelt_1.0.0-4_all.deb ... 1128s Unpacking python3-requests-toolbelt (1.0.0-4) ... 1128s Selecting previously unselected package python3-gitlab. 1128s Preparing to unpack .../074-python3-gitlab_1%3a4.9.0-1_all.deb ... 1128s Unpacking python3-gitlab (1:4.9.0-1) ... 1128s Selecting previously unselected package python3-pyasn1. 1128s Preparing to unpack .../075-python3-pyasn1_0.6.1-1_all.deb ... 1128s Unpacking python3-pyasn1 (0.6.1-1) ... 1128s Selecting previously unselected package python3-pyasn1-modules. 1128s Preparing to unpack .../076-python3-pyasn1-modules_0.4.1-2_all.deb ... 1128s Unpacking python3-pyasn1-modules (0.4.1-2) ... 1128s Selecting previously unselected package python3-pyu2f. 1128s Preparing to unpack .../077-python3-pyu2f_0.1.5-4_all.deb ... 1128s Unpacking python3-pyu2f (0.1.5-4) ... 1128s Selecting previously unselected package python3-responses. 1128s Preparing to unpack .../078-python3-responses_0.25.6-1_all.deb ... 1128s Unpacking python3-responses (0.25.6-1) ... 1129s Selecting previously unselected package python3-rsa. 1129s Preparing to unpack .../079-python3-rsa_4.9-2_all.deb ... 1129s Unpacking python3-rsa (4.9-2) ... 1129s Selecting previously unselected package python3-google-auth. 1129s Preparing to unpack .../080-python3-google-auth_2.28.2-3_all.deb ... 1129s Unpacking python3-google-auth (2.28.2-3) ... 1129s Selecting previously unselected package python3-httmock. 1129s Preparing to unpack .../081-python3-httmock_1.4.0-5_all.deb ... 1129s Unpacking python3-httmock (1.4.0-5) ... 1129s Selecting previously unselected package python3-pyhcl. 1129s Preparing to unpack .../082-python3-pyhcl_0.4.4-6_all.deb ... 1129s Unpacking python3-pyhcl (0.4.4-6) ... 1129s Selecting previously unselected package python3-hvac. 1129s Preparing to unpack .../083-python3-hvac_2.3.0-3_all.deb ... 1129s Unpacking python3-hvac (2.3.0-3) ... 1129s Selecting previously unselected package python3-iniconfig. 1129s Preparing to unpack .../084-python3-iniconfig_1.1.1-2_all.deb ... 1129s Unpacking python3-iniconfig (1.1.1-2) ... 1129s Selecting previously unselected package python3-kubernetes. 1129s Preparing to unpack .../085-python3-kubernetes_30.1.0-2_all.deb ... 1129s Unpacking python3-kubernetes (30.1.0-2) ... 1129s Selecting previously unselected package python3-lxml:ppc64el. 1129s Preparing to unpack .../086-python3-lxml_5.3.2-1_ppc64el.deb ... 1129s Unpacking python3-lxml:ppc64el (5.3.2-1) ... 1129s Selecting previously unselected package python3-pathspec. 1129s Preparing to unpack .../087-python3-pathspec_0.12.1-1_all.deb ... 1129s Unpacking python3-pathspec (0.12.1-1) ... 1129s Selecting previously unselected package python3-pluggy. 1129s Preparing to unpack .../088-python3-pluggy_1.5.0-1_all.deb ... 1129s Unpacking python3-pluggy (1.5.0-1) ... 1129s Selecting previously unselected package python3-proxmoxer. 1129s Preparing to unpack .../089-python3-proxmoxer_2.2.0-1_all.deb ... 1129s Unpacking python3-proxmoxer (2.2.0-1) ... 1129s Selecting previously unselected package python3-py. 1129s Preparing to unpack .../090-python3-py_1.11.0-4_all.deb ... 1129s Unpacking python3-py (1.11.0-4) ... 1129s Selecting previously unselected package python3-pytest. 1129s Preparing to unpack .../091-python3-pytest_8.3.5-1_all.deb ... 1129s Unpacking python3-pytest (8.3.5-1) ... 1129s Selecting previously unselected package python3-pytest-forked. 1129s Preparing to unpack .../092-python3-pytest-forked_1.6.0-3_all.deb ... 1129s Unpacking python3-pytest-forked (1.6.0-3) ... 1129s Selecting previously unselected package python3-pytest-mock. 1129s Preparing to unpack .../093-python3-pytest-mock_3.14.0-2_all.deb ... 1129s Unpacking python3-pytest-mock (3.14.0-2) ... 1129s Selecting previously unselected package python3-pytest-xdist. 1129s Preparing to unpack .../094-python3-pytest-xdist_3.6.1-1_all.deb ... 1129s Unpacking python3-pytest-xdist (3.6.1-1) ... 1129s Selecting previously unselected package python3-pyvmomi. 1129s Preparing to unpack .../095-python3-pyvmomi_8.0.3.0.1-1_all.deb ... 1129s Unpacking python3-pyvmomi (8.0.3.0.1-1) ... 1130s Selecting previously unselected package python3-redis. 1130s Preparing to unpack .../096-python3-redis_4.3.4-4_all.deb ... 1130s Unpacking python3-redis (4.3.4-4) ... 1130s Selecting previously unselected package python3-textfsm. 1130s Preparing to unpack .../097-python3-textfsm_1.1.3-3_all.deb ... 1130s Unpacking python3-textfsm (1.1.3-3) ... 1130s Selecting previously unselected package python3-xmltodict. 1130s Preparing to unpack .../098-python3-xmltodict_0.13.0-1_all.deb ... 1130s Unpacking python3-xmltodict (0.13.0-1) ... 1130s Selecting previously unselected package yamllint. 1130s Preparing to unpack .../099-yamllint_1.35.1-2_all.deb ... 1130s Unpacking yamllint (1.35.1-2) ... 1130s Selecting previously unselected package python3-mock. 1130s Preparing to unpack .../100-python3-mock_5.1.0-1_all.deb ... 1130s Unpacking python3-mock (5.1.0-1) ... 1130s Setting up python3-iniconfig (1.1.1-2) ... 1130s Setting up libpixman-1-0:ppc64el (0.44.0-3) ... 1130s Setting up libsodium23:ppc64el (1.0.18-1build3) ... 1130s Setting up python3-requests-toolbelt (1.0.0-4) ... 1130s Setting up libxrender1:ppc64el (1:0.9.10-1.1build1) ... 1130s Setting up python3-py (1.11.0-4) ... 1130s Setting up python3-joblib (1.4.2-3) ... 1131s Setting up python3-cachetools (5.3.3-1) ... 1131s Setting up python3-colorama (0.4.6-4) ... 1131s Setting up libxcb-render0:ppc64el (1.17.0-2) ... 1131s Setting up python3-tqdm (4.67.1-3) ... 1131s Setting up python3-pyflakes (3.2.0-3) ... 1131s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 1131s Setting up python3-resolvelib (1.1.0-1) ... 1131s Setting up python3-msal (1.32.0-1) ... 1131s Setting up libxcb-shm0:ppc64el (1.17.0-2) ... 1131s Setting up python3-httmock (1.4.0-5) ... 1132s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 1132s Setting up python3-psutil (5.9.8-2build3) ... 1132s Setting up python3-multidict (6.2.0-2) ... 1132s Setting up python3-frozenlist (1.5.0-1build2) ... 1132s Setting up python3-aiosignal (1.3.2-1) ... 1132s Setting up python3-mock (5.1.0-1) ... 1133s Setting up python3-async-timeout (5.0.1-1) ... 1133s Setting up liberror-perl (0.17030-1) ... 1133s Setting up python3-six (1.17.0-1) ... 1133s Setting up python3-responses (0.25.6-1) ... 1133s Setting up python3-pyvmomi (8.0.3.0.1-1) ... 1134s Setting up python3-isodate (0.7.0-1) ... 1134s Setting up python3-pycodestyle (2.12.1-2) ... 1134s Setting up python3-xmltodict (0.13.0-1) ... 1134s Setting up python3-packaging (24.2-1) ... 1134s Setting up python3-pyu2f (0.1.5-4) ... 1134s Setting up python3-avro (1.12.0+dfsg-1) ... 1134s Setting up python3-jmespath (1.0.1-1) ... 1135s Setting up fonts-dejavu-mono (2.37-8) ... 1135s Setting up python3-wrapt (1.15.0-4build1) ... 1135s Setting up fonts-dejavu-core (2.37-8) ... 1135s Setting up python3-aiohappyeyeballs (2.6.1-1) ... 1135s Setting up python3-regex (0.1.20241106-1build1) ... 1135s Setting up python3-pluggy (1.5.0-1) ... 1135s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 1135s Setting up python3-dnspython (2.7.0-1ubuntu1) ... 1136s Setting up python3-portalocker (2.2.1-1) ... 1136s Setting up libxslt1.1:ppc64el (1.1.39-0exp1ubuntu4) ... 1136s Setting up python3-pyasn1 (0.6.1-1) ... 1136s Setting up python3-proxmoxer (2.2.0-1) ... 1136s Setting up git-man (1:2.48.1-0ubuntu1) ... 1136s Setting up python3-dateutil (2.9.0-4) ... 1136s Setting up python3-textfsm (1.1.3-3) ... 1136s Setting up python3-mccabe (0.7.0-1) ... 1137s Setting up python3-execnet (2.1.1-1) ... 1137s Setting up python3-pathspec (0.12.1-1) ... 1137s Setting up python3-pydash (8.0.3-3) ... 1137s Setting up python3-nltk (3.9.1-2) ... 1138s Setting up python3-yarl (1.13.1-1build2) ... 1138s Setting up python3-pyhcl (0.4.4-6) ... 1138s Setting up python3-gitlab (1:4.9.0-1) ... 1139s Setting up python3-websocket (1.8.0-2) ... 1139s Setting up python3-deprecated (1.2.18-1) ... 1139s Setting up libsecret-common (0.21.7-1) ... 1139s Setting up python3-freezegun (1.5.1-1.2) ... 1139s Setting up python3-nacl (1.5.0-7) ... 1139s Setting up python3-requests-oauthlib (1.3.1-1) ... 1139s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ... 1140s Setting up python3-pytest (8.3.5-1) ... 1140s Setting up python3-aiohttp (3.10.11-1build1) ... 1140s Setting up python3-marshmallow (3.26.1-0.2) ... 1141s Setting up ansible-core (2.18.1-4ubuntu1) ... 1142s Setting up python3-flake8 (7.1.1-3) ... 1142s Setting up python3-msrest (0.6.21-5) ... 1143s Setting up python3-pytest-forked (1.6.0-3) ... 1143s Setting up python3-strictyaml (1.6.1-3) ... 1143s Setting up libsecret-1-0:ppc64el (0.21.7-1) ... 1143s Setting up yamllint (1.35.1-2) ... 1143s Setting up gir1.2-secret-1:ppc64el (0.21.7-1) ... 1143s Setting up python3-pyasn1-modules (0.4.1-2) ... 1143s Setting up python3-botocore (1.37.9+repack-1) ... 1144s Setting up python3-hvac (2.3.0-3) ... 1144s Setting up git (1:2.48.1-0ubuntu1) ... 1144s Setting up python3-redis (4.3.4-4) ... 1144s Setting up python3-adal (1.2.7-5) ... 1145s Setting up python3-pytest-mock (3.14.0-2) ... 1145s Setting up python3-lxml:ppc64el (5.3.2-1) ... 1145s Setting up python3-rsa (4.9-2) ... 1145s Setting up libfontconfig1:ppc64el (2.15.0-2.2ubuntu1) ... 1145s Setting up python3-msrestazure (0.6.4-4) ... 1145s Setting up ansible (11.2.0+dfsg-1) ... 1174s Setting up python3-paramiko (3.5.1-2ubuntu1) ... 1174s Setting up python3-pytest-xdist (3.6.1-1) ... 1174s Setting up python3-s3transfer (0.11.2-2) ... 1174s Setting up libcairo2:ppc64el (1.18.4-1) ... 1174s Setting up python3-google-auth (2.28.2-3) ... 1175s Setting up python3-boto3 (1.37.9-1) ... 1175s Setting up libcairo-gobject2:ppc64el (1.18.4-1) ... 1175s Setting up python3-cairo (1.27.0-2) ... 1175s Setting up python3-kubernetes (30.1.0-2) ... 1176s Setting up python3-gi-cairo (3.50.0-4build1) ... 1176s Setting up python3-msal-extensions (1.3.1-1) ... 1177s Setting up python3-azure-storage (20250401+git-1) ... 1178s Setting up python3-azure (20250401+git-1) ... 1195s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:80: SyntaxWarning: invalid escape sequence '\ ' 1195s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example, 1195s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:405: SyntaxWarning: invalid escape sequence '\ ' 1195s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example, 1197s /usr/lib/python3/dist-packages/azure/appconfiguration/_generated/models/_models.py:238: SyntaxWarning: invalid escape sequence '\ ' 1197s """An error, available when the status is ``Failed``\ , describing why the operation 1198s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9067: SyntaxWarning: invalid escape sequence '\ ' 1198s """The source port ranges to match for the rule. Valid values are '\ *' (for all ports 0 - 65535), 1198s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9235: SyntaxWarning: invalid escape sequence '\ ' 1198s using brackets (for example abc[\ *] would match a file named abc*\ ). Note that both and / are 1199s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2326: SyntaxWarning: invalid escape sequence '\ ' 1199s payload to scoring rule. If not set, a job's labels (sent in the payload as ``job``\ ) and a 1199s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2346: SyntaxWarning: invalid escape sequence '\ ' 1199s If not set, a job's labels (sent in the payload as ``job``\ ) and a job's worker selectors 1203s /usr/lib/python3/dist-packages/azure/mgmt/advisor/aio/operations/_recommendations_operations.py:190: SyntaxWarning: invalid escape sequence '\ ' 1203s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category 1203s /usr/lib/python3/dist-packages/azure/mgmt/advisor/operations/_recommendations_operations.py:303: SyntaxWarning: invalid escape sequence '\ ' 1203s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category 1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:3917: SyntaxWarning: invalid escape sequence '\ ' 1204s Possible Values::code:`
`:code:`
` **Standard**\ :code:`
`:code:`
` 1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10212: SyntaxWarning: invalid escape sequence '\ ' 1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10255: SyntaxWarning: invalid escape sequence '\ ' 1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10284: SyntaxWarning: invalid escape sequence '\ ' 1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10320: SyntaxWarning: invalid escape sequence '\ ' 1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10342: SyntaxWarning: invalid escape sequence '\ ' 1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10375: SyntaxWarning: invalid escape sequence '\ ' 1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10396: SyntaxWarning: invalid escape sequence '\ ' 1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10429: SyntaxWarning: invalid escape sequence '\ ' 1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null. 1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14746: SyntaxWarning: invalid escape sequence '\ ' 1204s :ivar allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ , 1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14771: SyntaxWarning: invalid escape sequence '\ ' 1204s :keyword allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ , 1209s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:1420: SyntaxWarning: invalid escape sequence '\ ' 1209s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\ 1209s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:2310: SyntaxWarning: invalid escape sequence '\ ' 1209s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\ 1209s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:1547: SyntaxWarning: invalid escape sequence '\ ' 1209s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\ 1209s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:2524: SyntaxWarning: invalid escape sequence '\ ' 1209s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\ 1214s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:624: SyntaxWarning: invalid escape sequence '\ ' 1214s and Screenshot to diagnose VM status. **NOTE**\ : If storageUri is being 1214s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:3707: SyntaxWarning: invalid escape sequence '\W' 1214s characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) 1220s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16843: SyntaxWarning: invalid escape sequence '\S' 1220s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required. 1220s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16916: SyntaxWarning: invalid escape sequence '\S' 1220s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required. 1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:63: SyntaxWarning: invalid escape sequence '\w' 1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:130: SyntaxWarning: invalid escape sequence '\w' 1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:224: SyntaxWarning: invalid escape sequence '\w' 1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:312: SyntaxWarning: invalid escape sequence '\w' 1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:398: SyntaxWarning: invalid escape sequence '\w' 1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:543: SyntaxWarning: invalid escape sequence '\w' 1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:612: SyntaxWarning: invalid escape sequence '\w' 1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:675: SyntaxWarning: invalid escape sequence '\w' 1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:738: SyntaxWarning: invalid escape sequence '\w' 1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:807: SyntaxWarning: invalid escape sequence '\w' 1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'), 1227s /usr/lib/python3/dist-packages/azure/mgmt/hybridnetwork/models/_models_py3.py:6032: SyntaxWarning: invalid escape sequence '\ ' 1227s :ivar provisioning_state: The provisioning state of the site resource. **TODO**\ : Confirm if 1229s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3866: SyntaxWarning: invalid escape sequence '\ ' 1229s pattern set glob-style pattern (e.g., '\ *', 'clients/*\ '). Required.""" 1229s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3868: SyntaxWarning: invalid escape sequence '\ ' 1229s """Give access for ``Read``\ , ``Write`` and ``ReadWrite`` access level. Required. Known values 1232s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:169: SyntaxWarning: invalid escape sequence '\ ' 1232s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\ 1232s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:1032: SyntaxWarning: invalid escape sequence '\ ' 1232s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\ 1240s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2542: SyntaxWarning: invalid escape sequence '\R' 1240s """Execute Reverse Replication\Reprotect. 1240s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2583: SyntaxWarning: invalid escape sequence '\R' 1240s """Execute Reverse Replication\Reprotect. 1240s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2622: SyntaxWarning: invalid escape sequence '\R' 1240s """Execute Reverse Replication\Reprotect. 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5397: SyntaxWarning: invalid escape sequence '\L' 1241s :ivar lun_id: Ordinal\LunId of the disk for the Azure VM. 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5448: SyntaxWarning: invalid escape sequence '\L' 1241s :keyword lun_id: Ordinal\LunId of the disk for the Azure VM. 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8836: SyntaxWarning: invalid escape sequence '\S' 1241s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8978: SyntaxWarning: invalid escape sequence '\S' 1241s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9510: SyntaxWarning: invalid escape sequence '\S' 1241s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9675: SyntaxWarning: invalid escape sequence '\S' 1241s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11412: SyntaxWarning: invalid escape sequence '\S' 1241s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11541: SyntaxWarning: invalid escape sequence '\S' 1241s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12193: SyntaxWarning: invalid escape sequence '\S' 1241s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12516: SyntaxWarning: invalid escape sequence '\S' 1241s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26323: SyntaxWarning: invalid escape sequence '\S' 1241s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26382: SyntaxWarning: invalid escape sequence '\S' 1241s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3476: SyntaxWarning: invalid escape sequence '\R' 1241s """Execute Reverse Replication\Reprotect. 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3517: SyntaxWarning: invalid escape sequence '\R' 1241s """Execute Reverse Replication\Reprotect. 1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3556: SyntaxWarning: invalid escape sequence '\R' 1241s """Execute Reverse Replication\Reprotect. 1241s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_azure_reservation_api_operations.py:163: SyntaxWarning: invalid escape sequence '\ ' 1241s """Get list of applicable ``Reservation``\ s. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:377: SyntaxWarning: invalid escape sequence '\ ' 1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:407: SyntaxWarning: invalid escape sequence '\ ' 1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:437: SyntaxWarning: invalid escape sequence '\ ' 1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:583: SyntaxWarning: invalid escape sequence '\ ' 1242s """Merges two ``Reservation``\ s. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:614: SyntaxWarning: invalid escape sequence '\ ' 1242s """Merges two ``Reservation``\ s. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:645: SyntaxWarning: invalid escape sequence '\ ' 1242s """Merges two ``Reservation``\ s. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:721: SyntaxWarning: invalid escape sequence '\ ' 1242s """Get ``Reservation``\ s in a given reservation Order. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_order_operations.py:183: SyntaxWarning: invalid escape sequence '\ ' 1242s """Get all ``ReservationOrder``\ s. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3172: SyntaxWarning: invalid escape sequence '\ ' 1242s """List of ``Reservation``\ s. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3288: SyntaxWarning: invalid escape sequence '\ ' 1242s """List of ``ReservationOrder``\ s. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_azure_reservation_api_operations.py:239: SyntaxWarning: invalid escape sequence '\ ' 1242s """Get list of applicable ``Reservation``\ s. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:662: SyntaxWarning: invalid escape sequence '\ ' 1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:692: SyntaxWarning: invalid escape sequence '\ ' 1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:722: SyntaxWarning: invalid escape sequence '\ ' 1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:868: SyntaxWarning: invalid escape sequence '\ ' 1242s """Merges two ``Reservation``\ s. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:899: SyntaxWarning: invalid escape sequence '\ ' 1242s """Merges two ``Reservation``\ s. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:930: SyntaxWarning: invalid escape sequence '\ ' 1242s """Merges two ``Reservation``\ s. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:1006: SyntaxWarning: invalid escape sequence '\ ' 1242s """Get ``Reservation``\ s in a given reservation Order. 1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_order_operations.py:299: SyntaxWarning: invalid escape sequence '\ ' 1242s """Get all ``ReservationOrder``\ s. 1246s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:68: SyntaxWarning: invalid escape sequence '\ ' 1246s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end`` 1246s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:90: SyntaxWarning: invalid escape sequence '\ ' 1246s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after 1246s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1141: SyntaxWarning: invalid escape sequence '\ ' 1246s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end`` 1246s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1163: SyntaxWarning: invalid escape sequence '\ ' 1246s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after 1251s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2858: SyntaxWarning: invalid escape sequence '\ ' 1251s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client 1251s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2925: SyntaxWarning: invalid escape sequence '\ ' 1251s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client 1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_functions_operations.py:595: SyntaxWarning: invalid escape sequence '\ ' 1254s properties to include in the response, or "\ *" to include all properties. By default, all 1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_inputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ ' 1254s properties to include in the response, or "\ *" to include all properties. By default, all 1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_outputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ ' 1254s properties to include in the response, or "\ *" to include all properties. By default, all 1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/models/_stream_analytics_management_client_enums.py:14: SyntaxWarning: invalid escape sequence '\ ' 1254s """Authentication Mode. Valid modes are ``ConnectionString``\ , ``Msi`` and 'UserToken'.""" 1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_functions_operations.py:859: SyntaxWarning: invalid escape sequence '\ ' 1254s properties to include in the response, or "\ *" to include all properties. By default, all 1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_inputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ ' 1254s properties to include in the response, or "\ *" to include all properties. By default, all 1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_outputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ ' 1254s properties to include in the response, or "\ *" to include all properties. By default, all 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_no_subscription_operations.py:193: SyntaxWarning: invalid escape sequence '\ ' 1254s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_operations.py:194: SyntaxWarning: invalid escape sequence '\ ' 1254s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:177: SyntaxWarning: invalid escape sequence '\ ' 1254s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:540: SyntaxWarning: invalid escape sequence '\ ' 1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:582: SyntaxWarning: invalid escape sequence '\ ' 1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:622: SyntaxWarning: invalid escape sequence '\ ' 1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_no_subscription_operations.py:308: SyntaxWarning: invalid escape sequence '\ ' 1254s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_operations.py:326: SyntaxWarning: invalid escape sequence '\ ' 1254s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:319: SyntaxWarning: invalid escape sequence '\ ' 1254s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:681: SyntaxWarning: invalid escape sequence '\ ' 1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:723: SyntaxWarning: invalid escape sequence '\ ' 1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:763: SyntaxWarning: invalid escape sequence '\ ' 1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket 1254s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6232: SyntaxWarning: invalid escape sequence '\ ' 1254s :ivar maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60}, 1254s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6288: SyntaxWarning: invalid escape sequence '\ ' 1254s :keyword maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60}, 1261s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2909: SyntaxWarning: invalid escape sequence '\W' 1261s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 1261s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2954: SyntaxWarning: invalid escape sequence '\W' 1261s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 1261s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:1980: SyntaxWarning: invalid escape sequence '\W' 1261s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 1261s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:2025: SyntaxWarning: invalid escape sequence '\W' 1261s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
` 1261s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:2732: SyntaxWarning: invalid escape sequence '\:' 1261s attr:\:code:``=:code:``. 1261s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:3537: SyntaxWarning: invalid escape sequence '\:' 1261s attr:\:code:``=\:code:``. 1261s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:4216: SyntaxWarning: invalid escape sequence '\:' 1261s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:`` 1262s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:6219: SyntaxWarning: invalid escape sequence '\:' 1262s attr:\:code:``=:code:``. 1262s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7024: SyntaxWarning: invalid escape sequence '\:' 1262s attr:\:code:``=\:code:``. 1262s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7703: SyntaxWarning: invalid escape sequence '\:' 1262s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:`` 1263s /usr/lib/python3/dist-packages/azure/servicemanagement/schedulermanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m' 1263s CURRENT_USER\my\CertificateName format. 1263s /usr/lib/python3/dist-packages/azure/servicemanagement/servicebusmanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m' 1263s CURRENT_USER\my\CertificateName format. 1263s /usr/lib/python3/dist-packages/azure/servicemanagement/servicemanagementservice.py:81: SyntaxWarning: invalid escape sequence '\m' 1263s CURRENT_USER\my\CertificateName format. 1263s /usr/lib/python3/dist-packages/azure/servicemanagement/sqldatabasemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m' 1263s CURRENT_USER\my\CertificateName format. 1263s /usr/lib/python3/dist-packages/azure/servicemanagement/websitemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m' 1263s CURRENT_USER\my\CertificateName format. 1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:110: SyntaxWarning: invalid escape sequence '\d' 1263s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:1328: SyntaxWarning: invalid escape sequence '\d' 1263s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..). 1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4218: SyntaxWarning: invalid escape sequence '\d' 1263s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4280: SyntaxWarning: invalid escape sequence '\d' 1263s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:18198: SyntaxWarning: invalid escape sequence '\d' 1263s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19096: SyntaxWarning: invalid escape sequence '\d' 1263s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with 1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19185: SyntaxWarning: invalid escape sequence '\d' 1263s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19749: SyntaxWarning: invalid escape sequence '\d' 1263s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). 1264s Processing triggers for libc-bin (2.41-6ubuntu1) ... 1264s Processing triggers for man-db (2.13.0-1) ... 1510s autopkgtest [08:14:52]: test unit-tests-flaky.py: [----------------------- 1510s 1510s 1510s 1510s ############################################################ 1510s ############################################################ 1510s #### Running FLAKY tests in ansible_collections/ansible/utils 1510s ############################################################ 1510s ############################################################ 1510s Unit test controller with Python 3.13 1513s ============================= test session starts ============================== 1513s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1513s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/utils 1513s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1513s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1513s created: 2/2 workers 1513s 2 workers [383 items] 1513s 1513s ........................................................................ [ 18%] 1514s ....................................................F................... [ 37%] 1515s ...................................................F...F...F............ [ 56%] 1517s ........................................................................ [ 75%] 1529s ........................................................................ [ 93%] 1530s ....................... [100%] 1530s =================================== FAILURES =================================== 1530s ___________________ TestIpFilter.test_ipaddr_undefined_value ___________________ 1530s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1530s 1530s self = 1530s 1530s def test_ipaddr_undefined_value(self): 1530s """Check ipaddr filter undefined value""" 1530s args = ["", AnsibleUndefined(name="my_ip"), ""] 1530s with pytest.raises( 1530s AnsibleFilterError, 1530s match="Unrecognized type <> for ipaddr filter ", 1530s ): 1530s > _ipaddr(*args) 1530s 1530s tests/unit/plugins/filter/test_ipaddr.py:75: 1530s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1530s 1530s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '') 1530s kwargs = {}, keys = ['value', 'query', 'version', 'alias'] 1530s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')} 1530s 1530s @pass_environment 1530s def _ipaddr(*args, **kwargs): 1530s """This filter is designed to return the input value if a query is True, and False if a query is False""" 1530s keys = ["value", "query", "version", "alias"] 1530s data = dict(zip(keys, args[1:])) 1530s data.update(kwargs) 1530s try: 1530s if isinstance(data["value"], str): 1530s pass 1530s elif isinstance(data["value"], list): 1530s pass 1530s elif isinstance(data["value"], int): 1530s pass 1530s else: 1530s > raise AnsibleFilterError( 1530s "Unrecognized type <{0}> for ipaddr filter <{1}>".format( 1530s type(data["value"]), 1530s "value", 1530s ), 1530s ) 1530s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipaddr filter 1530s 1530s plugins/filter/ipaddr.py:268: AnsibleFilterError 1530s 1530s During handling of the above exception, another exception occurred: 1530s 1530s self = 1530s 1530s def test_ipaddr_undefined_value(self): 1530s """Check ipaddr filter undefined value""" 1530s args = ["", AnsibleUndefined(name="my_ip"), ""] 1530s > with pytest.raises( 1530s AnsibleFilterError, 1530s match="Unrecognized type <> for ipaddr filter ", 1530s ): 1530s E AssertionError: Regex pattern did not match. 1530s E Regex: "Unrecognized type <> for ipaddr filter " 1530s E Input: "Unrecognized type <> for ipaddr filter " 1530s 1530s tests/unit/plugins/filter/test_ipaddr.py:71: AssertionError 1530s ______________________ TestIp4.test_ipv4_undefined_value _______________________ 1530s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1530s 1530s self = 1530s 1530s def test_ipv4_undefined_value(self): 1530s """Check ipv4 filter undefined value""" 1530s args = ["", AnsibleUndefined(name="my_ip"), ""] 1530s with pytest.raises( 1530s AnsibleFilterError, 1530s match="Unrecognized type <> for ipv4 filter ", 1530s ): 1530s > _ipv4(*args) 1530s 1530s tests/unit/plugins/filter/test_ipv4.py:55: 1530s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1530s 1530s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '') 1530s kwargs = {}, keys = ['value', 'query'] 1530s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')} 1530s 1530s @pass_environment 1530s def _ipv4(*args, **kwargs): 1530s """This filter is designed to return the input value if a query is True, and False if a query is False""" 1530s keys = ["value", "query"] 1530s data = dict(zip(keys, args[1:])) 1530s data.update(kwargs) 1530s try: 1530s if isinstance(data["value"], str): 1530s pass 1530s elif isinstance(data["value"], list): 1530s pass 1530s elif isinstance(data["value"], int): 1530s pass 1530s else: 1530s > raise AnsibleFilterError( 1530s "Unrecognized type <{0}> for ipv4 filter <{1}>".format( 1530s type(data["value"]), 1530s "value", 1530s ), 1530s ) 1530s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipv4 filter 1530s 1530s plugins/filter/ipv4.py:143: AnsibleFilterError 1530s 1530s During handling of the above exception, another exception occurred: 1530s 1530s self = 1530s 1530s def test_ipv4_undefined_value(self): 1530s """Check ipv4 filter undefined value""" 1530s args = ["", AnsibleUndefined(name="my_ip"), ""] 1530s > with pytest.raises( 1530s AnsibleFilterError, 1530s match="Unrecognized type <> for ipv4 filter ", 1530s ): 1530s E AssertionError: Regex pattern did not match. 1530s E Regex: "Unrecognized type <> for ipv4 filter " 1530s E Input: "Unrecognized type <> for ipv4 filter " 1530s 1530s tests/unit/plugins/filter/test_ipv4.py:51: AssertionError 1530s ______________________ TestIp6.test_ipv6_undefined_value _______________________ 1530s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1530s 1530s self = 1530s 1530s def test_ipv6_undefined_value(self): 1530s """Check ipv6 filter undefined value""" 1530s args = ["", AnsibleUndefined(name="my_ip"), ""] 1530s with pytest.raises( 1530s AnsibleFilterError, 1530s match="Unrecognized type <> for ipv6 filter ", 1530s ): 1530s > _ipv6(*args) 1530s 1530s tests/unit/plugins/filter/test_ipv6.py:58: 1530s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1530s 1530s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '') 1530s kwargs = {}, keys = ['value', 'query'] 1530s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')} 1530s 1530s @pass_environment 1530s def _ipv6(*args, **kwargs): 1530s """This filter is designed to return the input value if a query is True, and False if a query is False""" 1530s keys = ["value", "query"] 1530s data = dict(zip(keys, args[1:])) 1530s data.update(kwargs) 1530s try: 1530s if isinstance(data["value"], str): 1530s pass 1530s elif isinstance(data["value"], list): 1530s pass 1530s elif isinstance(data["value"], int): 1530s pass 1530s else: 1530s > raise AnsibleFilterError( 1530s "Unrecognized type <{0}> for ipv6 filter <{1}>".format( 1530s type(data["value"]), 1530s "value", 1530s ), 1530s ) 1530s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipv6 filter 1530s 1530s plugins/filter/ipv6.py:161: AnsibleFilterError 1530s 1530s During handling of the above exception, another exception occurred: 1530s 1530s self = 1530s 1530s def test_ipv6_undefined_value(self): 1530s """Check ipv6 filter undefined value""" 1530s args = ["", AnsibleUndefined(name="my_ip"), ""] 1530s > with pytest.raises( 1530s AnsibleFilterError, 1530s match="Unrecognized type <> for ipv6 filter ", 1530s ): 1530s E AssertionError: Regex pattern did not match. 1530s E Regex: "Unrecognized type <> for ipv6 filter " 1530s E Input: "Unrecognized type <> for ipv6 filter " 1530s 1530s tests/unit/plugins/filter/test_ipv6.py:54: AssertionError 1530s ____________________ TestIpWrap.test_ipwrap_undefined_value ____________________ 1530s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1530s 1530s self = 1530s 1530s def test_ipwrap_undefined_value(self): 1530s """Check ipwrap filter undefined value""" 1530s args = ["", AnsibleUndefined(name="my_ip"), ""] 1530s with pytest.raises( 1530s AnsibleFilterError, 1530s match="Unrecognized type <> for ipwrap filter ", 1530s ): 1530s > _ipwrap(*args) 1530s 1530s tests/unit/plugins/filter/test_ipwrap.py:60: 1530s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1530s 1530s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '') 1530s kwargs = {}, keys = ['value'] 1530s data = {'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')} 1530s 1530s @pass_environment 1530s def _ipwrap(*args, **kwargs): 1530s """This filter is designed to Wrap IPv6 addresses in [ ] brackets.""" 1530s keys = ["value"] 1530s data = dict(zip(keys, args[1:])) 1530s data.update(kwargs) 1530s try: 1530s if isinstance(data["value"], str): 1530s pass 1530s elif isinstance(data["value"], list): 1530s pass 1530s elif isinstance(data["value"], bool): 1530s pass 1530s else: 1530s > raise AnsibleFilterError( 1530s "Unrecognized type <{0}> for ipwrap filter <{1}>".format( 1530s type(data["value"]), 1530s "value", 1530s ), 1530s ) 1530s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipwrap filter 1530s 1530s plugins/filter/ipwrap.py:162: AnsibleFilterError 1530s 1530s During handling of the above exception, another exception occurred: 1530s 1530s self = 1530s 1530s def test_ipwrap_undefined_value(self): 1530s """Check ipwrap filter undefined value""" 1530s args = ["", AnsibleUndefined(name="my_ip"), ""] 1530s > with pytest.raises( 1530s AnsibleFilterError, 1530s match="Unrecognized type <> for ipwrap filter ", 1530s ): 1530s E AssertionError: Regex pattern did not match. 1530s E Regex: "Unrecognized type <> for ipwrap filter " 1530s E Input: "Unrecognized type <> for ipwrap filter " 1530s 1530s tests/unit/plugins/filter/test_ipwrap.py:56: AssertionError 1530s =============================== warnings summary =============================== 1530s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_disabled_format_with_invalid_data 1530s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_format 1530s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_format_with_invalid_data 1530s /tmp/autopkgtest.NviVNE/build.FtY/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. 1530s validator_class = jsonschema.validators.validator_for(criteria) 1530s 1530s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1530s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/utils/tests/output/junit/python3.13-controller-units.xml - 1530s =========================== short test summary info ============================ 1530s SKIPPED [1] tests/unit/plugins/sub_plugins/cli_parsers/test_ttp_parser.py:18: could not import 'ttp': No module named 'ttp' 1530s FAILED tests/unit/plugins/filter/test_ipaddr.py::TestIpFilter::test_ipaddr_undefined_value 1530s FAILED tests/unit/plugins/filter/test_ipv4.py::TestIp4::test_ipv4_undefined_value 1530s FAILED tests/unit/plugins/filter/test_ipv6.py::TestIp6::test_ipv6_undefined_value 1530s FAILED tests/unit/plugins/filter/test_ipwrap.py::TestIpWrap::test_ipwrap_undefined_value 1530s ============ 4 failed, 379 passed, 1 skipped, 3 warnings in 19.21s ============= 1530s ## return code is 1 1530s 1530s 1530s 1530s ############################################################ 1530s ############################################################ 1530s #### Running FLAKY tests in ansible_collections/cisco/aci 1530s ############################################################ 1530s ############################################################ 1530s 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.NviVNE/build.FtY/src/ansible_collections/ansible/utils/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/utils --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1530s Unit test controller with Python 3.13 1532s ============================= test session starts ============================== 1532s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1532s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/aci 1532s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1532s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1532s created: 2/2 workers 1532s 2 workers [5 items] 1532s 1532s .F.F. [100%] 1532s =================================== FAILURES =================================== 1532s __________________________ AciRest.test_invalid_input __________________________ 1532s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1532s 1532s self = 1532s 1532s def test_invalid_input(self): 1532s self.maxDiff = None 1532s 1532s error = dict( 1532s code="401", 1532s text=("Username or password is incorrect - " "FAILED local authentication"), 1532s ) 1532s 1532s imdata = [ 1532s { 1532s "error": { 1532s "attributes": { 1532s "code": "401", 1532s "text": ("Username or password is incorrect - " "FAILED local authentication"), 1532s }, 1532s }, 1532s } 1532s ] 1532s 1532s totalCount = 1 1532s 1532s json_response = '{"totalCount":"1","imdata":[{"error":{"attributes":{"code":"401","text":"Username or password is incorrect - FAILED local authentication"}}}]}' # NOQA 1532s aci.response_json(json_response) 1532s self.assertEqual(aci.error, error) 1532s self.assertEqual(aci.imdata, imdata) 1532s self.assertEqual(aci.totalCount, totalCount) 1532s 1532s # Python 2.7+ is needed for xmljson 1532s if sys.version_info < (2, 7): 1532s return 1532s 1532s xml_response = """ 1532s 1532s 1532s """ 1532s aci.response_xml(xml_response) 1532s > self.assertEqual(aci.error, error) 1532s 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'} 1532s E - {'code': -1, 1532s E ? ^ 1532s E 1532s E + {'code': '401', 1532s E ? ^^^ + 1532s E 1532s E + 'text': 'Username or password is incorrect - FAILED local authentication'} 1532s E - 'text': "Unable to parse output as XML, see 'raw' output. name 'cobra' is not " 1532s E - 'defined'} 1532s 1532s tests/unit/module_utils/test_aci.py:237: AssertionError 1532s ________________________ AciRest.test_invalid_aci_login ________________________ 1532s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1532s 1532s self = 1532s 1532s def test_invalid_aci_login(self): 1532s self.maxDiff = None 1532s 1532s error = dict( 1532s code="401", 1532s text=("Username or password is incorrect - " "FAILED local authentication"), 1532s ) 1532s 1532s imdata = [ 1532s { 1532s "error": { 1532s "attributes": { 1532s "code": "401", 1532s "text": ("Username or password is incorrect - " "FAILED local authentication"), 1532s }, 1532s }, 1532s } 1532s ] 1532s 1532s totalCount = 1 1532s 1532s json_response = '{"totalCount":"1","imdata":[{"error":{"attributes":{"code":"401","text":"Username or password is incorrect - FAILED local authentication"}}}]}' # NOQA 1532s aci.response_json(json_response) 1532s self.assertEqual(aci.error, error) 1532s self.assertEqual(aci.imdata, imdata) 1532s self.assertEqual(aci.totalCount, totalCount) 1532s 1532s # Python 2.7+ is needed for xmljson 1532s if sys.version_info < (2, 7): 1532s return 1532s 1532s xml_response = """ 1532s 1532s 1532s 1532s """ 1532s aci.response_xml(xml_response) 1532s > self.assertEqual(aci.error, error) 1532s 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'} 1532s E - {'code': -1, 1532s E ? ^ 1532s E 1532s E + {'code': '401', 1532s E ? ^^^ + 1532s E 1532s E + 'text': 'Username or password is incorrect - FAILED local authentication'} 1532s E - 'text': "Unable to parse output as XML, see 'raw' output. name 'cobra' is not " 1532s E - 'defined'} 1532s 1532s tests/unit/module_utils/test_aci.py:89: AssertionError 1532s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/aci/tests/output/junit/python3.13-controller-units.xml - 1532s =========================== short test summary info ============================ 1532s FAILED tests/unit/module_utils/test_aci.py::AciRest::test_invalid_input - Ass... 1532s FAILED tests/unit/module_utils/test_aci.py::AciRest::test_invalid_aci_login 1532s ========================= 2 failed, 3 passed in 0.89s ========================== 1532s 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.NviVNE/build.FtY/src/ansible_collections/cisco/aci/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/aci --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/aci tests/unit/module_utils/test_aci.py" returned exit status 1. 1532s ## return code is 1 1532s 1532s 1532s 1532s ############################################################ 1532s ############################################################ 1532s #### Running FLAKY tests in ansible_collections/cisco/dnac 1532s ############################################################ 1532s ############################################################ 1532s Unit test controller with Python 3.13 1534s ============================= test session starts ============================== 1534s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1534s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/dnac 1534s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1534s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1534s created: 2/2 workers 1534s 2 workers [167 items] 1534s 1543s ..FFF.FFFFFFFF..FFFF.FFFF.FFFFFFFFFFFFFFFFFFFFF.FFFFFFFFFFFFFFFFFFFFFFFF [ 43%] 1550s F.FFFFFF.F....FF.FFFFFFF.FF....F.FF.FFFFFFFFFF..F..FFFF..F..F.FFFFFFFFF. [ 86%] 1552s FFF.FFFFFFFFFFFFFFFFFFF [100%] 1552s ==================================== ERRORS ==================================== 1552s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______ 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1552s result: TResult | None = func() 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1552s return list(collector.collect()) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1552s return self.obj("runTest") 1552s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given 1552s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________ 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1552s result: TResult | None = func() 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1552s return list(collector.collect()) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1552s return self.obj("runTest") 1552s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given 1552s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________ 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1552s result: TResult | None = func() 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1552s return list(collector.collect()) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1552s return self.obj("runTest") 1552s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given 1552s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________ 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1552s result: TResult | None = func() 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1552s return list(collector.collect()) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1552s return self.obj("runTest") 1552s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given 1552s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______ 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1552s result: TResult | None = func() 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1552s return list(collector.collect()) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1552s return self.obj("runTest") 1552s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given 1552s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______ 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1552s result: TResult | None = func() 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1552s return list(collector.collect()) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1552s return self.obj("runTest") 1552s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given 1552s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________ 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1552s result: TResult | None = func() 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1552s return list(collector.collect()) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1552s return self.obj("runTest") 1552s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given 1552s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________ 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1552s result: TResult | None = func() 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1552s return list(collector.collect()) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1552s return self.obj("runTest") 1552s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given 1552s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________ 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1552s result: TResult | None = func() 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1552s return list(collector.collect()) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1552s return self.obj("runTest") 1552s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given 1552s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______ 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call 1552s result: TResult | None = func() 1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect 1552s return list(collector.collect()) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect 1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid) 1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance 1552s return self.obj("runTest") 1552s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given 1552s =================================== FAILURES =================================== 1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_null_sync_status _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_device_credentials_workflow_manager_null_sync_status(self): 1552s """ 1552s Test case for device credential workflow manager when exception occured during sync credential. 1552s 1552s This test case checks the behavior of the device credential workflow manager, when exception occured during sync credential in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_apply 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result['msg'], 1552s "Exception occurred while getting global device credentials sync status: " 1552s ) 1552s E AssertionError: 'An exception occurred while retrieving Si[515 chars]rue}' != 'Exception occurred while getting global d[27 chars]us: ' 1552s 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} 1552s E + Exception occurred while getting global device credentials sync status: 1552s 1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:411: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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: . 1552s 1552s 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} 1552s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_negative_config_input _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_accesspoint_workflow_manager_negative_config_input(self): 1552s """ 1552s Test case for access point workfollow manager and negative test verify ap update 1552s 1552s This test case checks the behavior of the update access point data in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s dnac_version="2.3.7.6", 1552s config=self.playbook_config_update_some_missing_data 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s self.maxDiff = None 1552s > self.assertEqual( 1552s result.get('msg'), 1552s 'Invalid parameters in playbook config: \'[["Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1552s 'for the radio type xor_radio allowed series 280", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1552s 'for the radio type xor_radio allowed series 380", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1552s 'for the radio type xor_radio allowed series 480", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1552s 'for the radio type xor_radio allowed series 9120", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1552s 'for the radio type xor_radio allowed series 9166", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1552s 'for the radio type xor_radio allowed series IW9167EH", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1552s 'for the radio type xor_radio allowed series IW9165E", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + 1552s 'for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP ' + 1552s 'Address \'204.192.12.201dsd\' in playbook.", \'ap_name:hostname,family,type,mac_address,management_ip_address,' + 1552s 'ap_ethernet_mac_address : The string exceeds the allowed range of max 32 char\', "led_status: Invalid LED Status \'Enableddd\' in ' + 1552s 'playbook.", "ap_mode: Invalid value \'Monitorw\' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or ' + 1552s 'Bridge.", "failover_priority: Invalid value \'Lossw\' for failover_priority in playbook. Must be one of: Low, Medium, High or ' + 1552s 'Critical.", "clean_air_si_2.4ghz: Invalid value \'Disableds\' in playbook. Must be ' + 1552s 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_5ghz: Invalid value \'Disableds\' in playbook. Must be ' + 1552s 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_6ghz: Invalid value \'Enableds\' in playbook. Must be ' + 1552s 'either \'Enabled\' or \'Disabled\'.", "primary_ip_address: Invalid primary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in ' + 1552s 'playbook", "secondary_ip_address: Invalid secondary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", "tertiary_ip_address: ' + 1552s 'Invalid tertiary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", \'Radio Params cannot be changed when AP mode is in ' + 1552s 'Monitorw.\', "admin_status: Invalid value \'Enabledsds\' for admin_status in playbook. Must be ' + 1552s 'either \'Enabled\' or \'Disabled\'.", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. Must be ' + 1552s 'either \'Global\' or \'Custom\'.", "channel_number: Invalid value \'22\' for Channel Number in playbook. Must be one of: ' + 1552s '[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 ' + 1552s 'of: \'20 MHz\', \'40 MHz\', \'80 MHz\', \'160 MHz\', or \'320 MHz\'.", "power_assignment_mode: Invalid ' + 1552s 'value \'any\' for Power assignment mode in ' + 1552s 'playbook. Must be either \'Global\' or \'Custom\'.", \'powerlevel: This configuration is only supported with Client-Serving Radio Role ' + 1552s 'Assignment None \', "radio_role_assignment: Invalid value \'any\' for radio role assignment in playbook. Must be one ' + 1552s 'of: \'Auto\', \'Monitor\' or \'Client-Serving\'.", \'Radio Params cannot be changed when AP mode is in Monitorw.\', "admin_status: ' + 1552s 'Invalid value \'Enabledsds\' for admin_status in playbook. Must be either \'Enabled\' or \'Disabled\'.", "antenna_gain: Invalid \'41\' in ' + 1552s 'playbook, allowed range of min: 0 and max: 40", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. ' + 1552s 'Must be either \'Global\' or \'Custom\'.", ' + 1552s '"radio_role_assignment: Invalid value \'Client-Serving\'. Hence, AP mode is not Local. Kindly change the AP mode to Local then ' + 1552s 'change the radio_role_assignment to Auto."]\' ' 1552s ) 1552s 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]]\' ' 1552s 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'."]' 1552s E ? ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ --------------------------------------------------------------------------------------------------- 1552s 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."]' 1552s E ? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1552s 1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:221: AssertionError 1552s ------------------------------ Captured log call ------------------------------- 1552s 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'."]' 1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_update_verify _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s def get_tasks_by_id(self, task_id): 1552s """ 1552s Get the tasks of a task ID in Cisco Catalyst Center. 1552s Args: 1552s self (object): An instance of a class that provides access to Cisco Catalyst Center. 1552s task_id (str): The unique identifier of the task for which you want to retrieve details. 1552s Returns: 1552s dict or None: A dictionary status information about the specified task, 1552s or None if the task with the given task_id is not found. 1552s Description: 1552s Call the API 'get_tasks_by_id' to get the status of the task. 1552s Return the details along with the status of the task. 1552s """ 1552s # Need to handle exception 1552s task_status = None 1552s try: 1552s > response = self.dnac._exec( 1552s family="task", 1552s function="get_tasks_by_id", 1552s params={"id": task_id} 1552s ) 1552s 1552s plugins/module_utils/dnac.py:1662: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1552s return self._mock_call(*args, **kwargs) 1552s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1552s return self._execute_mock_call(*args, **kwargs) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s self = , args = () 1552s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191e542-b3fb-7ac8-ae85-81e461c8b022'}} 1552s effect = 1552s 1552s def _execute_mock_call(self, /, *args, **kwargs): 1552s # separate from _increment_mock_call so that awaited functions are 1552s # executed separately from their call, also AsyncMock overrides this method 1552s 1552s effect = self.side_effect 1552s if effect is not None: 1552s if _is_exception(effect): 1552s raise effect 1552s elif not _callable(effect): 1552s > result = next(effect) 1552s E StopIteration 1552s 1552s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration 1552s 1552s During handling of the above exception, another exception occurred: 1552s 1552s self = 1552s 1552s def test_device_credentials_workflow_manager_update_verify(self): 1552s """ 1552s Test case for device credential workflow manager when updating a device credential. 1552s 1552s This test case checks the behavior of the device credential workflow manager when updating a new device credentials in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_creation 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:336: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/device_credential_workflow_manager.py:3277: in main 1552s ccc_credential.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/device_credential_workflow_manager.py:2977: in get_diff_merged 1552s self.update_device_credentials().check_return_status() 1552s plugins/modules/device_credential_workflow_manager.py:2684: in update_device_credentials 1552s self.check_tasks_response_status(response, "update_global_credentials_v2").check_return_status() 1552s plugins/module_utils/dnac.py:1730: in check_tasks_response_status 1552s task_details = self.get_tasks_by_id(task_id) 1552s plugins/module_utils/dnac.py:1684: in get_tasks_by_id 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s 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: . 1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_add_existing_devices _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_inventory_workflow_manager_playbook_add_existing_devices(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.5.3", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_add_existing_devices 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=False) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center." 1552s ) 1552s 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." 1552s E - No changes were made. No inventory actions were performed in Cisco Catalyst Center. 1552s E + device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center. 1552s 1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:282: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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.'} 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config 1552s 1552s 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'} 1552s 1552s WARNING logger:dnac.py:294 Inventory: verify_diff_merged: 3882: verify starts here verify diff merged 1552s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_provision_device _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_accesspoint_workflow_manager_provision_device(self): 1552s """ 1552s Test case for access point workfollow manager provision and update device. 1552s 1552s This test case checks the behavior of the access point workflow when provisioned in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s dnac_version="2.3.7.6", 1552s config_verify=True, 1552s config=self.playbook_config_complete 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:145: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/accesspoint_workflow_manager.py:4190: in main 1552s ccc_network.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/accesspoint_workflow_manager.py:1894: in get_diff_merged 1552s self.validate_ap_config_parameters(ap_config).check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s 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']' 1552s __ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_add_udf __ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_inventory_workflow_manager_playbook_add_udf(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_add_udf 1552s ) 1552s ) 1552s result = self.execute_module(changed=True, failed=False) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center." 1552s ) 1552s 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." 1552s E - Global User Defined Field(UDF) named 'Test123' has been successfully added to the device. 1552s E + device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center. 1552s 1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:306: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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."} 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config 1552s 1552s 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']} 1552s 1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3570: udf_field_list 1552s 1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3571: [{'name': 'Test123'}] 1552s 1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3584: False 1552s 1552s WARNING logger:dnac.py:294 Inventory: verify_diff_merged: 3882: verify starts here verify diff merged 1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_del_provisioned_device_2353 _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_inventory_workflow_manager_playbook_del_provisioned_device_2353(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.5.3", 1552s state="deleted", 1552s config_verify=True, 1552s config=self.playbook_del_provisioned_device_2353 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:553: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/inventory_workflow_manager.py:4197: in main 1552s ccc_device.get_diff_state_apply[state](config).check_return_status() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_diff_deleted(self, config): 1552s """ 1552s Main function to delete devices in Cisco Catalyst Center based on device IP address. 1552s Parameters: 1552s config (dict): The configuration settings for the deletion process. 1552s Returns: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s Description: 1552s This method compares the provided configuration against the current 1552s devices in the Cisco Catalyst Center and deletes devices based on 1552s their IP addresses. It returns a success status indicating whether 1552s the deletion process was completed successfully. 1552s """ 1552s 1552s device_to_delete = self.get_device_ips_from_config_priority() 1552s self.result['msg'] = [] 1552s 1552s # Handle Global User Defined Fields (UDF) Deletion 1552s if self.config[0].get('add_user_defined_field'): 1552s return self.delete_user_defined_fields() 1552s 1552s # Loop over devices to delete them 1552s for device_ip in device_to_delete: 1552s if device_ip not in self.have.get("device_in_ccc"): 1552s self.status = "success" 1552s self.result['changed'] = False 1552s self.msg = "Device '{0}' is not present in Cisco Catalyst Center so can't perform delete operation".format(device_ip) 1552s self.no_device_to_delete.append(device_ip) 1552s self.result['msg'].append(self.msg) 1552s self.result['response'] = self.msg 1552s self.log(self.msg, "INFO") 1552s continue 1552s device_ids = self.get_device_ids([device_ip]) 1552s > device_id = device_ids[0] 1552s E IndexError: list index out of range 1552s 1552s plugins/modules/inventory_workflow_manager.py:3665: IndexError 1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_a_device _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_inventory_workflow_manager_playbook_delete_a_device(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="deleted", 1552s config_verify=True, 1552s config=self.playbook_delete_a_device 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:329: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/inventory_workflow_manager.py:4197: in main 1552s ccc_device.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/inventory_workflow_manager.py:3668: in get_diff_deleted 1552s self.handle_device_deletion(device_ip) 1552s plugins/modules/inventory_workflow_manager.py:3857: in handle_device_deletion 1552s self.check_tasks_response_status(response, api_name='deleted_device_by_id') 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def check_tasks_response_status(self, response, api_name): 1552s """ 1552s Get the task response status from taskId 1552s Args: 1552s self: The current object details. 1552s response (dict): API response. 1552s api_name (str): API name. 1552s Returns: 1552s self (object): The current object with updated desired Fabric Transits information. 1552s Description: 1552s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' 1552s state or till it reaches the maximum timeout. 1552s Log the task details and return self. 1552s """ 1552s 1552s if not response: 1552s self.msg = "response is empty" 1552s self.status = "exited" 1552s return self 1552s 1552s if not isinstance(response, dict): 1552s self.msg = "response is not a dictionary" 1552s self.status = "exited" 1552s return self 1552s 1552s task_info = response.get("response") 1552s if task_info.get("errorcode") is not None: 1552s self.msg = response.get("response").get("detail") 1552s self.status = "failed" 1552s return self 1552s 1552s task_id = task_info.get("taskId") 1552s start_time = time.time() 1552s while True: 1552s elapsed_time = time.time() - start_time 1552s if elapsed_time >= self.max_timeout: 1552s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \ 1552s .format(self.max_timeout, task_id) + \ 1552s "Exiting the loop due to unexpected API '{0}' status.".format(api_name) 1552s self.log(self.msg, "WARNING") 1552s self.status = "failed" 1552s break 1552s 1552s task_details = self.get_tasks_by_id(task_id) 1552s self.log('Getting tasks details from task ID {0}: {1}' 1552s .format(task_id, task_details), "DEBUG") 1552s 1552s > task_status = task_details.get("status") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/module_utils/dnac.py:1734: AttributeError 1552s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_provision_old_version _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_accesspoint_workflow_manager_provision_old_version(self): 1552s """ 1552s Test case for access point workfollow manager provision device old version. 1552s 1552s This test case checks the behavior of the access point workflow when provisioned in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s dnac_version="2.3.5.3", 1552s config_verify=True, 1552s config=self.playbook_config_provision_old_version 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s self.maxDiff = None 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center." 1552s ) 1552s E AssertionError: 'AP - LTTS_Test_9124_T2 does not need any update' != "The provided site name 'Global/Chennai/L[94 chars]ter." 1552s E - AP - LTTS_Test_9124_T2 does not need any update 1552s E + The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center. 1552s 1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:302: AssertionError 1552s ------------------------------ Captured log call ------------------------------- 1552s 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' 1552s 1552s 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. 1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_device_udf _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_inventory_workflow_manager_playbook_delete_device_udf(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="deleted", 1552s config_verify=True, 1552s config=self.playbook_delete_device_udf 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:478: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/inventory_workflow_manager.py:4197: in main 1552s ccc_device.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/inventory_workflow_manager.py:3668: in get_diff_deleted 1552s self.handle_device_deletion(device_ip) 1552s plugins/modules/inventory_workflow_manager.py:3857: in handle_device_deletion 1552s self.check_tasks_response_status(response, api_name='deleted_device_by_id') 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def check_tasks_response_status(self, response, api_name): 1552s """ 1552s Get the task response status from taskId 1552s Args: 1552s self: The current object details. 1552s response (dict): API response. 1552s api_name (str): API name. 1552s Returns: 1552s self (object): The current object with updated desired Fabric Transits information. 1552s Description: 1552s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' 1552s state or till it reaches the maximum timeout. 1552s Log the task details and return self. 1552s """ 1552s 1552s if not response: 1552s self.msg = "response is empty" 1552s self.status = "exited" 1552s return self 1552s 1552s if not isinstance(response, dict): 1552s self.msg = "response is not a dictionary" 1552s self.status = "exited" 1552s return self 1552s 1552s task_info = response.get("response") 1552s if task_info.get("errorcode") is not None: 1552s self.msg = response.get("response").get("detail") 1552s self.status = "failed" 1552s return self 1552s 1552s task_id = task_info.get("taskId") 1552s start_time = time.time() 1552s while True: 1552s elapsed_time = time.time() - start_time 1552s if elapsed_time >= self.max_timeout: 1552s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \ 1552s .format(self.max_timeout, task_id) + \ 1552s "Exiting the loop due to unexpected API '{0}' status.".format(api_name) 1552s self.log(self.msg, "WARNING") 1552s self.status = "failed" 1552s break 1552s 1552s task_details = self.get_tasks_by_id(task_id) 1552s self.log('Getting tasks details from task ID {0}: {1}' 1552s .format(task_id, task_details), "DEBUG") 1552s 1552s > task_status = task_details.get("status") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/module_utils/dnac.py:1734: AttributeError 1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_provisioned_device _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_inventory_workflow_manager_playbook_delete_provisioned_device(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="deleted", 1552s config_verify=True, 1552s config=self.playbook_delete_provisioned_device 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:354: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/inventory_workflow_manager.py:4197: in main 1552s ccc_device.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/inventory_workflow_manager.py:3675: in get_diff_deleted 1552s self.delete_provisioned_device_v2(device_ip) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def delete_provisioned_device_v2(self, device_ip): 1552s """ 1552s Deletes provisioned devices for versions > 2.3.5.3. 1552s 1552s Parameters: 1552s device_ip (str): The IP address of the device to be deleted. 1552s 1552s Description: 1552s This method deletes a provisioned device with the specified IP address 1552s for software versions greater than 2.3.5.3. It ensures that the device 1552s is properly removed from the Cisco Catalyst Center, handling any 1552s required validations and API interactions. 1552s """ 1552s 1552s device_ids = self.get_device_ids([device_ip]) 1552s > device_id = device_ids[0] 1552s E IndexError: list index out of range 1552s 1552s plugins/modules/inventory_workflow_manager.py:3801: IndexError 1552s ------------------------------ Captured log call ------------------------------- 1552s ERROR logger:dnac.py:294 Inventory: get_device_ids: 2403: Error while fetching device '204.1.2.4' from Cisco Catalyst Center: 0 1552s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_some_error_data_update_accesspoint _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_accesspoint_workflow_manager_some_error_data_update_accesspoint(self): 1552s """ 1552s Test case for access point workfollow manager negative case. 1552s 1552s This test case checks the behavior of the access point workflow when wrong data passed in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s dnac_version="2.3.7.6", 1552s config=self.playbook_config_update_some_error_data 1552s ) 1552s ) 1552s result = self.execute_module(changed=True, failed=True) 1552s self.maxDiff = None 1552s > self.assertEqual( 1552s result.get('msg'), 1552s 'The provided site name \'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO\' ' + 1552s 'is either invalid or not present in the Cisco Catalyst Center.' 1552s ) 1552s E AssertionError: "An error occurred while executing GET API[211 chars]n: ." != "The provided site name 'Global/USA/New Yo[175 chars]ter." 1552s 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: . 1552s 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. 1552s 1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:195: AssertionError 1552s ------------------------------ Captured log call ------------------------------- 1552s 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: . 1552s 1552s 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} 1552s 1552s 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. 1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_prov_device_2353 _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_inventory_workflow_manager_playbook_prov_device_2353(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.5.3", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_prov_device_2353 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:578: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/inventory_workflow_manager.py:4197: in main 1552s ccc_device.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/inventory_workflow_manager.py:3613: in get_diff_merged 1552s self.provisioned_wired_device().check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config 1552s 1552s 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'}]} 1552s 1552s ERROR logger:dnac.py:294 Inventory: provisioned_wired_device: 1720: Cannot do Provisioning for device 204.1.2.4. 1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_provision_device _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_inventory_workflow_manager_playbook_provision_device(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_provision_device 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:528: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/inventory_workflow_manager.py:4197: in main 1552s ccc_device.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/inventory_workflow_manager.py:3613: in get_diff_merged 1552s self.provisioned_wired_device().check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config 1552s 1552s 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'}]} 1552s 1552s WARNING logger:dnac.py:294 Inventory: is_device_assigned_to_site: 1876: Response collected from the API 'get_device_detail' {'response': [], 'version': '1.0'} 1552s 1552s 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' 1552s 1552s 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} 1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_provision_failed_for_site _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_inventory_workflow_manager_playbook_provision_failed_for_site(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_provision_failed_for_site 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Wired Device Provisioning failed for all devices" 1552s ) 1552s E AssertionError: "An exception occurred while retrieving S[136 chars]able" != 'Wired Device Provisioning failed for all devices' 1552s 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 1552s E + Wired Device Provisioning failed for all devices 1552s 1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:380: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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 1552s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_task_error_update_accesspoint _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_accesspoint_workflow_manager_task_error_update_accesspoint(self): 1552s """ 1552s Test case for access point workfollow manager and negative test verify ap update. 1552s 1552s This test case checks the behavior of the nagative test case of update in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s dnac_version="2.3.7.6", 1552s config=self.playbook_config 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Unable to get success response, hence AP config not updated" 1552s ) 1552s E AssertionError: "An error occurred while executing API ca[74 chars]n: ." != 'Unable to get success response, hence AP[15 chars]ated' 1552s E - An error occurred while executing API call to Function: 'get_task_details_by_id' due to the the following exception: . 1552s E + Unable to get success response, hence AP config not updated 1552s 1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:326: AssertionError 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Accesspoint: update_ap_configuration: 3501: No AP name or MAC address found in ap_config. 1552s 1552s 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: . 1552s ___________ TestDnacAccesspointWorkflow.test_invalid_get_site_device ___________ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_invalid_get_site_device(self): 1552s """ 1552s Test case for access point workfollow manager get device details from site 1552s 1552s This test case checks the behavior of the access point workflow when check the devices in the site on the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s dnac_version="2.3.7.6", 1552s config=self.get_membership_empty 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Required param of mac_address,ip_address or hostname is not in playbook config" 1552s ) 1552s E AssertionError: 'Successfully validated playbook config pa[1253 chars]}\n]' != 'Required param of mac_address,ip_address [33 chars]nfig' 1552s E Diff is 1423 characters long. Set self.maxDiff to None to see it. 1552s 1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:399: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Accesspoint: get_accesspoint_details: 2688: Required param of mac_address,ip_address or hostname is not in playbook config 1552s 1552s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Required param of mac_address,ip_address or hostname is not in playbook config 1552s _____________ TestDnacAccesspointWorkflow.test_invalid_site_exists _____________ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_invalid_site_exists(self): 1552s """ 1552s Test case for access point workfollow manager check site exists. 1552s 1552s This test case checks the behavior of the access point workflow when site exist in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s dnac_version="2.3.7.6", 1552s config=self.playbook_config_provision 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "MAC Address is not Access point" 1552s ) 1552s E AssertionError: 'Provided device is not Access Point.' != 'MAC Address is not Access point' 1552s E - Provided device is not Access Point. 1552s E + MAC Address is not Access point 1552s 1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:350: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'msg': 'Provided device is not Access Point.', 'response': 'Provided device is not Access Point.', 'failed': True} 1552s ------------------------------ Captured log call ------------------------------- 1552s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Provided device is not Access Point. 1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_update_mgmt_ip _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_inventory_workflow_manager_playbook_update_mgmt_ip(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_update_mgmt_ip 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:503: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/inventory_workflow_manager.py:4197: in main 1552s ccc_device.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/inventory_workflow_manager.py:3391: in get_diff_merged 1552s csv_reader = self.decrypt_and_read_csv(export_response, password) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def decrypt_and_read_csv(self, response, password): 1552s """ 1552s Parameters: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s response (requests.Response): HTTP response object containing the encrypted CSV file. 1552s password (str): Password used for decrypting the CSV file. 1552s Returns: 1552s csv.DictReader: A CSV reader object for the decrypted content, allowing iteration over rows as dictionaries. 1552s Description: 1552s Decrypts and reads a CSV-like file from the given HTTP response using the provided password. 1552s """ 1552s 1552s > zip_data = BytesIO(response.data) 1552s E AttributeError: 'NoneType' object has no attribute 'data' 1552s 1552s plugins/modules/inventory_workflow_manager.py:1132: AttributeError 1552s _____________ TestDnacAccesspointWorkflow.test_invalid_wlc_device ______________ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_invalid_wlc_device(self): 1552s """ 1552s Test case for access point workfollow manager check invalid wireless controller. 1552s 1552s This test case checks the behavior of the access point workflow of invalid wlc specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s dnac_version="2.3.7.6", 1552s config=self.playbook_config_provision 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s self.maxDiff = None 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Wireles controller is not provisioned:" 1552s ) 1552s E AssertionError: "An error occurred while executing GET AP[157 chars]n: ." != 'Wireles controller is not provisioned:' 1552s 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: . 1552s E + Wireles controller is not provisioned: 1552s 1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:170: AssertionError 1552s ------------------------------ Captured log call ------------------------------- 1552s 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: . 1552s 1552s 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} 1552s 1552s ERROR logger:dnac.py:294 Accesspoint: verify_ap_provision: 3010: Wireles controller is not provisioned: 1552s 1552s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Wireles controller is not provisioned: 1552s _________ TestNetworkCompliance.test_run_compliance_categories_iplist __________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_categories_iplist(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_categories_iplist") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:412: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_run_compliance_categories: 510: Validating the provided run compliance categories: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_run_compliance_categories: 518: Validation successful: valid run compliance categorites provided: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1552s 1552s 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'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1552s 1552s 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']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s 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). 1552s 1552s 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). 1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_already_sync_cred _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_device_credentials_workflow_manager_already_sync_cred(self): 1552s """ 1552s Test case for device credential workflow manager when applying a device credential to site devices where sync is already applied. 1552s 1552s This test case checks the behavior of the device credential workflow manager when applying a device credential to site devices 1552s 1552s where sync is already applied in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_apply 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=False) 1552s print(result) 1552s self.assertEqual( 1552s > result['response'][0]['applyCredential']['Applied Credentials']['msg'], 1552s "Provided credentials category is/are already synced." 1552s ) 1552s E KeyError: 'applyCredential' 1552s 1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:314: KeyError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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': []} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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'} 1552s ____________ TestNetworkCompliance.test_run_compliance_with_iplist _____________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_iplist(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=False, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_iplist") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:349: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_1 ________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_iplist_failure_1(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=False, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_iplist") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:541: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_2 ________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_iplist_failure_2(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_iplist") 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertIn( 1552s "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call", 1552s result.get('msg') 1552s ) 1552s 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)." 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:563: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1552s 1552s 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'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1552s 1552s 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']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s 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). 1552s 1552s 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). 1552s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_3 ________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_iplist_failure_3(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_iplist") 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertEqual( 1552s "An error occurred while retrieving the task_id of the run_compliance operation.", 1552s result.get('msg') 1552s ) 1552s E AssertionError: 'An error occurred while retrieving the t[35 chars]ion.' != "No device UUIDs were fetched for network[153 chars]Ps)." 1552s E - An error occurred while retrieving the task_id of the run_compliance operation. 1552s 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). 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:584: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1552s 1552s 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'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1552s 1552s 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']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s 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). 1552s 1552s 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). 1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_apply_sync _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s def get_tasks_by_id(self, task_id): 1552s """ 1552s Get the tasks of a task ID in Cisco Catalyst Center. 1552s Args: 1552s self (object): An instance of a class that provides access to Cisco Catalyst Center. 1552s task_id (str): The unique identifier of the task for which you want to retrieve details. 1552s Returns: 1552s dict or None: A dictionary status information about the specified task, 1552s or None if the task with the given task_id is not found. 1552s Description: 1552s Call the API 'get_tasks_by_id' to get the status of the task. 1552s Return the details along with the status of the task. 1552s """ 1552s # Need to handle exception 1552s task_status = None 1552s try: 1552s > response = self.dnac._exec( 1552s family="task", 1552s function="get_tasks_by_id", 1552s params={"id": task_id} 1552s ) 1552s 1552s plugins/module_utils/dnac.py:1662: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1552s return self._mock_call(*args, **kwargs) 1552s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1552s return self._execute_mock_call(*args, **kwargs) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s self = , args = () 1552s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191ea00-6acf-7863-83c3-638499ad0aff'}} 1552s effect = 1552s 1552s def _execute_mock_call(self, /, *args, **kwargs): 1552s # separate from _increment_mock_call so that awaited functions are 1552s # executed separately from their call, also AsyncMock overrides this method 1552s 1552s effect = self.side_effect 1552s if effect is not None: 1552s if _is_exception(effect): 1552s raise effect 1552s elif not _callable(effect): 1552s > result = next(effect) 1552s E StopIteration 1552s 1552s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration 1552s 1552s During handling of the above exception, another exception occurred: 1552s 1552s self = 1552s 1552s def test_device_credentials_workflow_manager_apply_sync(self): 1552s """ 1552s Test case for device credential workflow manager when applying a device credential to site devices. 1552s 1552s This test case checks the behavior of the device credential workflow manager when applying a device credential 1552s 1552s to site devices in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_apply 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:362: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/device_credential_workflow_manager.py:3277: in main 1552s ccc_credential.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/device_credential_workflow_manager.py:2983: in get_diff_merged 1552s self.apply_credentials_to_site().check_return_status() 1552s plugins/modules/device_credential_workflow_manager.py:2936: in apply_credentials_to_site 1552s self.check_tasks_response_status(response, 1552s plugins/module_utils/dnac.py:1730: in check_tasks_response_status 1552s task_details = self.get_tasks_by_id(task_id) 1552s plugins/module_utils/dnac.py:1684: in get_tasks_by_id 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s 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: . 1552s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_4 ________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_iplist_failure_4(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_iplist") 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertIn( 1552s "Error occurred while retrieving 'get_task_by_id' for Task Run Compliance Check with Task id", 1552s result.get('msg') 1552s ) 1552s 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)." 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:605: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1552s 1552s 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'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1552s 1552s 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']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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' 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s 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). 1552s 1552s 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). 1552s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_5 ________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_iplist_failure_5(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_iplist") 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertIn( 1552s "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call", 1552s result.get('msg') 1552s ) 1552s 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)." 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:626: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1552s 1552s 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'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1552s 1552s 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']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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' 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s 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). 1552s 1552s 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). 1552s __________ TestNetworkCompliance.test_run_compliance_with_iplist_site __________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_iplist_site(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_iplist_site") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:391: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global' 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1552s 1552s 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'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1552s 1552s 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']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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': '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.NviVNE/build.FtY/src/ansible_collections/cisco/dnac/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/dnac --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1552s 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'}]} 1552s 1552s 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 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'. 1552s 1552s 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'}. 1552s 1552s 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'}]} 1552s 1552s 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'}]} 1552s 1552s 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'. 1552s 1552s 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'. 1552s 1552s 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'. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'. 1552s 1552s 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'}. 1552s 1552s 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'} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1552s 1552s 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'. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b 1552s 1552s 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). 1552s 1552s 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). 1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_assign_cred_1 _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s def get_tasks_by_id(self, task_id): 1552s """ 1552s Get the tasks of a task ID in Cisco Catalyst Center. 1552s Args: 1552s self (object): An instance of a class that provides access to Cisco Catalyst Center. 1552s task_id (str): The unique identifier of the task for which you want to retrieve details. 1552s Returns: 1552s dict or None: A dictionary status information about the specified task, 1552s or None if the task with the given task_id is not found. 1552s Description: 1552s Call the API 'get_tasks_by_id' to get the status of the task. 1552s Return the details along with the status of the task. 1552s """ 1552s # Need to handle exception 1552s task_status = None 1552s try: 1552s > response = self.dnac._exec( 1552s family="task", 1552s function="get_tasks_by_id", 1552s params={"id": task_id} 1552s ) 1552s 1552s plugins/module_utils/dnac.py:1662: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1552s return self._mock_call(*args, **kwargs) 1552s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1552s return self._execute_mock_call(*args, **kwargs) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s self = , args = () 1552s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191e691-f5f5-7c89-9cf4-099515272844'}} 1552s effect = 1552s 1552s def _execute_mock_call(self, /, *args, **kwargs): 1552s # separate from _increment_mock_call so that awaited functions are 1552s # executed separately from their call, also AsyncMock overrides this method 1552s 1552s effect = self.side_effect 1552s if effect is not None: 1552s if _is_exception(effect): 1552s raise effect 1552s elif not _callable(effect): 1552s > result = next(effect) 1552s E StopIteration 1552s 1552s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration 1552s 1552s During handling of the above exception, another exception occurred: 1552s 1552s self = 1552s 1552s def test_device_credentials_workflow_manager_assign_cred_1(self): 1552s """ 1552s Test case for device credential workflow manager when assigning a device credential to site in dnac_version="2.3.7.6". 1552s 1552s This test case checks the behavior of the device credential workflow manager when assigning a device credential to site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_assign 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:261: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/device_credential_workflow_manager.py:3277: in main 1552s ccc_credential.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/device_credential_workflow_manager.py:2980: in get_diff_merged 1552s self.assign_credentials_to_site().check_return_status() 1552s plugins/modules/device_credential_workflow_manager.py:2757: in assign_credentials_to_site 1552s self.check_tasks_response_status( 1552s plugins/module_utils/dnac.py:1730: in check_tasks_response_status 1552s task_details = self.get_tasks_by_id(task_id) 1552s plugins/module_utils/dnac.py:1684: in get_tasks_by_id 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s 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: . 1552s _____________ TestNetworkCompliance.test_run_compliance_with_site ______________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_site(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=False, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_site") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:370: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list 1552s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_reachable_devices_from_site(self, site_name): 1552s """ 1552s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site. 1552s Args: 1552s site_id (str): The ID of the site from which to retrieve device details. 1552s Returns: 1552s tuple: A tuple containing: 1552s - dict: A mapping of management IP addresses to instance IDs for reachable devices. 1552s - list: A list of management IP addresses of skipped devices. 1552s """ 1552s mgmt_ip_to_instance_id_map = {} 1552s skipped_devices_list = [] 1552s 1552s (site_exists, site_id) = self.get_site_id(site_name) 1552s if not site_exists: 1552s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name) 1552s self.fail_and_exit(self.msg) 1552s 1552s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO") 1552s 1552s # Retrieve the list of device details from the specified site 1552s device_details_list = self.get_device_details_from_site(site_name, site_id) 1552s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG") 1552s 1552s # Iterate through each device's details 1552s for device_info in device_details_list: 1552s > management_ip = device_info.get("managementIpAddress") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/module_utils/dnac.py:767: AttributeError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_1 _________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_site_failure_1(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=False, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_site") 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertIn( 1552s "An error occurred while retrieving site details for Site 'Global'. Please verify that the site exists.", 1552s result.get('msg') 1552s ) 1552s 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}' 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:647: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_assign_cred_2 _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_device_credentials_workflow_manager_assign_cred_2(self): 1552s """ 1552s Test case for device credential workflow manager when assigning a device credential to site in dnac_version="2.3.5.3". 1552s 1552s This test case checks the behavior of the device credential workflow manager when assigning a device credential to site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.5.3", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_assign 1552s ) 1552s ) 1552s result = self.execute_module(changed=True, failed=False) 1552s print(result) 1552s self.assertEqual( 1552s > result['response'][0]['assignCredential']['Assign Credentials']['msg'], 1552s "Device Credential Assigned to a site is Successfully" 1552s ) 1552s E KeyError: 'assignCredential' 1552s 1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:288: KeyError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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': []} 1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_creation _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_device_credentials_workflow_manager_creation(self): 1552s """ 1552s Test case for device credential workflow manager when creating a device credential. 1552s 1552s This test case checks the behavior of the device credential workflow manager when creating a new device credentials in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_creation 1552s ) 1552s ) 1552s result = self.execute_module(changed=True, failed=False) 1552s print(result) 1552s self.assertEqual( 1552s > result['response'][0]['globalCredential']['Creation']['msg'], 1552s "Global Credential Created Successfully" 1552s ) 1552s E KeyError: 'globalCredential' 1552s 1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:216: KeyError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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': []} 1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_2 _________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s def execute_get_request(self, api_family, api_function, api_parameters): 1552s """ 1552s Makes a GET API call to the specified function within a given family and returns the response. 1552s Args: 1552s api_family (str): The family of the API to call. 1552s api_function (str): The specific function of the API to call. 1552s api_parameters (dict): Parameters to pass to the API call. 1552s Returns: 1552s dict or None: The response from the API call if successful, otherwise None. 1552s Logs detailed information about the API call, including responses and errors. 1552s """ 1552s self.log( 1552s "Initiating GET API call for Function: {0} from Family: {1} with Parameters: {2}.".format( 1552s api_function, api_family, api_parameters 1552s ), 1552s "DEBUG" 1552s ) 1552s try: 1552s # Execute the API call 1552s > response = self.dnac._exec( 1552s family=api_family, 1552s function=api_function, 1552s op_modifies=False, 1552s params=api_parameters, 1552s ) 1552s 1552s plugins/module_utils/dnac.py:1840: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1552s return self._mock_call(*args, **kwargs) 1552s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1552s return self._execute_mock_call(*args, **kwargs) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s self = , args = () 1552s kwargs = {'family': 'sites', 'function': 'get_membership', 'op_modifies': False, 'params': {'site_id': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}} 1552s effect = 1552s result = Exception('Simulated exception') 1552s 1552s def _execute_mock_call(self, /, *args, **kwargs): 1552s # separate from _increment_mock_call so that awaited functions are 1552s # executed separately from their call, also AsyncMock overrides this method 1552s 1552s effect = self.side_effect 1552s if effect is not None: 1552s if _is_exception(effect): 1552s raise effect 1552s elif not _callable(effect): 1552s result = next(effect) 1552s if _is_exception(result): 1552s > raise result 1552s E Exception: Simulated exception 1552s 1552s /usr/lib/python3.13/unittest/mock.py:1232: Exception 1552s 1552s During handling of the above exception, another exception occurred: 1552s 1552s self = 1552s 1552s def test_run_compliance_with_site_failure_2(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=False, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_site") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:667: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list 1552s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name) 1552s plugins/module_utils/dnac.py:762: in get_reachable_devices_from_site 1552s device_details_list = self.get_device_details_from_site(site_name, site_id) 1552s plugins/module_utils/dnac.py:716: in get_device_details_from_site 1552s api_response, device_ids = self.get_device_ids_from_site(site_name, site_id) 1552s plugins/module_utils/dnac.py:666: in get_device_ids_from_site 1552s api_response = self.execute_get_request("sites", "get_membership", get_membership_params) 1552s plugins/module_utils/dnac.py:1882: in execute_get_request 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_3 _________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_site_failure_3(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=False, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_site") 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertIn( 1552s "An error occurred while retrieving Compliance Details for device:192.168.0.3 using 'compliance_details_of_device' API call", 1552s result.get('msg') 1552s ) 1552s 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." 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:689: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_4 _________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_site_failure_4(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=False, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_site") 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertIn( 1552s "An error occurred while retrieving the task_id of the run_compliance operation.", 1552s result.get('msg') 1552s ) 1552s 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." 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:710: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_deletion _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_device_credentials_workflow_manager_deletion(self): 1552s """ 1552s Test case for device credential workflow manager when deleting a device credential. 1552s 1552s This test case checks the behavior of the device credential workflow manager when deleting a device credentials in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="deleted", 1552s config_verify=True, 1552s config=self.playbook_config_deletion 1552s ) 1552s ) 1552s result = self.execute_module(changed=True, failed=False) 1552s print(result) 1552s self.assertEqual( 1552s > result['response'][0]['globalCredential']['Deletion']['msg'], 1552s "Global Device Credentials Deleted Successfully" 1552s ) 1552s E KeyError: 'globalCredential' 1552s 1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:240: KeyError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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': []} 1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_5 _________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_site_failure_5(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=False, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_site") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=True) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:730: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1552s result = self.failed() 1552s tests/unit/modules/dnac/dnac_module.py:125: in failed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list 1552s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_reachable_devices_from_site(self, site_name): 1552s """ 1552s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site. 1552s Args: 1552s site_id (str): The ID of the site from which to retrieve device details. 1552s Returns: 1552s tuple: A tuple containing: 1552s - dict: A mapping of management IP addresses to instance IDs for reachable devices. 1552s - list: A list of management IP addresses of skipped devices. 1552s """ 1552s mgmt_ip_to_instance_id_map = {} 1552s skipped_devices_list = [] 1552s 1552s (site_exists, site_id) = self.get_site_id(site_name) 1552s if not site_exists: 1552s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name) 1552s self.fail_and_exit(self.msg) 1552s 1552s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO") 1552s 1552s # Retrieve the list of device details from the specified site 1552s device_details_list = self.get_device_details_from_site(site_name, site_id) 1552s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG") 1552s 1552s # Iterate through each device's details 1552s for device_info in device_details_list: 1552s > management_ip = device_info.get("managementIpAddress") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/module_utils/dnac.py:767: AttributeError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_6 _________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_run_compliance_with_site_failure_6(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=False, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_site") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=True) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:751: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1552s result = self.failed() 1552s tests/unit/modules/dnac/dnac_module.py:125: in failed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list 1552s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_reachable_devices_from_site(self, site_name): 1552s """ 1552s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site. 1552s Args: 1552s site_id (str): The ID of the site from which to retrieve device details. 1552s Returns: 1552s tuple: A tuple containing: 1552s - dict: A mapping of management IP addresses to instance IDs for reachable devices. 1552s - list: A list of management IP addresses of skipped devices. 1552s """ 1552s mgmt_ip_to_instance_id_map = {} 1552s skipped_devices_list = [] 1552s 1552s (site_exists, site_id) = self.get_site_id(site_name) 1552s if not site_exists: 1552s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name) 1552s self.fail_and_exit(self.msg) 1552s 1552s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO") 1552s 1552s # Retrieve the list of device details from the specified site 1552s device_details_list = self.get_device_details_from_site(site_name, site_id) 1552s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG") 1552s 1552s # Iterate through each device's details 1552s for device_info in device_details_list: 1552s > management_ip = device_info.get("managementIpAddress") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/module_utils/dnac.py:767: AttributeError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_device_credentials_workflow_manager_invalid_site(self): 1552s """ 1552s Test case for device credential workflow manager when provided site is invalid. 1552s 1552s This test case checks the behavior of the device credential workflow manager, when provided site is invalid in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_assign 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result['msg'], 1552s "The site_name 'Global/Vietnam/halong/Hanoi' is invalid in 'assign_credentials_to_site'" 1552s ) 1552s E AssertionError: 'An exception occurred while retrieving S[516 chars]rue}' != "The site_name 'Global/Vietnam/halong/Han[42 chars]ite'" 1552s 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} 1552s E + The site_name 'Global/Vietnam/halong/Hanoi' is invalid in 'assign_credentials_to_site' 1552s 1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:435: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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: . 1552s 1552s 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} 1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site_response _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_device_credentials_workflow_manager_invalid_site_response(self): 1552s """ 1552s Test case for device credential workflow manager when provided site response is invalid. 1552s 1552s This test case checks the behavior of the device credential workflow manager when provided site response is invalid in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_apply 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result['msg'], 1552s "Exception occurred while getting global device credentials: " 1552s ) 1552s E AssertionError: "An exception occurred while retrieving S[137 chars]able" != 'Exception occurred while getting global [16 chars]ls: ' 1552s 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 1552s E + Exception occurred while getting global device credentials: 1552s 1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:481: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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 1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site_response_2 _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_device_credentials_workflow_manager_invalid_site_response_2(self): 1552s """ 1552s Test case for device credential workflow manager when provided site response is invalid. 1552s 1552s This test case checks the behavior of the device credential workflow manager when provided site response is invalid in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_apply 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result['msg'], 1552s "Exception occurred while getting global device credentials: " 1552s ) 1552s E AssertionError: "An exception occurred while retrieving S[278 chars]rue}" != 'Exception occurred while getting global [16 chars]ls: ' 1552s 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} 1552s E + Exception occurred while getting global device credentials: 1552s 1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:504: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 DeviceCredential: execute_get_request: 1857: No response received from GET API call to Function: 'get_site' from Family: 'sites'. 1552s 1552s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: No site details retrieved for site name: Global/Vietnam/halong/Hanoi 1552s 1552s 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} 1552s _______________ TestNetworkCompliance.test_scale_run_compliance ________________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_scale_run_compliance(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_run_compliance_scale_iplist") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:433: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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.1', '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.1', '192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0', '192.168.0.1'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.1', '192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s 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' 1552s 1552s 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'] 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.1', '192.168.0.0'], site_name=None 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.1, 192.168.0.0 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.1', '192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.1', '192.168.0.0']} 1552s 1552s 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.1', '192.168.0.0']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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' 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s 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.1', '192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1552s 1552s 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.1', '192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs). 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_aaa_get _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_aaa_get(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while getting AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "Exception occurred while getting AAA set[72 chars]7): " != 'Exception occurred while getting AAA set[49 chars]a7: ' 1552s E - Exception occurred while getting AAA settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1552s E ? ---------------------- - 1552s E + Exception occurred while getting AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:879: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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): 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_banner_get _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_banner_get(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while getting banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "Exception occurred while getting banner [75 chars]7): " != 'Exception occurred while getting banner [52 chars]a7: ' 1552s E - Exception occurred while getting banner settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1552s E ? ---------------------- - 1552s E + Exception occurred while getting banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:854: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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): 1552s _____________ TestNetworkCompliance.test_sync_device_config_iplist _____________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_sync_device_config_iplist(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_sync_device_config_iplist") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:455: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1552s 1552s 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'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1552s 1552s 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']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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' 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s 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). 1552s 1552s 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). 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_dhcp_gett _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_dhcp_gett(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while getting DHCP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "Exception occurred while getting DHCP se[73 chars]7): " != 'Exception occurred while getting DHCP se[50 chars]a7: ' 1552s E - Exception occurred while getting DHCP settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1552s E ? ---------------------- - 1552s E + Exception occurred while getting DHCP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:829: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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): 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_dns_get _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_dns_get(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while getting DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "Exception occurred while getting DNS set[72 chars]7): " != 'Exception occurred while getting DNS set[49 chars]a7: ' 1552s E - Exception occurred while getting DNS settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1552s E ? ---------------------- - 1552s E + Exception occurred while getting DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:754: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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): 1552s ________ TestNetworkCompliance.test_sync_device_config_iplist_failure_1 ________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_sync_device_config_iplist_failure_1(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_sync_device_config_iplist") 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertIn( 1552s "Error occurred while synchronizing device configuration for parameters - {'deviceId':", 1552s result.get('msg') 1552s ) 1552s 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)." 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:773: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1552s 1552s 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'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1552s 1552s 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']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s 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). 1552s 1552s 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). 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_ntp_get _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_ntp_get(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while getting NTP server settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "Exception occurred while getting NTP ser[79 chars]7): " != 'Exception occurred while getting NTP ser[56 chars]a7: ' 1552s E - Exception occurred while getting NTP server settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1552s E ? ---------------------- - 1552s E + Exception occurred while getting NTP server settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:779: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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): 1552s ________ TestNetworkCompliance.test_sync_device_config_iplist_failure_2 ________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_sync_device_config_iplist_failure_2(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_sync_device_config_iplist") 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertIn( 1552s "Error occurred while retrieving 'get_task_tree' for Task Sync Device Configuration with task id", 1552s result.get('msg') 1552s ) 1552s 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)." 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:794: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None' 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1552s 1552s 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'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1552s 1552s 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']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'} 1552s 1552s 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' 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s 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). 1552s 1552s 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). 1552s __________ TestNetworkCompliance.test_sync_device_config_iplist_site ___________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_sync_device_config_iplist_site(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_sync_device_config_iplist_site") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:497: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global' 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1552s 1552s 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'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1552s 1552s 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']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'. 1552s 1552s 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'}. 1552s 1552s 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'}]} 1552s 1552s 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'}]} 1552s 1552s 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'. 1552s 1552s 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'. 1552s 1552s 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'. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'. 1552s 1552s 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'}. 1552s 1552s 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'} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1552s 1552s 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'. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b 1552s 1552s 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). 1552s 1552s 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). 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_site_not_exist _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_site_not_exist(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "An exception occurred: Site 'Global/Vietnam' does not exist in the Cisco Catalyst Center." 1552s ) 1552s E AssertionError: "An error occurred while executing API call to[62 chars]n: ." != "An exception occurred: Site 'Global/Vietnam' [40 chars]ter." 1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1552s E + An exception occurred: Site 'Global/Vietnam' does not exist in the Cisco Catalyst Center. 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:704: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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: . 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_telemetry_get _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_telemetry_get(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while getting telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "Exception occurred while getting telemet[78 chars]7): " != 'Exception occurred while getting telemet[55 chars]a7: ' 1552s E - Exception occurred while getting telemetry settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1552s E ? ---------------------- - 1552s E + Exception occurred while getting telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:729: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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): 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_timezone_get _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_timezone_get(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while getting time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "Exception occurred while getting time zo[78 chars]7): " != 'Exception occurred while getting time zo[55 chars]a7: ' 1552s E - Exception occurred while getting time zone settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): 1552s E ? ---------------------- - 1552s E + Exception occurred while getting time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:804: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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): 1552s _________ TestNetworkCompliance.test_sync_device_config_iplist_site_nr _________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_sync_device_config_iplist_site_nr(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_sync_device_config_iplist_site_nr") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:518: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list 1552s self.fail_and_exit(self.msg) 1552s plugins/module_utils/dnac.py:1787: in fail_and_exit 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0'] 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global' 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0 1552s 1552s 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'] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']} 1552s 1552s 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']} 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s 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. 1552s 1552s 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'}]} 1552s 1552s 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 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0 1552s 1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'. 1552s 1552s 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'}. 1552s 1552s 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'}]} 1552s 1552s 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'}]} 1552s 1552s 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'. 1552s 1552s 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'. 1552s 1552s 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'. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'. 1552s 1552s 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'}. 1552s 1552s 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'} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1552s 1552s 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'. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': [] 1552s 1552s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b 1552s 1552s 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). 1552s 1552s 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). 1552s ______________ TestNetworkCompliance.test_sync_device_config_site ______________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_sync_device_config_site(self): 1552s 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_log_level="DEBUG", 1552s dnac_log_append=False, 1552s state="merged", 1552s config=self.test_data.get("playbook_config_sync_device_config_site") 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:476: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main 1552s ccc_network_compliance.get_want(config).check_return_status() 1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want 1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name) 1552s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list 1552s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_reachable_devices_from_site(self, site_name): 1552s """ 1552s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site. 1552s Args: 1552s site_id (str): The ID of the site from which to retrieve device details. 1552s Returns: 1552s tuple: A tuple containing: 1552s - dict: A mapping of management IP addresses to instance IDs for reachable devices. 1552s - list: A list of management IP addresses of skipped devices. 1552s """ 1552s mgmt_ip_to_instance_id_map = {} 1552s skipped_devices_list = [] 1552s 1552s (site_exists, site_id) = self.get_site_id(site_name) 1552s if not site_exists: 1552s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name) 1552s self.fail_and_exit(self.msg) 1552s 1552s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO") 1552s 1552s # Retrieve the list of device details from the specified site 1552s device_details_list = self.get_device_details_from_site(site_name, site_id) 1552s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG") 1552s 1552s # Iterate through each device's details 1552s for device_info in device_details_list: 1552s > management_ip = device_info.get("managementIpAddress") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/module_utils/dnac.py:767: AttributeError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s Inside load_fixtures 1552s Mock for DNACSDK._exec: 1552s Inside load_fixtures 1552s ------------------------------ Captured log call ------------------------------- 1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated 1552s 1552s 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} 1552s 1552s 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}] 1552s 1552s 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}] 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: None 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': 'None' or 'site_name': 'Global' 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid 1552s 1552s 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 1552s 1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present 1552s 1552s 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} 1552s 1552s 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 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'. 1552s 1552s 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'}. 1552s 1552s 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'}]} 1552s 1552s 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'}]} 1552s 1552s 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'. 1552s 1552s 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'. 1552s 1552s 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'. 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'. 1552s 1552s 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'}. 1552s 1552s 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'}]} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs. 1552s 1552s 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'] 1552s 1552s 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'] 1552s 1552s 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'. 1552s 1552s 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'}. 1552s 1552s 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'} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '3bf3f269-88ae-48fc-910d-3263ba618f87'. 1552s 1552s 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'. 1552s 1552s 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'}. 1552s 1552s 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'} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'. 1552s 1552s 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'. 1552s 1552s 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'}. 1552s 1552s 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'} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '9db11f54-8007-438c-ba9b-711513deecc6'. 1552s 1552s 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'. 1552s 1552s 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'}. 1552s 1552s 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'} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: 'f490e92f-490e-4bb1-9519-770b1dc604c4'. 1552s 1552s 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'. 1552s 1552s 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'}. 1552s 1552s 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'} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38'. 1552s 1552s 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'. 1552s 1552s 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'}. 1552s 1552s 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'} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '37b05b0f-1b1e-496a-b101-8f277f0af8ff'. 1552s 1552s 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'. 1552s 1552s 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'}. 1552s 1552s 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'} 1552s 1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '778a27bb-d795-4fa3-a321-f2e693ebe1f4'. 1552s 1552s 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'}] 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_Updation_not_req _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_global_pool_Updation_not_req(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_global_pool_updation 1552s ) 1552s ) 1552s result = self.execute_module(changed=True, failed=True) 1552s # print(result["response"][0].get("globalPool").get("msg")) 1552s # print(result) 1552s > self.assertEqual( 1552s result["response"][0].get("globalPool").get("msg"), 1552s {'Global_Pool2': "Global pool doesn't require an update", 'Global_Pool3': "Global pool doesn't require an update"} 1552s 1552s ) 1552s E AssertionError: {} != {'Global_Pool2': "Global pool doesn't requ[67 chars]ate"} 1552s E - {} 1552s E + {'Global_Pool2': "Global pool doesn't require an update", 1552s E + 'Global_Pool3': "Global pool doesn't require an update"} 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1003: AssertionError 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_aaa _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_update_aaa(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_update_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while updating AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating AAA se[50 chars]a7: ' 1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1552s E + Exception occurred while updating AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:654: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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: . 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_creation _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_global_pool_creation(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_global_pool_creation 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:975: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_settings_workflow_manager.py:4301: in main 1552s ccc_network.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_deletion _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_global_pool_deletion(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="deleted", 1552s config_verify=True, 1552s config=self.playbook_config_global_pool_deletion 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1026: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_settings_workflow_manager.py:4301: in main 1552s ccc_network.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_banner _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_update_banner(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_update_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while updating banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating banner[53 chars]a7: ' 1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1552s E + Exception occurred while updating banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:629: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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: . 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_timezone _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_update_timezone(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_update_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while updating time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating time z[56 chars]a7: ' 1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1552s E + Exception occurred while updating time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:579: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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: . 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_mandatory_aaa_param _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_mandatory_aaa_param(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_aaa_req 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=True) 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:902: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1552s result = self.failed() 1552s tests/unit/modules/dnac/dnac_module.py:125: in failed 1552s self.module.main() 1552s plugins/modules/network_settings_workflow_manager.py:4316: in main 1552s ccc_network.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged 1552s self.update_network(network_management).check_return_status() 1552s plugins/modules/network_settings_workflow_manager.py:3790: in update_network 1552s self.check_tasks_response_status(response, "set_aaa_settings_for_a_site").check_return_status() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def check_tasks_response_status(self, response, api_name): 1552s """ 1552s Get the task response status from taskId 1552s Args: 1552s self: The current object details. 1552s response (dict): API response. 1552s api_name (str): API name. 1552s Returns: 1552s self (object): The current object with updated desired Fabric Transits information. 1552s Description: 1552s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' 1552s state or till it reaches the maximum timeout. 1552s Log the task details and return self. 1552s """ 1552s 1552s if not response: 1552s self.msg = "response is empty" 1552s self.status = "exited" 1552s return self 1552s 1552s if not isinstance(response, dict): 1552s self.msg = "response is not a dictionary" 1552s self.status = "exited" 1552s return self 1552s 1552s task_info = response.get("response") 1552s > if task_info.get("errorcode") is not None: 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/module_utils/dnac.py:1713: AttributeError 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_dns _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_update_dns(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_update_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while updating DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating DNS se[50 chars]a7: ' 1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1552s E + Exception occurred while updating DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:604: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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: . 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_network_not_need_update _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_network_not_need_update(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Successfully retrieved details from the playbook" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not[94 chars]ds. " != 'Successfully retrieved details from the playbook' 1552s 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. 1552s E + Successfully retrieved details from the playbook 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:454: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_null_network_params _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_null_network_params(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.5.3", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_update_not_req 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Successfully retrieved details from the playbook" 1552s ) 1552s E AssertionError: "Exception occurred while updating the ne[37 chars]t': " != 'Successfully retrieved details from the playbook' 1552s E - Exception occurred while updating the network settings of 'Global/Testing/test': 1552s E + Successfully retrieved details from the playbook 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:953: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s ERROR logger:dnac.py:294 NetworkSettings: update_network: 3730: 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_ntp _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_update_ntp(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_update_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while updating NTP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating NTP se[50 chars]a7: ' 1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1552s E + Exception occurred while updating NTP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:554: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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: . 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_telemetry _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_exception_update_telemetry(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_network 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while updating telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " 1552s ) 1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating teleme[56 chars]a7: ' 1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: . 1552s E + Exception occurred while updating telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:679: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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: . 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_update _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_network_update(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_update_network 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:502: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_settings_workflow_manager.py:4316: in main 1552s ccc_network.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged 1552s self.update_network(network_management).check_return_status() 1552s plugins/modules/network_settings_workflow_manager.py:3741: in update_network 1552s self.check_tasks_response_status(response, "set_dhcp_settings_for_a_site").check_return_status() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def check_tasks_response_status(self, response, api_name): 1552s """ 1552s Get the task response status from taskId 1552s Args: 1552s self: The current object details. 1552s response (dict): API response. 1552s api_name (str): API name. 1552s Returns: 1552s self (object): The current object with updated desired Fabric Transits information. 1552s Description: 1552s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' 1552s state or till it reaches the maximum timeout. 1552s Log the task details and return self. 1552s """ 1552s 1552s if not response: 1552s self.msg = "response is empty" 1552s self.status = "exited" 1552s return self 1552s 1552s if not isinstance(response, dict): 1552s self.msg = "response is not a dictionary" 1552s self.status = "exited" 1552s return self 1552s 1552s task_info = response.get("response") 1552s if task_info.get("errorcode") is not None: 1552s self.msg = response.get("response").get("detail") 1552s self.status = "failed" 1552s return self 1552s 1552s task_id = task_info.get("taskId") 1552s start_time = time.time() 1552s while True: 1552s elapsed_time = time.time() - start_time 1552s if elapsed_time >= self.max_timeout: 1552s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \ 1552s .format(self.max_timeout, task_id) + \ 1552s "Exiting the loop due to unexpected API '{0}' status.".format(api_name) 1552s self.log(self.msg, "WARNING") 1552s self.status = "failed" 1552s break 1552s 1552s task_details = self.get_tasks_by_id(task_id) 1552s self.log('Getting tasks details from task ID {0}: {1}' 1552s .format(task_id, task_details), "DEBUG") 1552s 1552s > task_status = task_details.get("status") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/module_utils/dnac.py:1734: AttributeError 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_assign_wired_device_to_site _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_provision_workflow_manager_playbook_assign_wired_device_to_site(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_assign_wired_device_to_site 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_provision_workflow_manager.py:152: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/provision_workflow_manager.py:1809: in main 1552s ccc_provision.get_diff_state_apply[state]().check_return_status() 1552s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged 1552s self.provision_wired_device(to_provisioning, to_force_provisioning) 1552s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device 1552s device_id = self.get_device_id() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_device_id(self): 1552s """ 1552s Fetches the UUID of the device added in the inventory 1552s 1552s Parameters: 1552s - self: The instance of the class containing the 'config' attribute 1552s to be validated. 1552s Returns: 1552s The method returns the serial number of the device as a string. If it fails, it returns None. 1552s Example: 1552s After creating the validated input, this method retrieves the 1552s UUID of the device. 1552s """ 1552s 1552s dev_response = self.dnac_apply['exec']( 1552s family="devices", 1552s function='get_network_device_by_ip', 1552s params={"ip_address": self.validated_config["management_ip_address"]} 1552s ) 1552s 1552s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG") 1552s dev_dict = dev_response.get("response") 1552s > device_id = dev_dict.get("id") 1552s E AttributeError: 'NoneType' object has no attribute 'get' 1552s 1552s plugins/modules/provision_workflow_manager.py:490: AttributeError 1552s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_del_provision_device _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_provision_workflow_manager_playbook_del_provision_device(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="deleted", 1552s config_verify=True, 1552s config=self.playbook_del_provision_device 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_provision_workflow_manager.py:176: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/provision_workflow_manager.py:1809: in main 1552s ccc_provision.get_diff_state_apply[state]().check_return_status() 1552s plugins/modules/provision_workflow_manager.py:1596: in get_diff_deleted 1552s device_id = self.get_device_id() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_device_id(self): 1552s """ 1552s Fetches the UUID of the device added in the inventory 1552s 1552s Parameters: 1552s - self: The instance of the class containing the 'config' attribute 1552s to be validated. 1552s Returns: 1552s The method returns the serial number of the device as a string. If it fails, it returns None. 1552s Example: 1552s After creating the validated input, this method retrieves the 1552s UUID of the device. 1552s """ 1552s 1552s dev_response = self.dnac_apply['exec']( 1552s family="devices", 1552s function='get_network_device_by_ip', 1552s params={"ip_address": self.validated_config["management_ip_address"]} 1552s ) 1552s 1552s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG") 1552s dev_dict = dev_response.get("response") 1552s > device_id = dev_dict.get("id") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/modules/provision_workflow_manager.py:490: AttributeError 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_not_verified __ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_not_verified(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s dnac_version="2.3.7.6", 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_network 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=True) 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:477: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1552s result = self.failed() 1552s tests/unit/modules/dnac/dnac_module.py:125: in failed 1552s self.module.main() 1552s plugins/modules/network_settings_workflow_manager.py:4316: in main 1552s ccc_network.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged 1552s self.update_network(network_management).check_return_status() 1552s plugins/modules/network_settings_workflow_manager.py:3741: in update_network 1552s self.check_tasks_response_status(response, "set_dhcp_settings_for_a_site").check_return_status() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def check_tasks_response_status(self, response, api_name): 1552s """ 1552s Get the task response status from taskId 1552s Args: 1552s self: The current object details. 1552s response (dict): API response. 1552s api_name (str): API name. 1552s Returns: 1552s self (object): The current object with updated desired Fabric Transits information. 1552s Description: 1552s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' 1552s state or till it reaches the maximum timeout. 1552s Log the task details and return self. 1552s """ 1552s 1552s if not response: 1552s self.msg = "response is empty" 1552s self.status = "exited" 1552s return self 1552s 1552s if not isinstance(response, dict): 1552s self.msg = "response is not a dictionary" 1552s self.status = "exited" 1552s return self 1552s 1552s task_info = response.get("response") 1552s if task_info.get("errorcode") is not None: 1552s self.msg = response.get("response").get("detail") 1552s self.status = "failed" 1552s return self 1552s 1552s task_id = task_info.get("taskId") 1552s start_time = time.time() 1552s while True: 1552s elapsed_time = time.time() - start_time 1552s if elapsed_time >= self.max_timeout: 1552s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \ 1552s .format(self.max_timeout, task_id) + \ 1552s "Exiting the loop due to unexpected API '{0}' status.".format(api_name) 1552s self.log(self.msg, "WARNING") 1552s self.status = "failed" 1552s break 1552s 1552s task_details = self.get_tasks_by_id(task_id) 1552s self.log('Getting tasks details from task ID {0}: {1}' 1552s .format(task_id, task_details), "DEBUG") 1552s 1552s > task_status = task_details.get("status") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/module_utils/dnac.py:1734: AttributeError 1552s ------------------------------ Captured log call ------------------------------- 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s 1552s 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) 1552s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_force_provision_device _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_provision_workflow_manager_playbook_force_provision_device(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_force_provision_device 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_provision_workflow_manager.py:248: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/provision_workflow_manager.py:1809: in main 1552s ccc_provision.get_diff_state_apply[state]().check_return_status() 1552s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged 1552s self.provision_wired_device(to_provisioning, to_force_provisioning) 1552s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device 1552s device_id = self.get_device_id() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_device_id(self): 1552s """ 1552s Fetches the UUID of the device added in the inventory 1552s 1552s Parameters: 1552s - self: The instance of the class containing the 'config' attribute 1552s to be validated. 1552s Returns: 1552s The method returns the serial number of the device as a string. If it fails, it returns None. 1552s Example: 1552s After creating the validated input, this method retrieves the 1552s UUID of the device. 1552s """ 1552s 1552s dev_response = self.dnac_apply['exec']( 1552s family="devices", 1552s function='get_network_device_by_ip', 1552s params={"ip_address": self.validated_config["management_ip_address"]} 1552s ) 1552s 1552s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG") 1552s dev_dict = dev_response.get("response") 1552s > device_id = dev_dict.get("id") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/modules/provision_workflow_manager.py:490: AttributeError 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_reserve_pool_creation _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_reserve_pool_creation(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_reserve_pool 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1075: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_settings_workflow_manager.py:4301: in main 1552s ccc_network.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_provision_device _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_provision_workflow_manager_playbook_provision_device(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_provision_device 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_provision_workflow_manager.py:199: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/provision_workflow_manager.py:1809: in main 1552s ccc_provision.get_diff_state_apply[state]().check_return_status() 1552s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged 1552s self.provision_wired_device(to_provisioning, to_force_provisioning) 1552s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device 1552s device_id = self.get_device_id() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_device_id(self): 1552s """ 1552s Fetches the UUID of the device added in the inventory 1552s 1552s Parameters: 1552s - self: The instance of the class containing the 'config' attribute 1552s to be validated. 1552s Returns: 1552s The method returns the serial number of the device as a string. If it fails, it returns None. 1552s Example: 1552s After creating the validated input, this method retrieves the 1552s UUID of the device. 1552s """ 1552s 1552s dev_response = self.dnac_apply['exec']( 1552s family="devices", 1552s function='get_network_device_by_ip', 1552s params={"ip_address": self.validated_config["management_ip_address"]} 1552s ) 1552s 1552s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG") 1552s dev_dict = dev_response.get("response") 1552s > device_id = dev_dict.get("id") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/modules/provision_workflow_manager.py:490: AttributeError 1552s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_wireless_provision _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_provision_workflow_manager_playbook_wireless_provision(self): 1552s """ 1552s Test case for add device with full crendentials. 1552s 1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s > config=self.playbook_wireless_provisionZ 1552s ) 1552s ) 1552s E AttributeError: 'TestDnacProvisionWorkflow' object has no attribute 'playbook_wireless_provisionZ'. Did you mean: 'playbook_wireless_provision'? 1552s 1552s tests/unit/modules/dnac/test_provision_workflow_manager.py:268: AttributeError 1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_reserve_pool_deletion _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Network_settings_workflow_manager_reserve_pool_deletion(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="deleted", 1552s config_verify=True, 1552s config=self.playbook_config_reserve_pool_deletion 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1050: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/network_settings_workflow_manager.py:4301: in main 1552s ccc_network.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_failure_unmark_failure _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_rma_workflow_manager_deploy_workflow_failure_unmark_failure(self): 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="replaced", 1552s config=self.playbook_config_valid 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Error while unmarking device for replacement: Task failed. | Unmarking result: Error while unmarking device for replacement: Task failed." 1552s ) 1552s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'Error while unmarking device for replacem[92 chars]led.' 1552s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement. 1552s E + Error while unmarking device for replacement: Task failed. | Unmarking result: Error while unmarking device for replacement: Task failed. 1552s 1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:310: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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. 1552s _ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_failure_unmark_success _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_rma_workflow_manager_deploy_workflow_failure_unmark_success(self): 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="replaced", 1552s config=self.playbook_config_valid 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:326: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/rma_workflow_manager.py:1434: in main 1552s ccc_device_replacement.rma_device_replacement_pre_check().check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s 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. 1552s _____ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_success ______ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_rma_workflow_manager_deploy_workflow_success(self): 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="replaced", 1552s config=self.playbook_config_valid 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:290: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/rma_workflow_manager.py:1434: in main 1552s ccc_device_replacement.rma_device_replacement_pre_check().check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s 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. 1552s __________ TestDnacPnpWorkflow.test_pnp_workflow_manager_claim_switch __________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_pnp_workflow_manager_claim_switch(self): 1552s """ 1552s Test case for PNP workflow manager when add and claim switch device. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s config_verify=True, 1552s state="merged", 1552s config=self.playbook_config_switch 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=True) 1552s 1552s tests/unit/modules/dnac/test_pnp_workflow_manager.py:193: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1552s result = self.failed() 1552s tests/unit/modules/dnac/dnac_module.py:125: in failed 1552s self.module.main() 1552s plugins/modules/pnp_workflow_manager.py:1414: in main 1552s ccc_pnp.get_diff_state_apply[state]().check_return_status() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_diff_merged(self): 1552s """ 1552s If given device doesnot exist 1552s then add it to pnp database and get the device id 1552s Args: 1552s self: An instance of a class used for interacting with Cisco Catalyst Center. 1552s Returns: 1552s object: An instance of the class with updated results and status 1552s based on the processing of differences. Based on the length of devices passed 1552s it adds/claims or does both. 1552s Description: 1552s The function processes the differences and, depending on the 1552s changes required, it may add, update,or resynchronize devices in 1552s Cisco Catalyst Center. The updated results and status are stored in the 1552s class instance for further use. 1552s """ 1552s 1552s if not isinstance(self.want.get("pnp_params"), list): 1552s self.msg = "Device Info must be passed as a list" 1552s self.log(self.msg, "ERROR") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s 1552s if len(self.want.get("pnp_params")) > 1: 1552s devices_added = [] 1552s for device in self.want.get("pnp_params"): 1552s multi_device_response = self.get_device_list_pnp(device["deviceInfo"]["serialNumber"]) 1552s self.log("Device details for serial number {0} \ 1552s obtained from the API 'get_device_list': {1}".format(device["deviceInfo"]["serialNumber"], 1552s str(multi_device_response)), "DEBUG") 1552s if (multi_device_response and (len(multi_device_response) == 1)): 1552s devices_added.append(device) 1552s self.log("Details of the added device:{0}".format(str(device)), "INFO") 1552s if (len(self.want.get("pnp_params")) - len(devices_added)) == 0: 1552s self.result['response'] = [] 1552s self.result['msg'] = "Devices are already added" 1552s self.log(self.result['msg'], "WARNING") 1552s return self 1552s 1552s bulk_list = [ 1552s device 1552s for device in self.want.get("pnp_params") 1552s if device not in devices_added 1552s ] 1552s bulk_params = self.dnac_apply['exec']( 1552s family="device_onboarding_pnp", 1552s function="import_devices_in_bulk", 1552s params={"payload": bulk_list}, 1552s op_modifies=True, 1552s ) 1552s self.log("Response from API 'import_devices_in_bulk' for imported devices: {0}".format(bulk_params), "DEBUG") 1552s if len(bulk_params.get("successList")) > 0: 1552s self.result['msg'] = "{0} device(s) imported successfully".format( 1552s len(bulk_params.get("successList"))) 1552s self.log(self.result['msg'], "INFO") 1552s self.result['response'] = bulk_params 1552s self.result['diff'] = self.validated_config 1552s self.result['changed'] = True 1552s return self 1552s elif len(bulk_params.get("failureList")) > 0: 1552s self.msg = "Unable to import below {0} device(s). ".format( 1552s len(bulk_params.get("failureList"))) 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s bulk_params).check_return_status() 1552s 1552s self.msg = "Bulk import failed" 1552s self.log(self.msg, "CRITICAL") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s 1552s provisioned_count_params = { 1552s "serial_number": self.want.get("serial_number"), 1552s "state": "Provisioned" 1552s } 1552s 1552s planned_count_params = { 1552s "serial_number": self.want.get("serial_number"), 1552s "state": "Planned" 1552s } 1552s 1552s if not self.have.get("device_found"): 1552s if not self.want['pnp_params']: 1552s self.msg = "Device needs to be added before claiming. Please add device_info" 1552s self.log(self.msg, "ERROR") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s 1552s if not self.want["site_name"]: 1552s self.log("Adding device to pnp database", "INFO") 1552s dev_add_response = self.add_pnp_device(self.want.get('pnp_params')[0]) 1552s self.have["deviceInfo"] = dev_add_response.get("deviceInfo") 1552s self.log("Response from API 'add device' for a single device addition: {0}".format(str(dev_add_response)), "DEBUG") 1552s 1552s if self.have["deviceInfo"]: 1552s self.result['msg'] = "Only Device Added Successfully" 1552s self.log(self.result['msg'], "INFO") 1552s self.result['response'] = dev_add_response 1552s self.result['diff'] = self.validated_config 1552s self.result['changed'] = True 1552s else: 1552s self.msg = "Device Addition Failed" 1552s self.log(self.result['msg'], "CRITICAL") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s 1552s return self 1552s 1552s else: 1552s self.log("Adding device to pnp database") 1552s dev_add_response = self.add_pnp_device(self.want.get('pnp_params')[0]) 1552s self.get_have().check_return_status() 1552s self.have["deviceInfo"] = dev_add_response.get("deviceInfo") 1552s self.log("Response from API 'add device' for single device addition: {0}".format(str(dev_add_response)), "DEBUG") 1552s claim_params = self.get_claim_params() 1552s claim_params["deviceId"] = dev_add_response.get("id") 1552s 1552s claim_response = self.claim_device_site(claim_params) 1552s self.log("Response from API 'claim a device to a site' for a single claiming: {0}".format(str(claim_response)), "DEBUG") 1552s 1552s if claim_response.get("response") == "Device Claimed" and self.have["deviceInfo"]: 1552s self.result['msg'] = "Device Added and Claimed Successfully" 1552s self.log(self.result['msg'], "INFO") 1552s self.result['response'] = claim_response 1552s self.result['diff'] = self.validated_config 1552s self.result['changed'] = True 1552s 1552s else: 1552s self.msg = "Device Claim Failed" 1552s > self.log(self.result['msg'], "CRITICAL") 1552s E KeyError: 'msg' 1552s 1552s plugins/modules/pnp_workflow_manager.py:985: KeyError 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 PnP: get_device_list_pnp: 1219: No device found with serial number: FOC2439LA89 1552s 1552s WARNING logger:dnac.py:294 PnP: get_have: 701: Device with serial number FOC2439LA89 is not found in the inventory 1552s 1552s WARNING logger:dnac.py:294 PnP: get_diff_merged: 965: Adding device to pnp database 1552s 1552s WARNING logger:dnac.py:294 PnP: get_device_list_pnp: 1219: No device found with serial number: FOC2439LA89 1552s 1552s WARNING logger:dnac.py:294 PnP: get_have: 701: Device with serial number FOC2439LA89 is not found in the inventory 1552s _______ TestDnacRmaIntent.test_rma_workflow_manager_mark_device_failure ________ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_rma_workflow_manager_mark_device_failure(self): 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="replaced", 1552s config=self.playbook_config_valid 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "An error occurred during the operation" 1552s ) 1552s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'An error occurred during the operation' 1552s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement. 1552s E + An error occurred during the operation 1552s 1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:274: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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. 1552s _ TestDnacRmaIntent.test_rma_workflow_manager_mark_device_for_replacement_exception _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_rma_workflow_manager_mark_device_for_replacement_exception(self): 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="replaced", 1552s config=self.playbook_config_valid 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Exception occurred while marking device for replacement: " 1552s ) 1552s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'Exception occurred while marking device for replacement: ' 1552s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement. 1552s E + Exception occurred while marking device for replacement: 1552s 1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:256: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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. 1552s ___ TestDnacRmaIntent.test_rma_workflow_manager_replacement_device_not_found ___ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_rma_workflow_manager_replacement_device_not_found(self): 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="replaced", 1552s config=self.playbook_config_device_not_found 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Replacement device '204.1.2.19' not found in Cisco Catalyst Center" 1552s ) 1552s E AssertionError: "Replacement device '204.1.2.19' not found in PnP" != "Replacement device '204.1.2.19' not found in Cisco Catalyst Center" 1552s E - Replacement device '204.1.2.19' not found in PnP 1552s E ? ^ ^ 1552s E + Replacement device '204.1.2.19' not found in Cisco Catalyst Center 1552s E ? ^^^^^^^^^^^^^^^^^ ^^^ 1552s 1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:220: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'msg': "Replacement device '204.1.2.19' not found in PnP", 'response': [], 'failed': True} 1552s ------------------------------ Captured log call ------------------------------- 1552s ERROR logger:dnac.py:294 DeviceReplacement: device_exists: 802: No valid response received from Cisco Catalyst Center 1552s 1552s ERROR logger:dnac.py:294 DeviceReplacement: pnp_device_exists: 713: Invalid identifier type provided 1552s 1552s ERROR logger:dnac.py:294 DeviceReplacement: get_have: 586: Replacement device '204.1.2.19' not found in PnP 1552s ________ TestDnacSiteWorkflow.test_Site_workflow_manager_update_a_site _________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_update_a_site(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_site 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:611: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:136: in changed 1552s self.assertEqual(result["changed"], changed, result) 1552s E AssertionError: False != True : {'changed': False, 'diff': [], 'response': [], 'warnings': []} 1552s ------------------------------ Captured log call ------------------------------- 1552s 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 1552s _______ TestDnacSiteWorkflow.test_Site_workflow_manager_create_bulk_site _______ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_create_bulk_site(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.upload_floor_map_playbook 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:274: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/site_workflow_manager.py:2520: in main 1552s ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1188: Missing 'name' field in entry. 1552s 1552s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1196: Missing 'parent_name' field in entry. 1552s 1552s 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' 1552s ____ TestDnacSiteWorkflow.test_Site_workflow_manager_update_not_needed_site ____ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_update_not_needed_site(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.5.3", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_update_site 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:585: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def main(): 1552s """ main entry point for module execution 1552s """ 1552s element_spec = {'dnac_host': {'required': True, 'type': 'str'}, 1552s 'dnac_port': {'type': 'str', 'default': '443'}, 1552s 'dnac_username': {'type': 'str', 'default': 'admin', 'aliases': ['user']}, 1552s 'dnac_password': {'type': 'str', 'no_log': True}, 1552s 'dnac_verify': {'type': 'bool', 'default': 'True'}, 1552s 'dnac_version': {'type': 'str', 'default': '2.2.3.3'}, 1552s 'dnac_debug': {'type': 'bool', 'default': False}, 1552s 'dnac_log_level': {'type': 'str', 'default': 'WARNING'}, 1552s "dnac_log_file_path": {"type": 'str', "default": 'dnac.log'}, 1552s "dnac_log_append": {"type": 'bool', "default": True}, 1552s 'dnac_log': {'type': 'bool', 'default': False}, 1552s 'validate_response_schema': {'type': 'bool', 'default': True}, 1552s 'config_verify': {'type': 'bool', "default": False}, 1552s 'dnac_api_task_timeout': {'type': 'int', "default": 1200}, 1552s 'dnac_task_poll_interval': {'type': 'int', "default": 2}, 1552s 'config': {'required': True, 'type': 'list', 'elements': 'dict'}, 1552s 'state': {'default': 'merged', 'choices': ['merged', 'deleted']} 1552s } 1552s 1552s module = AnsibleModule(argument_spec=element_spec, 1552s supports_check_mode=False) 1552s 1552s ccc_site = Site(module) 1552s state = ccc_site.params.get("state") 1552s 1552s if ccc_site.compare_dnac_versions(ccc_site.get_ccc_version(), "2.3.5.3") < 0: 1552s ccc_site.msg = ( 1552s "The specified version '{0}' does not support the site workflow feature. Supported versions start from '2.3.5.3' onwards. " 1552s "Version '2.3.5.3' introduces APIs for creating, updating, and deleting sites. " 1552s "Version '2.3.7.6' expands support to include APIs for bulk site creating, updating, and deleting sites.".format( 1552s ccc_site.get_ccc_version()) 1552s ) 1552s 1552s ccc_site.status = "failed" 1552s ccc_site.check_return_status() 1552s 1552s if state not in ccc_site.supported_states: 1552s ccc_site.status = "invalid" 1552s ccc_site.msg = "State {0} is invalid".format(state) 1552s ccc_site.check_return_status() 1552s 1552s ccc_site.validate_input().check_return_status() 1552s config_verify = ccc_site.params.get("config_verify") 1552s ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status() 1552s 1552s if ccc_site.compare_dnac_versions(ccc_site.get_ccc_version(), "2.3.7.6") >= 0: 1552s ccc_site.reset_values() 1552s ccc_site.get_want(ccc_site.validated_config).check_return_status() 1552s ccc_site.get_have(ccc_site.validated_config).check_return_status() 1552s 1552s ccc_site.get_diff_state_apply[state](ccc_site.validated_config).check_return_status() 1552s 1552s if config_verify: 1552s ccc_site.update_site_messages().check_return_status() 1552s 1552s else: 1552s for config in ccc_site.validated_config: 1552s ccc_site.reset_values() 1552s 1552s ccc_site.get_want(config).check_return_status() 1552s > ccc_site.get_have(config).check_return_status() 1552s E AttributeError: 'NoneType' object has no attribute 'check_return_status' 1552s 1552s plugins/modules/site_workflow_manager.py:2537: AttributeError 1552s ------------------------------ Captured log call ------------------------------- 1552s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: An unexpected error occurred while retrieving site details: 'NoneType' object is not subscriptable 1552s _________ TestDnacSiteWorkflow.test_Site_workflow_manager_create_site __________ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_create_site(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.5.3", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_site 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:297: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/site_workflow_manager.py:2539: in main 1552s ccc_site.get_diff_state_apply[state](config).check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites': 1552s 1552s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888 1552s 1552s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites': 1552s 1552s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: Parent name 'Global' does not exist in the Cisco Catalyst Center. 1552s 1552s 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} 1552s 1552s WARNING logger:dnac.py:294 Site: get_site_v1: 612: Empty response received for site: Global/japan8888 1552s 1552s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888 1552s _________ TestDnacSiteWorkflow.test_Site_workflow_manager_update_site __________ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s def get_diff_merged(self, config): 1552s """ 1552s Update/Create site information in Cisco Catalyst Center with fields 1552s provided in the playbook. 1552s Parameters: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s config (dict): A dictionary containing configuration information. 1552s Returns: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s Description: 1552s This method determines whether to update or create a site in Cisco Catalyst Center based on the provided 1552s configuration information. If the specified site exists, the method checks if it requires an update 1552s by calling the 'site_requires_update' method. If an update is required, it calls the 'update_site' 1552s function from the 'sites' family of the Cisco Catalyst Center API. If the site does not require an update, 1552s the method exits, indicating that the site is up to date. 1552s """ 1552s site_updated = False 1552s site_created = False 1552s 1552s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0: 1552s self.handle_config['area'] = [] 1552s self.handle_config['building'] = [] 1552s self.handle_config['floor'] = [] 1552s try: 1552s create_site = copy.deepcopy(self.handle_config["create_site"]) 1552s if len(create_site) > 0: 1552s self.log("Starting site creation process.", "DEBUG") 1552s for each_config in create_site: 1552s payload_data = self.change_payload_data(each_config.get("want")) 1552s if payload_data: 1552s payload_data[self.keymap["parent_name_hierarchy"]] =\ 1552s payload_data.get(self.keymap["parent_name"]) 1552s del payload_data[self.keymap["parent_name"]] 1552s self.log("Payload data prepared for site creation: {}".format(payload_data), "DEBUG") 1552s 1552s if payload_data.get("type") == "area": 1552s self.handle_config["area"].append(payload_data) 1552s self.log("Added to area: {}".format(payload_data), "DEBUG") 1552s elif payload_data.get("type") == "building": 1552s self.handle_config["building"].append(payload_data) 1552s self.log("Added to building: {}".format(payload_data), "DEBUG") 1552s elif payload_data.get("type") == "floor": 1552s self.handle_config["floor"].append(payload_data) 1552s self.log("Added to floor: {}".format(payload_data), "DEBUG") 1552s for each_type in ("area", "building", "floor"): 1552s if self.handle_config[each_type]: 1552s self.log("Processing configurations for '{0}'.".format(each_type), "DEBUG") 1552s for create_config in self.handle_config[each_type]: 1552s self.log("Handling configuration: {0}".format(create_config), "DEBUG") 1552s parent_name = create_config.get(self.keymap.get("parent_name_hierarchy")) 1552s if not parent_name: 1552s self.msg = "No parent name found in configuration for '{0}'.".format(each_type) 1552s self.log(self.msg, "DEBUG") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s self.log("Checking if parent site '{0}' exists in the hierarchy.".format(parent_name), "DEBUG") 1552s 1552s site_exists = self.is_site_exist(parent_name) 1552s if not site_exists: 1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1552s self.log(self.msg, "DEBUG") 1552s self.site_absent_list.append(str(parent_name) + " does not exist ") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s 1552s response = self.creating_bulk_site(self.handle_config[each_type]) 1552s self.log("Response from creating_bulk_site for {}: {}".format(each_type, response), "DEBUG") 1552s 1552s if response and isinstance(response, dict) and "response" in response: 1552s task_id = response["response"].get("taskId") 1552s if task_id: 1552s self.log("Task Id for the 'site_creation' task is {}".format(task_id), "INFO") 1552s 1552s task_name = "create_sites" 1552s success_msg = "Site created successfully." 1552s self.get_task_status_from_tasks_by_id(task_id, task_name, success_msg) 1552s 1552s for site in self.handle_config[each_type]: 1552s if "name" in site: 1552s self.created_site_list.append(str(each_type) + ": " + str(site.get("name"))) 1552s 1552s self.log("Site '{}' created successfully".format(self.created_site_list), "INFO") 1552s 1552s for site in self.handle_config[each_type]: 1552s if site.get("type") == "floor": 1552s floor_name = site.get("name") 1552s self.log("Floor '{}' has been created successfully.".format(floor_name), "INFO") 1552s 1552s upload_path = site.get("upload_floor_image_path", None) 1552s if upload_path: 1552s self.log("Upload path found for floor '{}'. Starting upload floor map from '{}.'". 1552s format(floor_name, upload_path), "INFO") 1552s 1552s map_details, map_status, success_message = self.upload_floor_image(site) 1552s if map_details: 1552s self.log("Floor map for '{}' uploaded successfully: {}". 1552s format(floor_name, success_message), "INFO") 1552s else: 1552s self.log("Floor map upload failed for '{}'. Please check the upload path and retry.". 1552s format(floor_name), "ERROR") 1552s else: 1552s self.log("No upload path provided for '{}'. Floor created without floor map.". 1552s format(floor_name), "INFO") 1552s else: 1552s self.log("No valid task ID received from the 'creating_bulk_site' response.", "WARNING") 1552s return None 1552s else: 1552s self.log("No response received from the 'creating_bulk_site' API call.", "WARNING") 1552s return None 1552s 1552s task_detail_list = [] 1552s for each_config in self.have: 1552s site_name_hierarchy = each_config.get("site_name_hierarchy") 1552s 1552s if each_config.get("site_exists"): 1552s self.log("Processing site: {}".format(site_name_hierarchy), "DEBUG") 1552s payload_new = self.change_payload_data(each_config.get("want")) 1552s if payload_new.get("type") == "area": 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1552s elif payload_new.get("type") in ("building", "floor"): 1552s site_params = each_config.get("site_params") 1552s site_params["site_id"] = each_config.get("site_id") 1552s site_type = site_params.get("type") 1552s 1552s if self.site_requires_update(each_config): 1552s self.log("Site requires update, starting update for type: {}".format(site_type), "DEBUG") 1552s response = (self.update_floor(site_params, payload_new) if site_type == "floor" 1552s else self.update_area(site_params) if site_type == "area" 1552s else self.update_building(site_params) if site_type == "building" 1552s else self.log("Unknown site type: {0}".format(site_type), "ERROR")) 1552s 1552s self.log("Received API response from 'update_site': {0}". 1552s format(str(response)), "DEBUG") 1552s 1552s if response and isinstance(response, dict): 1552s taskid = response["response"]["taskId"] 1552s 1552s while True: 1552s task_details = self.get_task_details(taskid) 1552s if site_type != "floor": 1552s if task_details.get("progress") == "Group is updated successfully": 1552s task_detail_list.append(task_details) 1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1552s self.log("Site '{}' updated successfully.".format(site_name_hierarchy), "INFO") 1552s break 1552s else: 1552s if task_details.get("progress") == "Service domain is updated successfully.": 1552s task_detail_list.append(task_details) 1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1552s break 1552s 1552s if task_details.get("bapiError"): 1552s msg = task_details.get("bapiError") 1552s self.set_operation_result("failed", False, msg, "ERROR", 1552s task_details).check_return_status() 1552s break 1552s else: 1552s self.msg = "Unable to execute the update the site: {0} ".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s else: 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1552s except Exception as e: 1552s self.log("Yaml is not available for bulk: {}".format(str(e)), "ERROR") 1552s 1552s return self 1552s 1552s else: 1552s site_params = self.want.get("site_params") 1552s site_type = site_params.get("type") 1552s if self.have.get("site_exists"): 1552s site_name_hierarchy = self.want.get("site_name_hierarchy") 1552s if not self.site_requires_update(): 1552s self.update_not_needed_sites.append(site_type + ": " + site_name_hierarchy) 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s else: 1552s try: 1552s site_params["site_id"] = self.have.get("site_id") 1552s self.log("Site parameters prepared for update: {}".format(site_params)) 1552s self.log("Site update process started.", "INFO") 1552s 1552s if site_params['site'].get('building'): 1552s building_details = {} 1552s for key, value in site_params['site']['building'].items(): 1552s if value is not None: 1552s building_details[key] = value 1552s 1552s site_params['site']['building'] = building_details 1552s 1552s response = self.dnac._exec( 1552s family="sites", 1552s function='update_site', 1552s op_modifies=True, 1552s params=site_params, 1552s ) 1552s self.log("Received API response from 'update_site': {0}".format(str(response)), "DEBUG") 1552s 1552s if response and isinstance(response, dict): 1552s execution_id = response.get("executionId") 1552s while True: 1552s execution_details = self.get_execution_details(execution_id) 1552s if execution_details.get("status") == "SUCCESS": 1552s self.result['changed'] = True 1552s site_updated = True 1552s self.updated_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1552s self.log("Site - {0} Updated Successfully".format(site_name_hierarchy), "INFO") 1552s break 1552s elif execution_details.get("bapiError"): 1552s self.msg = "Unable to Update: " + execution_details.get("bapiError") 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s execution_details).check_return_status() 1552s 1552s except Exception as e: 1552s self.msg = "Unexpected error occurred while update: {0}".format(str(e)) 1552s self.log(self.msg, "ERROR") 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s site_name_hierarchy).check_return_status() 1552s 1552s else: 1552s try: 1552s try: 1552s if site_params['site'].get('building'): 1552s building_details = {} 1552s for key, value in site_params['site']['building'].items(): 1552s if value is not None: 1552s building_details[key] = value 1552s 1552s site_params['site']['building'] = building_details 1552s 1552s except Exception as e: 1552s site_type = site_params['type'] 1552s name = site_params['site'][site_type]['name'] 1552s self.log("The site '{0}' is not categorized as a building; no need to filter 'None' values.". 1552s format(name), "INFO") 1552s 1552s site_type = site_params['type'] 1552s parent_name = site_params.get('site').get(site_type).get('parentName') 1552s try: 1552s response = self.get_site_v1(parent_name) 1552s if not response: 1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1552s self.log(self.msg, "DEBUG") 1552s self.site_absent_list.append(str(parent_name) + " does not exist ") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s except Exception as e: 1552s self.log("No response received from 'get_site_v1' API for site: {0}".format(parent_name + str(e)), "ERROR") 1552s 1552s > response = self.dnac._exec( 1552s family="sites", 1552s function='create_site', 1552s op_modifies=True, 1552s params=site_params, 1552s ) 1552s 1552s plugins/modules/site_workflow_manager.py:1868: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1552s return self._mock_call(*args, **kwargs) 1552s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1552s return self._execute_mock_call(*args, **kwargs) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s self = , args = () 1552s kwargs = {'family': 'sites', 'function': 'create_site', 'op_modifies': True, 'params': {'site': {'area': {'name': 'japan8888', 'parentName': 'Global'}}, 'type': 'area'}} 1552s effect = , result = Exception() 1552s 1552s def _execute_mock_call(self, /, *args, **kwargs): 1552s # separate from _increment_mock_call so that awaited functions are 1552s # executed separately from their call, also AsyncMock overrides this method 1552s 1552s effect = self.side_effect 1552s if effect is not None: 1552s if _is_exception(effect): 1552s raise effect 1552s elif not _callable(effect): 1552s result = next(effect) 1552s if _is_exception(result): 1552s > raise result 1552s E Exception 1552s 1552s /usr/lib/python3.13/unittest/mock.py:1232: Exception 1552s 1552s During handling of the above exception, another exception occurred: 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_update_site(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.5.3", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_update_site 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:559: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/site_workflow_manager.py:2539: in main 1552s ccc_site.get_diff_state_apply[state](config).check_return_status() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_diff_merged(self, config): 1552s """ 1552s Update/Create site information in Cisco Catalyst Center with fields 1552s provided in the playbook. 1552s Parameters: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s config (dict): A dictionary containing configuration information. 1552s Returns: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s Description: 1552s This method determines whether to update or create a site in Cisco Catalyst Center based on the provided 1552s configuration information. If the specified site exists, the method checks if it requires an update 1552s by calling the 'site_requires_update' method. If an update is required, it calls the 'update_site' 1552s function from the 'sites' family of the Cisco Catalyst Center API. If the site does not require an update, 1552s the method exits, indicating that the site is up to date. 1552s """ 1552s site_updated = False 1552s site_created = False 1552s 1552s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0: 1552s self.handle_config['area'] = [] 1552s self.handle_config['building'] = [] 1552s self.handle_config['floor'] = [] 1552s try: 1552s create_site = copy.deepcopy(self.handle_config["create_site"]) 1552s if len(create_site) > 0: 1552s self.log("Starting site creation process.", "DEBUG") 1552s for each_config in create_site: 1552s payload_data = self.change_payload_data(each_config.get("want")) 1552s if payload_data: 1552s payload_data[self.keymap["parent_name_hierarchy"]] =\ 1552s payload_data.get(self.keymap["parent_name"]) 1552s del payload_data[self.keymap["parent_name"]] 1552s self.log("Payload data prepared for site creation: {}".format(payload_data), "DEBUG") 1552s 1552s if payload_data.get("type") == "area": 1552s self.handle_config["area"].append(payload_data) 1552s self.log("Added to area: {}".format(payload_data), "DEBUG") 1552s elif payload_data.get("type") == "building": 1552s self.handle_config["building"].append(payload_data) 1552s self.log("Added to building: {}".format(payload_data), "DEBUG") 1552s elif payload_data.get("type") == "floor": 1552s self.handle_config["floor"].append(payload_data) 1552s self.log("Added to floor: {}".format(payload_data), "DEBUG") 1552s for each_type in ("area", "building", "floor"): 1552s if self.handle_config[each_type]: 1552s self.log("Processing configurations for '{0}'.".format(each_type), "DEBUG") 1552s for create_config in self.handle_config[each_type]: 1552s self.log("Handling configuration: {0}".format(create_config), "DEBUG") 1552s parent_name = create_config.get(self.keymap.get("parent_name_hierarchy")) 1552s if not parent_name: 1552s self.msg = "No parent name found in configuration for '{0}'.".format(each_type) 1552s self.log(self.msg, "DEBUG") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s self.log("Checking if parent site '{0}' exists in the hierarchy.".format(parent_name), "DEBUG") 1552s 1552s site_exists = self.is_site_exist(parent_name) 1552s if not site_exists: 1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1552s self.log(self.msg, "DEBUG") 1552s self.site_absent_list.append(str(parent_name) + " does not exist ") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s 1552s response = self.creating_bulk_site(self.handle_config[each_type]) 1552s self.log("Response from creating_bulk_site for {}: {}".format(each_type, response), "DEBUG") 1552s 1552s if response and isinstance(response, dict) and "response" in response: 1552s task_id = response["response"].get("taskId") 1552s if task_id: 1552s self.log("Task Id for the 'site_creation' task is {}".format(task_id), "INFO") 1552s 1552s task_name = "create_sites" 1552s success_msg = "Site created successfully." 1552s self.get_task_status_from_tasks_by_id(task_id, task_name, success_msg) 1552s 1552s for site in self.handle_config[each_type]: 1552s if "name" in site: 1552s self.created_site_list.append(str(each_type) + ": " + str(site.get("name"))) 1552s 1552s self.log("Site '{}' created successfully".format(self.created_site_list), "INFO") 1552s 1552s for site in self.handle_config[each_type]: 1552s if site.get("type") == "floor": 1552s floor_name = site.get("name") 1552s self.log("Floor '{}' has been created successfully.".format(floor_name), "INFO") 1552s 1552s upload_path = site.get("upload_floor_image_path", None) 1552s if upload_path: 1552s self.log("Upload path found for floor '{}'. Starting upload floor map from '{}.'". 1552s format(floor_name, upload_path), "INFO") 1552s 1552s map_details, map_status, success_message = self.upload_floor_image(site) 1552s if map_details: 1552s self.log("Floor map for '{}' uploaded successfully: {}". 1552s format(floor_name, success_message), "INFO") 1552s else: 1552s self.log("Floor map upload failed for '{}'. Please check the upload path and retry.". 1552s format(floor_name), "ERROR") 1552s else: 1552s self.log("No upload path provided for '{}'. Floor created without floor map.". 1552s format(floor_name), "INFO") 1552s else: 1552s self.log("No valid task ID received from the 'creating_bulk_site' response.", "WARNING") 1552s return None 1552s else: 1552s self.log("No response received from the 'creating_bulk_site' API call.", "WARNING") 1552s return None 1552s 1552s task_detail_list = [] 1552s for each_config in self.have: 1552s site_name_hierarchy = each_config.get("site_name_hierarchy") 1552s 1552s if each_config.get("site_exists"): 1552s self.log("Processing site: {}".format(site_name_hierarchy), "DEBUG") 1552s payload_new = self.change_payload_data(each_config.get("want")) 1552s if payload_new.get("type") == "area": 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1552s elif payload_new.get("type") in ("building", "floor"): 1552s site_params = each_config.get("site_params") 1552s site_params["site_id"] = each_config.get("site_id") 1552s site_type = site_params.get("type") 1552s 1552s if self.site_requires_update(each_config): 1552s self.log("Site requires update, starting update for type: {}".format(site_type), "DEBUG") 1552s response = (self.update_floor(site_params, payload_new) if site_type == "floor" 1552s else self.update_area(site_params) if site_type == "area" 1552s else self.update_building(site_params) if site_type == "building" 1552s else self.log("Unknown site type: {0}".format(site_type), "ERROR")) 1552s 1552s self.log("Received API response from 'update_site': {0}". 1552s format(str(response)), "DEBUG") 1552s 1552s if response and isinstance(response, dict): 1552s taskid = response["response"]["taskId"] 1552s 1552s while True: 1552s task_details = self.get_task_details(taskid) 1552s if site_type != "floor": 1552s if task_details.get("progress") == "Group is updated successfully": 1552s task_detail_list.append(task_details) 1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1552s self.log("Site '{}' updated successfully.".format(site_name_hierarchy), "INFO") 1552s break 1552s else: 1552s if task_details.get("progress") == "Service domain is updated successfully.": 1552s task_detail_list.append(task_details) 1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1552s break 1552s 1552s if task_details.get("bapiError"): 1552s msg = task_details.get("bapiError") 1552s self.set_operation_result("failed", False, msg, "ERROR", 1552s task_details).check_return_status() 1552s break 1552s else: 1552s self.msg = "Unable to execute the update the site: {0} ".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s else: 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1552s except Exception as e: 1552s self.log("Yaml is not available for bulk: {}".format(str(e)), "ERROR") 1552s 1552s return self 1552s 1552s else: 1552s site_params = self.want.get("site_params") 1552s site_type = site_params.get("type") 1552s if self.have.get("site_exists"): 1552s site_name_hierarchy = self.want.get("site_name_hierarchy") 1552s if not self.site_requires_update(): 1552s self.update_not_needed_sites.append(site_type + ": " + site_name_hierarchy) 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s else: 1552s try: 1552s site_params["site_id"] = self.have.get("site_id") 1552s self.log("Site parameters prepared for update: {}".format(site_params)) 1552s self.log("Site update process started.", "INFO") 1552s 1552s if site_params['site'].get('building'): 1552s building_details = {} 1552s for key, value in site_params['site']['building'].items(): 1552s if value is not None: 1552s building_details[key] = value 1552s 1552s site_params['site']['building'] = building_details 1552s 1552s response = self.dnac._exec( 1552s family="sites", 1552s function='update_site', 1552s op_modifies=True, 1552s params=site_params, 1552s ) 1552s self.log("Received API response from 'update_site': {0}".format(str(response)), "DEBUG") 1552s 1552s if response and isinstance(response, dict): 1552s execution_id = response.get("executionId") 1552s while True: 1552s execution_details = self.get_execution_details(execution_id) 1552s if execution_details.get("status") == "SUCCESS": 1552s self.result['changed'] = True 1552s site_updated = True 1552s self.updated_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1552s self.log("Site - {0} Updated Successfully".format(site_name_hierarchy), "INFO") 1552s break 1552s elif execution_details.get("bapiError"): 1552s self.msg = "Unable to Update: " + execution_details.get("bapiError") 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s execution_details).check_return_status() 1552s 1552s except Exception as e: 1552s self.msg = "Unexpected error occurred while update: {0}".format(str(e)) 1552s self.log(self.msg, "ERROR") 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s site_name_hierarchy).check_return_status() 1552s 1552s else: 1552s try: 1552s try: 1552s if site_params['site'].get('building'): 1552s building_details = {} 1552s for key, value in site_params['site']['building'].items(): 1552s if value is not None: 1552s building_details[key] = value 1552s 1552s site_params['site']['building'] = building_details 1552s 1552s except Exception as e: 1552s site_type = site_params['type'] 1552s name = site_params['site'][site_type]['name'] 1552s self.log("The site '{0}' is not categorized as a building; no need to filter 'None' values.". 1552s format(name), "INFO") 1552s 1552s site_type = site_params['type'] 1552s parent_name = site_params.get('site').get(site_type).get('parentName') 1552s try: 1552s response = self.get_site_v1(parent_name) 1552s if not response: 1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1552s self.log(self.msg, "DEBUG") 1552s self.site_absent_list.append(str(parent_name) + " does not exist ") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s except Exception as e: 1552s self.log("No response received from 'get_site_v1' API for site: {0}".format(parent_name + str(e)), "ERROR") 1552s 1552s response = self.dnac._exec( 1552s family="sites", 1552s function='create_site', 1552s op_modifies=True, 1552s params=site_params, 1552s ) 1552s self.log("Received API response from 'create_site': {0}".format(str(response)), "DEBUG") 1552s 1552s if response and isinstance(response, dict): 1552s executionid = response.get("executionId") 1552s while True: 1552s execution_details = self.get_execution_details(executionid) 1552s if execution_details.get("status") == "SUCCESS": 1552s self.result['changed'] = True 1552s break 1552s elif execution_details.get("bapiError"): 1552s self.msg = "Unable to Create: " + str(execution_details.get("bapiError")) 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s execution_details).check_return_status() 1552s break 1552s 1552s site_exists, current_site = self.site_exists() 1552s if site_exists: 1552s site_name_hierarchy = self.want.get("site_name_hierarchy") 1552s self.created_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1552s self.log("Site '{0}' created successfully".format(site_name_hierarchy), "INFO") 1552s return self 1552s 1552s except Exception as e: 1552s self.msg = "Unexpected error occurred while create: {0}".format(str(e)) 1552s self.log(self.msg, "ERROR") 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s > site_name_hierarchy).check_return_status() 1552s E UnboundLocalError: cannot access local variable 'site_name_hierarchy' where it is not associated with a value 1552s 1552s plugins/modules/site_workflow_manager.py:1900: UnboundLocalError 1552s ------------------------------ Captured log call ------------------------------- 1552s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites': 1552s 1552s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888 1552s 1552s ERROR logger:dnac.py:294 Site: get_diff_merged: 1898: Unexpected error occurred while create: 1552s ___ TestDnacSiteWorkflow.test_Site_workflow_manager_create_site_bulk_invalid ___ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_create_site_bulk_invalid(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_site 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "An error occurred while executing GET API call to Function: 'get_sites' " 1552s "from Family: 'site_design'. " 1552s "Parameters: {'name_hierarchy': 'Global/japan8888'}. " 1552s "Exception: ." 1552s ) 1552s E AssertionError: "An e[106 chars]: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: ." != "An e[106 chars]: {'name_hierarchy': 'Global/japan8888'}. Exception: ." 1552s E - An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: . 1552s E ? -------- 1552s E + An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888'}. Exception: . 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:416: AssertionError 1552s ------------------------------ Captured log call ------------------------------- 1552s 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: . 1552s 1552s 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} 1552s 1552s 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: . 1552s 1552s 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} 1552s 1552s 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'. 1552s 1552s ERROR logger:dnac.py:294 Site: get_have: 1037: Unexpected response received: 1552s _______ TestDnacSiteWorkflow.test_Site_workflow_manager_upload_floor_map _______ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_upload_floor_map(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.upload_floor_map_playbook 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:320: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/site_workflow_manager.py:2520: in main 1552s ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1188: Missing 'name' field in entry. 1552s 1552s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1196: Missing 'parent_name' field in entry. 1552s 1552s 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' 1552s ______ TestDnacSiteWorkflow.test_Site_workflow_manager_delete_a_new_site _______ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_delete_a_new_site(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="deleted", 1552s config=self.delete_config_playbook 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:489: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/site_workflow_manager.py:2527: in main 1552s ccc_site.get_diff_state_apply[state](ccc_site.validated_config).check_return_status() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_diff_deleted(self, config): 1552s """ 1552s Call Cisco Catalyst Center API to delete sites with provided inputs. 1552s Parameters: 1552s - self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s - config (dict): Dictionary containing information for site deletion. 1552s Returns: 1552s - self: The result dictionary includes the following keys: 1552s - 'changed' (bool): Indicates whether changes were made 1552s during the deletion process. 1552s - 'response' (dict): Contains details about the execution 1552s and the deleted site ID. 1552s - 'msg' (str): A message indicating the status of the deletion operation. 1552s Description: 1552s This method initiates the deletion of a site by calling the 'delete_site' function in the 'sites' family 1552s of the Cisco Catalyst Center API. It uses the site ID obtained from the 'have' attribute. 1552s """ 1552s 1552s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.5.3") <= 0: 1552s site_exists = self.have.get("site_exists") 1552s site_name_hierarchy = self.want.get("site_name_hierarchy") 1552s site_id = self.have.get("site_id") 1552s if not site_exists: 1552s if site_name_hierarchy not in self.deleted_site_list: 1552s self.site_absent_list.append(site_name_hierarchy) 1552s self.log( 1552s "Failed to delete site '{0}'. Reason: The site was not found in the Cisco Catalyst Center.".format(site_name_hierarchy), 1552s "DEBUG" 1552s ) 1552s return self 1552s api_response, response = self.get_device_ids_from_site(site_name_hierarchy, site_id) 1552s self.log( 1552s "Received API response from 'get_membership': {0}".format(str(api_response)), "DEBUG") 1552s 1552s site_response = api_response.get("site", {}).get("response", []) 1552s self.log( 1552s "Site '{0}' response along with its child sites: {1}".format(site_name_hierarchy, str(site_response)), "DEBUG") 1552s 1552s if not site_response: 1552s self.delete_single_site(site_id, site_name_hierarchy) 1552s return self 1552s 1552s sorted_site_resp = sorted( 1552s site_response, key=lambda x: x.get("groupHierarchy"), reverse=True) 1552s 1552s for item in sorted_site_resp: 1552s self.delete_single_site(item['id'], item['groupNameHierarchy']) 1552s 1552s self.delete_single_site(site_id, site_name_hierarchy) 1552s self.log( 1552s "The site '{0}' and its child sites have been deleted successfully".format(site_name_hierarchy), "INFO") 1552s 1552s elif self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0: 1552s final_deletion_list = [] 1552s for each_type in ("floor", "building", "area"): 1552s if self.handle_config[each_type]: 1552s self.log("Starting bulk site creation for type: {}".format(each_type), "DEBUG") 1552s for config in self.handle_config[each_type]: 1552s site_exists = config.get("site_exists") 1552s if not site_exists: 1552s self.log("Unable to delete site {0} as it's not found in Cisco Catalyst Center". 1552s format(config.get("site_name_hierarchy")), "INFO") 1552s self.site_absent_list.append(str(each_type) + ": " + str(config.get("site_name_hierarchy"))) 1552s else: 1552s final_deletion_list.append(config) 1552s self.log("Deletion list re-arranged order: {0}.".format(final_deletion_list), "INFO") 1552s 1552s if len(final_deletion_list) > 0: 1552s for config in final_deletion_list: 1552s site_name_hierarchy = config.get("site_name_hierarchy") 1552s site_params = config.get("site_params") 1552s site_params["site_id"] = config.get("site_id") 1552s site_type = site_params.get("type") 1552s site_id = site_params["site_id"] 1552s self.log("Site ID from 'have' for retrieval: {0}".format(site_id), "DEBUG") 1552s self.log("Site TYPE from 'have' for retrieval: {0}".format(site_type), "DEBUG") 1552s self.log("Site PARAMS from 'have' for retrieval: {0}".format(site_params), "DEBUG") 1552s self.log("Site NAME from 'want' for retrieval: {0}".format(site_name_hierarchy), "DEBUG") 1552s 1552s self.log("Initiating deletion for site '{0}' with site ID: {1} of type: {2}".format( 1552s site_name_hierarchy, site_id, site_type), "DEBUG") 1552s 1552s response = None 1552s if site_type == "floor": 1552s response = self.delete_floor(site_name_hierarchy, site_id) 1552s elif site_type == "area": 1552s response = self.delete_area(site_name_hierarchy, site_id) 1552s self.log("Response for deleting area: {0}".format(str(response)), "DEBUG") 1552s elif site_type == "building": 1552s response = self.delete_building(site_name_hierarchy, site_id) 1552s 1552s if isinstance(response, dict): 1552s > task_id = response.get("response", {}).get("taskId") 1552s E AttributeError: 'list' object has no attribute 'get' 1552s 1552s plugins/modules/site_workflow_manager.py:2136: AttributeError 1552s ___ TestDnacSiteWorkflow.test_Site_workflow_manager_verify_diff_merged_site ____ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s def get_diff_merged(self, config): 1552s """ 1552s Update/Create site information in Cisco Catalyst Center with fields 1552s provided in the playbook. 1552s Parameters: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s config (dict): A dictionary containing configuration information. 1552s Returns: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s Description: 1552s This method determines whether to update or create a site in Cisco Catalyst Center based on the provided 1552s configuration information. If the specified site exists, the method checks if it requires an update 1552s by calling the 'site_requires_update' method. If an update is required, it calls the 'update_site' 1552s function from the 'sites' family of the Cisco Catalyst Center API. If the site does not require an update, 1552s the method exits, indicating that the site is up to date. 1552s """ 1552s site_updated = False 1552s site_created = False 1552s 1552s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0: 1552s self.handle_config['area'] = [] 1552s self.handle_config['building'] = [] 1552s self.handle_config['floor'] = [] 1552s try: 1552s create_site = copy.deepcopy(self.handle_config["create_site"]) 1552s if len(create_site) > 0: 1552s self.log("Starting site creation process.", "DEBUG") 1552s for each_config in create_site: 1552s payload_data = self.change_payload_data(each_config.get("want")) 1552s if payload_data: 1552s payload_data[self.keymap["parent_name_hierarchy"]] =\ 1552s payload_data.get(self.keymap["parent_name"]) 1552s del payload_data[self.keymap["parent_name"]] 1552s self.log("Payload data prepared for site creation: {}".format(payload_data), "DEBUG") 1552s 1552s if payload_data.get("type") == "area": 1552s self.handle_config["area"].append(payload_data) 1552s self.log("Added to area: {}".format(payload_data), "DEBUG") 1552s elif payload_data.get("type") == "building": 1552s self.handle_config["building"].append(payload_data) 1552s self.log("Added to building: {}".format(payload_data), "DEBUG") 1552s elif payload_data.get("type") == "floor": 1552s self.handle_config["floor"].append(payload_data) 1552s self.log("Added to floor: {}".format(payload_data), "DEBUG") 1552s for each_type in ("area", "building", "floor"): 1552s if self.handle_config[each_type]: 1552s self.log("Processing configurations for '{0}'.".format(each_type), "DEBUG") 1552s for create_config in self.handle_config[each_type]: 1552s self.log("Handling configuration: {0}".format(create_config), "DEBUG") 1552s parent_name = create_config.get(self.keymap.get("parent_name_hierarchy")) 1552s if not parent_name: 1552s self.msg = "No parent name found in configuration for '{0}'.".format(each_type) 1552s self.log(self.msg, "DEBUG") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s self.log("Checking if parent site '{0}' exists in the hierarchy.".format(parent_name), "DEBUG") 1552s 1552s site_exists = self.is_site_exist(parent_name) 1552s if not site_exists: 1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1552s self.log(self.msg, "DEBUG") 1552s self.site_absent_list.append(str(parent_name) + " does not exist ") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s 1552s response = self.creating_bulk_site(self.handle_config[each_type]) 1552s self.log("Response from creating_bulk_site for {}: {}".format(each_type, response), "DEBUG") 1552s 1552s if response and isinstance(response, dict) and "response" in response: 1552s task_id = response["response"].get("taskId") 1552s if task_id: 1552s self.log("Task Id for the 'site_creation' task is {}".format(task_id), "INFO") 1552s 1552s task_name = "create_sites" 1552s success_msg = "Site created successfully." 1552s self.get_task_status_from_tasks_by_id(task_id, task_name, success_msg) 1552s 1552s for site in self.handle_config[each_type]: 1552s if "name" in site: 1552s self.created_site_list.append(str(each_type) + ": " + str(site.get("name"))) 1552s 1552s self.log("Site '{}' created successfully".format(self.created_site_list), "INFO") 1552s 1552s for site in self.handle_config[each_type]: 1552s if site.get("type") == "floor": 1552s floor_name = site.get("name") 1552s self.log("Floor '{}' has been created successfully.".format(floor_name), "INFO") 1552s 1552s upload_path = site.get("upload_floor_image_path", None) 1552s if upload_path: 1552s self.log("Upload path found for floor '{}'. Starting upload floor map from '{}.'". 1552s format(floor_name, upload_path), "INFO") 1552s 1552s map_details, map_status, success_message = self.upload_floor_image(site) 1552s if map_details: 1552s self.log("Floor map for '{}' uploaded successfully: {}". 1552s format(floor_name, success_message), "INFO") 1552s else: 1552s self.log("Floor map upload failed for '{}'. Please check the upload path and retry.". 1552s format(floor_name), "ERROR") 1552s else: 1552s self.log("No upload path provided for '{}'. Floor created without floor map.". 1552s format(floor_name), "INFO") 1552s else: 1552s self.log("No valid task ID received from the 'creating_bulk_site' response.", "WARNING") 1552s return None 1552s else: 1552s self.log("No response received from the 'creating_bulk_site' API call.", "WARNING") 1552s return None 1552s 1552s task_detail_list = [] 1552s for each_config in self.have: 1552s site_name_hierarchy = each_config.get("site_name_hierarchy") 1552s 1552s if each_config.get("site_exists"): 1552s self.log("Processing site: {}".format(site_name_hierarchy), "DEBUG") 1552s payload_new = self.change_payload_data(each_config.get("want")) 1552s if payload_new.get("type") == "area": 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1552s elif payload_new.get("type") in ("building", "floor"): 1552s site_params = each_config.get("site_params") 1552s site_params["site_id"] = each_config.get("site_id") 1552s site_type = site_params.get("type") 1552s 1552s if self.site_requires_update(each_config): 1552s self.log("Site requires update, starting update for type: {}".format(site_type), "DEBUG") 1552s response = (self.update_floor(site_params, payload_new) if site_type == "floor" 1552s else self.update_area(site_params) if site_type == "area" 1552s else self.update_building(site_params) if site_type == "building" 1552s else self.log("Unknown site type: {0}".format(site_type), "ERROR")) 1552s 1552s self.log("Received API response from 'update_site': {0}". 1552s format(str(response)), "DEBUG") 1552s 1552s if response and isinstance(response, dict): 1552s taskid = response["response"]["taskId"] 1552s 1552s while True: 1552s task_details = self.get_task_details(taskid) 1552s if site_type != "floor": 1552s if task_details.get("progress") == "Group is updated successfully": 1552s task_detail_list.append(task_details) 1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1552s self.log("Site '{}' updated successfully.".format(site_name_hierarchy), "INFO") 1552s break 1552s else: 1552s if task_details.get("progress") == "Service domain is updated successfully.": 1552s task_detail_list.append(task_details) 1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1552s break 1552s 1552s if task_details.get("bapiError"): 1552s msg = task_details.get("bapiError") 1552s self.set_operation_result("failed", False, msg, "ERROR", 1552s task_details).check_return_status() 1552s break 1552s else: 1552s self.msg = "Unable to execute the update the site: {0} ".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s else: 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1552s except Exception as e: 1552s self.log("Yaml is not available for bulk: {}".format(str(e)), "ERROR") 1552s 1552s return self 1552s 1552s else: 1552s site_params = self.want.get("site_params") 1552s site_type = site_params.get("type") 1552s if self.have.get("site_exists"): 1552s site_name_hierarchy = self.want.get("site_name_hierarchy") 1552s if not self.site_requires_update(): 1552s self.update_not_needed_sites.append(site_type + ": " + site_name_hierarchy) 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s else: 1552s try: 1552s site_params["site_id"] = self.have.get("site_id") 1552s self.log("Site parameters prepared for update: {}".format(site_params)) 1552s self.log("Site update process started.", "INFO") 1552s 1552s if site_params['site'].get('building'): 1552s building_details = {} 1552s for key, value in site_params['site']['building'].items(): 1552s if value is not None: 1552s building_details[key] = value 1552s 1552s site_params['site']['building'] = building_details 1552s 1552s response = self.dnac._exec( 1552s family="sites", 1552s function='update_site', 1552s op_modifies=True, 1552s params=site_params, 1552s ) 1552s self.log("Received API response from 'update_site': {0}".format(str(response)), "DEBUG") 1552s 1552s if response and isinstance(response, dict): 1552s execution_id = response.get("executionId") 1552s while True: 1552s execution_details = self.get_execution_details(execution_id) 1552s if execution_details.get("status") == "SUCCESS": 1552s self.result['changed'] = True 1552s site_updated = True 1552s self.updated_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1552s self.log("Site - {0} Updated Successfully".format(site_name_hierarchy), "INFO") 1552s break 1552s elif execution_details.get("bapiError"): 1552s self.msg = "Unable to Update: " + execution_details.get("bapiError") 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s execution_details).check_return_status() 1552s 1552s except Exception as e: 1552s self.msg = "Unexpected error occurred while update: {0}".format(str(e)) 1552s self.log(self.msg, "ERROR") 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s site_name_hierarchy).check_return_status() 1552s 1552s else: 1552s try: 1552s try: 1552s if site_params['site'].get('building'): 1552s building_details = {} 1552s for key, value in site_params['site']['building'].items(): 1552s if value is not None: 1552s building_details[key] = value 1552s 1552s site_params['site']['building'] = building_details 1552s 1552s except Exception as e: 1552s site_type = site_params['type'] 1552s name = site_params['site'][site_type]['name'] 1552s self.log("The site '{0}' is not categorized as a building; no need to filter 'None' values.". 1552s format(name), "INFO") 1552s 1552s site_type = site_params['type'] 1552s parent_name = site_params.get('site').get(site_type).get('parentName') 1552s try: 1552s response = self.get_site_v1(parent_name) 1552s if not response: 1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1552s self.log(self.msg, "DEBUG") 1552s self.site_absent_list.append(str(parent_name) + " does not exist ") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s except Exception as e: 1552s self.log("No response received from 'get_site_v1' API for site: {0}".format(parent_name + str(e)), "ERROR") 1552s 1552s > response = self.dnac._exec( 1552s family="sites", 1552s function='create_site', 1552s op_modifies=True, 1552s params=site_params, 1552s ) 1552s 1552s plugins/modules/site_workflow_manager.py:1868: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s /usr/lib/python3.13/unittest/mock.py:1169: in __call__ 1552s return self._mock_call(*args, **kwargs) 1552s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call 1552s return self._execute_mock_call(*args, **kwargs) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s self = , args = () 1552s kwargs = {'family': 'sites', 'function': 'create_site', 'op_modifies': True, 'params': {'site': {'area': {'name': 'japan8888', 'parentName': 'Global'}}, 'type': 'area'}} 1552s effect = , result = Exception() 1552s 1552s def _execute_mock_call(self, /, *args, **kwargs): 1552s # separate from _increment_mock_call so that awaited functions are 1552s # executed separately from their call, also AsyncMock overrides this method 1552s 1552s effect = self.side_effect 1552s if effect is not None: 1552s if _is_exception(effect): 1552s raise effect 1552s elif not _callable(effect): 1552s result = next(effect) 1552s if _is_exception(result): 1552s > raise result 1552s E Exception 1552s 1552s /usr/lib/python3.13/unittest/mock.py:1232: Exception 1552s 1552s During handling of the above exception, another exception occurred: 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_verify_diff_merged_site(self): 1552s """ 1552s Test case for verify parameters in site workflow manager after applying merged state. 1552s 1552s This test case checks the behavior of the site workflow manager after applying merged state Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.5.3", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_config_site 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=False) 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:442: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/site_workflow_manager.py:2539: in main 1552s ccc_site.get_diff_state_apply[state](config).check_return_status() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_diff_merged(self, config): 1552s """ 1552s Update/Create site information in Cisco Catalyst Center with fields 1552s provided in the playbook. 1552s Parameters: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s config (dict): A dictionary containing configuration information. 1552s Returns: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s Description: 1552s This method determines whether to update or create a site in Cisco Catalyst Center based on the provided 1552s configuration information. If the specified site exists, the method checks if it requires an update 1552s by calling the 'site_requires_update' method. If an update is required, it calls the 'update_site' 1552s function from the 'sites' family of the Cisco Catalyst Center API. If the site does not require an update, 1552s the method exits, indicating that the site is up to date. 1552s """ 1552s site_updated = False 1552s site_created = False 1552s 1552s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0: 1552s self.handle_config['area'] = [] 1552s self.handle_config['building'] = [] 1552s self.handle_config['floor'] = [] 1552s try: 1552s create_site = copy.deepcopy(self.handle_config["create_site"]) 1552s if len(create_site) > 0: 1552s self.log("Starting site creation process.", "DEBUG") 1552s for each_config in create_site: 1552s payload_data = self.change_payload_data(each_config.get("want")) 1552s if payload_data: 1552s payload_data[self.keymap["parent_name_hierarchy"]] =\ 1552s payload_data.get(self.keymap["parent_name"]) 1552s del payload_data[self.keymap["parent_name"]] 1552s self.log("Payload data prepared for site creation: {}".format(payload_data), "DEBUG") 1552s 1552s if payload_data.get("type") == "area": 1552s self.handle_config["area"].append(payload_data) 1552s self.log("Added to area: {}".format(payload_data), "DEBUG") 1552s elif payload_data.get("type") == "building": 1552s self.handle_config["building"].append(payload_data) 1552s self.log("Added to building: {}".format(payload_data), "DEBUG") 1552s elif payload_data.get("type") == "floor": 1552s self.handle_config["floor"].append(payload_data) 1552s self.log("Added to floor: {}".format(payload_data), "DEBUG") 1552s for each_type in ("area", "building", "floor"): 1552s if self.handle_config[each_type]: 1552s self.log("Processing configurations for '{0}'.".format(each_type), "DEBUG") 1552s for create_config in self.handle_config[each_type]: 1552s self.log("Handling configuration: {0}".format(create_config), "DEBUG") 1552s parent_name = create_config.get(self.keymap.get("parent_name_hierarchy")) 1552s if not parent_name: 1552s self.msg = "No parent name found in configuration for '{0}'.".format(each_type) 1552s self.log(self.msg, "DEBUG") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s self.log("Checking if parent site '{0}' exists in the hierarchy.".format(parent_name), "DEBUG") 1552s 1552s site_exists = self.is_site_exist(parent_name) 1552s if not site_exists: 1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1552s self.log(self.msg, "DEBUG") 1552s self.site_absent_list.append(str(parent_name) + " does not exist ") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s 1552s response = self.creating_bulk_site(self.handle_config[each_type]) 1552s self.log("Response from creating_bulk_site for {}: {}".format(each_type, response), "DEBUG") 1552s 1552s if response and isinstance(response, dict) and "response" in response: 1552s task_id = response["response"].get("taskId") 1552s if task_id: 1552s self.log("Task Id for the 'site_creation' task is {}".format(task_id), "INFO") 1552s 1552s task_name = "create_sites" 1552s success_msg = "Site created successfully." 1552s self.get_task_status_from_tasks_by_id(task_id, task_name, success_msg) 1552s 1552s for site in self.handle_config[each_type]: 1552s if "name" in site: 1552s self.created_site_list.append(str(each_type) + ": " + str(site.get("name"))) 1552s 1552s self.log("Site '{}' created successfully".format(self.created_site_list), "INFO") 1552s 1552s for site in self.handle_config[each_type]: 1552s if site.get("type") == "floor": 1552s floor_name = site.get("name") 1552s self.log("Floor '{}' has been created successfully.".format(floor_name), "INFO") 1552s 1552s upload_path = site.get("upload_floor_image_path", None) 1552s if upload_path: 1552s self.log("Upload path found for floor '{}'. Starting upload floor map from '{}.'". 1552s format(floor_name, upload_path), "INFO") 1552s 1552s map_details, map_status, success_message = self.upload_floor_image(site) 1552s if map_details: 1552s self.log("Floor map for '{}' uploaded successfully: {}". 1552s format(floor_name, success_message), "INFO") 1552s else: 1552s self.log("Floor map upload failed for '{}'. Please check the upload path and retry.". 1552s format(floor_name), "ERROR") 1552s else: 1552s self.log("No upload path provided for '{}'. Floor created without floor map.". 1552s format(floor_name), "INFO") 1552s else: 1552s self.log("No valid task ID received from the 'creating_bulk_site' response.", "WARNING") 1552s return None 1552s else: 1552s self.log("No response received from the 'creating_bulk_site' API call.", "WARNING") 1552s return None 1552s 1552s task_detail_list = [] 1552s for each_config in self.have: 1552s site_name_hierarchy = each_config.get("site_name_hierarchy") 1552s 1552s if each_config.get("site_exists"): 1552s self.log("Processing site: {}".format(site_name_hierarchy), "DEBUG") 1552s payload_new = self.change_payload_data(each_config.get("want")) 1552s if payload_new.get("type") == "area": 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1552s elif payload_new.get("type") in ("building", "floor"): 1552s site_params = each_config.get("site_params") 1552s site_params["site_id"] = each_config.get("site_id") 1552s site_type = site_params.get("type") 1552s 1552s if self.site_requires_update(each_config): 1552s self.log("Site requires update, starting update for type: {}".format(site_type), "DEBUG") 1552s response = (self.update_floor(site_params, payload_new) if site_type == "floor" 1552s else self.update_area(site_params) if site_type == "area" 1552s else self.update_building(site_params) if site_type == "building" 1552s else self.log("Unknown site type: {0}".format(site_type), "ERROR")) 1552s 1552s self.log("Received API response from 'update_site': {0}". 1552s format(str(response)), "DEBUG") 1552s 1552s if response and isinstance(response, dict): 1552s taskid = response["response"]["taskId"] 1552s 1552s while True: 1552s task_details = self.get_task_details(taskid) 1552s if site_type != "floor": 1552s if task_details.get("progress") == "Group is updated successfully": 1552s task_detail_list.append(task_details) 1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1552s self.log("Site '{}' updated successfully.".format(site_name_hierarchy), "INFO") 1552s break 1552s else: 1552s if task_details.get("progress") == "Service domain is updated successfully.": 1552s task_detail_list.append(task_details) 1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy) 1552s break 1552s 1552s if task_details.get("bapiError"): 1552s msg = task_details.get("bapiError") 1552s self.set_operation_result("failed", False, msg, "ERROR", 1552s task_details).check_return_status() 1552s break 1552s else: 1552s self.msg = "Unable to execute the update the site: {0} ".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s else: 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy) 1552s except Exception as e: 1552s self.log("Yaml is not available for bulk: {}".format(str(e)), "ERROR") 1552s 1552s return self 1552s 1552s else: 1552s site_params = self.want.get("site_params") 1552s site_type = site_params.get("type") 1552s if self.have.get("site_exists"): 1552s site_name_hierarchy = self.want.get("site_name_hierarchy") 1552s if not self.site_requires_update(): 1552s self.update_not_needed_sites.append(site_type + ": " + site_name_hierarchy) 1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy) 1552s self.log(self.msg, "INFO") 1552s else: 1552s try: 1552s site_params["site_id"] = self.have.get("site_id") 1552s self.log("Site parameters prepared for update: {}".format(site_params)) 1552s self.log("Site update process started.", "INFO") 1552s 1552s if site_params['site'].get('building'): 1552s building_details = {} 1552s for key, value in site_params['site']['building'].items(): 1552s if value is not None: 1552s building_details[key] = value 1552s 1552s site_params['site']['building'] = building_details 1552s 1552s response = self.dnac._exec( 1552s family="sites", 1552s function='update_site', 1552s op_modifies=True, 1552s params=site_params, 1552s ) 1552s self.log("Received API response from 'update_site': {0}".format(str(response)), "DEBUG") 1552s 1552s if response and isinstance(response, dict): 1552s execution_id = response.get("executionId") 1552s while True: 1552s execution_details = self.get_execution_details(execution_id) 1552s if execution_details.get("status") == "SUCCESS": 1552s self.result['changed'] = True 1552s site_updated = True 1552s self.updated_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1552s self.log("Site - {0} Updated Successfully".format(site_name_hierarchy), "INFO") 1552s break 1552s elif execution_details.get("bapiError"): 1552s self.msg = "Unable to Update: " + execution_details.get("bapiError") 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s execution_details).check_return_status() 1552s 1552s except Exception as e: 1552s self.msg = "Unexpected error occurred while update: {0}".format(str(e)) 1552s self.log(self.msg, "ERROR") 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s site_name_hierarchy).check_return_status() 1552s 1552s else: 1552s try: 1552s try: 1552s if site_params['site'].get('building'): 1552s building_details = {} 1552s for key, value in site_params['site']['building'].items(): 1552s if value is not None: 1552s building_details[key] = value 1552s 1552s site_params['site']['building'] = building_details 1552s 1552s except Exception as e: 1552s site_type = site_params['type'] 1552s name = site_params['site'][site_type]['name'] 1552s self.log("The site '{0}' is not categorized as a building; no need to filter 'None' values.". 1552s format(name), "INFO") 1552s 1552s site_type = site_params['type'] 1552s parent_name = site_params.get('site').get(site_type).get('parentName') 1552s try: 1552s response = self.get_site_v1(parent_name) 1552s if not response: 1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name) 1552s self.log(self.msg, "DEBUG") 1552s self.site_absent_list.append(str(parent_name) + " does not exist ") 1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status() 1552s except Exception as e: 1552s self.log("No response received from 'get_site_v1' API for site: {0}".format(parent_name + str(e)), "ERROR") 1552s 1552s response = self.dnac._exec( 1552s family="sites", 1552s function='create_site', 1552s op_modifies=True, 1552s params=site_params, 1552s ) 1552s self.log("Received API response from 'create_site': {0}".format(str(response)), "DEBUG") 1552s 1552s if response and isinstance(response, dict): 1552s executionid = response.get("executionId") 1552s while True: 1552s execution_details = self.get_execution_details(executionid) 1552s if execution_details.get("status") == "SUCCESS": 1552s self.result['changed'] = True 1552s break 1552s elif execution_details.get("bapiError"): 1552s self.msg = "Unable to Create: " + str(execution_details.get("bapiError")) 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s execution_details).check_return_status() 1552s break 1552s 1552s site_exists, current_site = self.site_exists() 1552s if site_exists: 1552s site_name_hierarchy = self.want.get("site_name_hierarchy") 1552s self.created_site_list.append(str(site_type) + ": " + str(site_name_hierarchy)) 1552s self.log("Site '{0}' created successfully".format(site_name_hierarchy), "INFO") 1552s return self 1552s 1552s except Exception as e: 1552s self.msg = "Unexpected error occurred while create: {0}".format(str(e)) 1552s self.log(self.msg, "ERROR") 1552s self.set_operation_result("failed", False, self.msg, "ERROR", 1552s > site_name_hierarchy).check_return_status() 1552s E UnboundLocalError: cannot access local variable 'site_name_hierarchy' where it is not associated with a value 1552s 1552s plugins/modules/site_workflow_manager.py:1900: UnboundLocalError 1552s ------------------------------ Captured log call ------------------------------- 1552s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites': 1552s 1552s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888 1552s 1552s ERROR logger:dnac.py:294 Site: get_diff_merged: 1898: Unexpected error occurred while create: 1552s __ TestswimWorkflowManager.test_swim_workflow_manager_playbook_activate_image __ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_swim_workflow_manager_playbook_activate_image(self): 1552s """ 1552s Test case for swim workflow manager import image url 1552s This test case checks the behavior of activativating the image in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_version='2.3.5.3', 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s config_verify=True, 1552s state="merged", 1552s config=self.playbook_activate_image 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_swim_workflow_manager.py:281: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/swim_workflow_manager.py:2415: in main 1552s ccc_swims.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/swim_workflow_manager.py:2113: in get_diff_merged 1552s self.get_diff_activation().check_return_status() 1552s plugins/modules/swim_workflow_manager.py:1964: in get_diff_activation 1552s device_uuid_list = self.get_device_uuids(site_name, device_family, device_role, device_series_name) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_device_uuids(self, site_name, device_family, device_role, device_series_name=None): 1552s """ 1552s Retrieve a list of device UUIDs based on the specified criteria. 1552s Parameters: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s site_name (str): The name of the site for which device UUIDs are requested. 1552s device_family (str): The family/type of devices to filter on. 1552s device_role (str): The role of devices to filter on. If None, 'ALL' roles are considered. 1552s device_series_name(str): Specifies the name of the device series. 1552s Returns: 1552s list: A list of device UUIDs that match the specified criteria. 1552s Description: 1552s The function checks the reachability status and role of devices in the given site. 1552s Only devices with "Reachable" status are considered, and filtering is based on the specified 1552s device family and role (if provided). 1552s """ 1552s 1552s device_uuid_list = [] 1552s device_id_list, site_response_list = [], [] 1552s if not site_name: 1552s site_name = "Global" 1552s self.log("Site name not specified; defaulting to 'Global' to fetch all devices under this category", "INFO") 1552s 1552s (site_exists, site_id) = self.site_exists(site_name) 1552s if not site_exists: 1552s self.log("""Site '{0}' is not found in the Cisco Catalyst Center, hence unable to fetch associated 1552s devices.""".format(site_name), "INFO") 1552s return device_uuid_list 1552s 1552s if device_series_name: 1552s if device_series_name.startswith(".*") and device_series_name.endswith(".*"): 1552s self.log("Device series name '{0}' is already in the regex format".format(device_series_name), "INFO") 1552s else: 1552s device_series_name = ".*" + device_series_name + ".*" 1552s 1552s if self.dnac_version <= self.version_2_3_5_3: 1552s site_params = { 1552s "site_id": site_id, 1552s "device_family": device_family 1552s } 1552s 1552s try: 1552s response = self.dnac._exec( 1552s family="sites", 1552s function='get_membership', 1552s op_modifies=True, 1552s params=site_params, 1552s ) 1552s 1552s except Exception as e: 1552s self.log("Unable to fetch the device(s) associated to the site '{0}' due to '{1}'".format(site_name, str(e)), "WARNING") 1552s return device_uuid_list 1552s 1552s self.log("Received API response from 'get_membership': {0}".format(str(response)), "DEBUG") 1552s response = response.get("device") 1552s 1552s > for item in response: 1552s E TypeError: 'NoneType' object is not iterable 1552s 1552s plugins/modules/swim_workflow_manager.py:935: TypeError 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1552s ________ TestDnacSiteWorkflow.test_Site_workflow_manager_delete_a_site _________ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_delete_a_site(self): 1552s """ 1552s Test case for site workflow manager when deleting a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_delete 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "This version : '2.3.7.6' given yaml format is not applicable to create a site' " 1552s ) 1552s E AssertionError: 'Exception occurred while creating site due to: ' != "This version : '2.3.7.6' given yaml form[35 chars]te' " 1552s E - Exception occurred while creating site due to: 1552s E + This version : '2.3.7.6' given yaml format is not applicable to create a site' 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:467: AssertionError 1552s ------------------------------ Captured log call ------------------------------- 1552s 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'. 1552s 1552s ERROR logger:dnac.py:294 Site: get_have: 1037: Unexpected response received: 1552s 1552s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: Exception occurred while creating site due to: 1552s 1552s 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} 1552s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_image_distribution_failed _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s def get_device_ip_from_id(self, device_id): 1552s """ 1552s Retrieve the management IP address of a device from Cisco Catalyst Center using its ID. 1552s Parameters: 1552s - self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s - device_id (str): The unique identifier of the device in Cisco Catalyst Center. 1552s Returns: 1552s str: The management IP address of the specified device. 1552s Raises: 1552s Exception: If there is an error while retrieving the response from Cisco Catalyst Center. 1552s Description: 1552s This method queries Cisco Catalyst Center for the device details based on its unique identifier (ID). 1552s It uses the 'get_device_list' function in the 'devices' family, extracts the management IP address 1552s from the response, and returns it. If any error occurs during the process, an exception is raised 1552s with an appropriate error message logged. 1552s """ 1552s 1552s try: 1552s response = self.dnac._exec( 1552s family="devices", 1552s function='get_device_list', 1552s op_modifies=True, 1552s params={"id": device_id} 1552s ) 1552s self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") 1552s > response = response.get('response')[0] 1552s E KeyError: 0 1552s 1552s plugins/modules/swim_workflow_manager.py:1746: KeyError 1552s 1552s During handling of the above exception, another exception occurred: 1552s 1552s self = 1552s 1552s def test_swim_workflow_manager_playbook_image_distribution_failed(self): 1552s """ 1552s Test case for swim workflow manager when giving image distribution failed 1552s This test case checks the behavior of the swim workflow when giving image distribution failed 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_version='2.3.5.3', 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_image_distribution_failed 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=True) 1552s 1552s tests/unit/modules/dnac/test_swim_workflow_manager.py:533: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1552s result = self.failed() 1552s tests/unit/modules/dnac/dnac_module.py:125: in failed 1552s self.module.main() 1552s plugins/modules/swim_workflow_manager.py:2415: in main 1552s ccc_swims.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/swim_workflow_manager.py:2110: in get_diff_merged 1552s self.get_diff_distribution().check_return_status() 1552s plugins/modules/swim_workflow_manager.py:1834: in get_diff_distribution 1552s device_ip = self.get_device_ip_from_id(distribution_device_id) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_device_ip_from_id(self, device_id): 1552s """ 1552s Retrieve the management IP address of a device from Cisco Catalyst Center using its ID. 1552s Parameters: 1552s - self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s - device_id (str): The unique identifier of the device in Cisco Catalyst Center. 1552s Returns: 1552s str: The management IP address of the specified device. 1552s Raises: 1552s Exception: If there is an error while retrieving the response from Cisco Catalyst Center. 1552s Description: 1552s This method queries Cisco Catalyst Center for the device details based on its unique identifier (ID). 1552s It uses the 'get_device_list' function in the 'devices' family, extracts the management IP address 1552s from the response, and returns it. If any error occurs during the process, an exception is raised 1552s with an appropriate error message logged. 1552s """ 1552s 1552s try: 1552s response = self.dnac._exec( 1552s family="devices", 1552s function='get_device_list', 1552s op_modifies=True, 1552s params={"id": device_id} 1552s ) 1552s self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") 1552s response = response.get('response')[0] 1552s device_ip = response.get("managementIpAddress") 1552s 1552s return device_ip 1552s except Exception as e: 1552s error_message = "Error occurred while getting the response of device from Cisco Catalyst Center: {0}".format(str(e)) 1552s self.log(error_message, "ERROR") 1552s > raise Exception(error_message) 1552s E Exception: Error occurred while getting the response of device from Cisco Catalyst Center: 0 1552s 1552s plugins/modules/swim_workflow_manager.py:1753: Exception 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1552s 1552s 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' 1552s 1552s 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 1552s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_import_cco_image _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_swim_workflow_manager_playbook_import_cco_image(self): 1552s """ 1552s Test case for SWIM workflow manager to import an image from Cisco's cloud (CCO). 1552s This test case verifies the import of an image from the CCO into the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_version='2.3.7.6', 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_import_cco_image 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_swim_workflow_manager.py:303: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/swim_workflow_manager.py:2413: in main 1552s ccc_swims.get_diff_import().check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1355: image_type - cco 1552s 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1372: cat9k_iosxe_npe.17.12.04.SPA.bin 1552s 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1434: importing with the import_params - {'id': '8b01c34b-7e5e-4181-81ee-9bece7b5d078'} 1552s 1552s 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' 1552s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_import_image_already_exist _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_swim_workflow_manager_playbook_import_image_already_exist(self): 1552s """ 1552s Test case for swim workflow manager when giving import image already exist 1552s This test case checks the behavior of the swim workflow when giving import image already exist 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_version='2.3.5.3', 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_import_image_already_exist 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=False) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Image(s) cat9k_iosxe.17.12.02.SPA.bin were skipped as they already exist in Cisco Catalyst Center. No new images were imported." 1552s ) 1552s 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.' 1552s E - Image(s) cat9k_iosxe.17.12.02.SPA.bin were skipped as they already exist in Cisco Catalyst Center. 1552s 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. 1552s E ? +++++++++++++++++++++++++++++ 1552s 1552s tests/unit/modules/dnac/test_swim_workflow_manager.py:465: AssertionError 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1355: image_type - remote 1552s 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1372: cat9k_iosxe.17.12.02.SPA.bin 1552s ____ TestDnacSiteWorkflow.test_Site_workflow_manager_invalid_delete_config _____ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_invalid_delete_config(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.7.6", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_empty 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=False) 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:391: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def main(): 1552s """ main entry point for module execution 1552s """ 1552s element_spec = {'dnac_host': {'required': True, 'type': 'str'}, 1552s 'dnac_port': {'type': 'str', 'default': '443'}, 1552s 'dnac_username': {'type': 'str', 'default': 'admin', 'aliases': ['user']}, 1552s 'dnac_password': {'type': 'str', 'no_log': True}, 1552s 'dnac_verify': {'type': 'bool', 'default': 'True'}, 1552s 'dnac_version': {'type': 'str', 'default': '2.2.3.3'}, 1552s 'dnac_debug': {'type': 'bool', 'default': False}, 1552s 'dnac_log_level': {'type': 'str', 'default': 'WARNING'}, 1552s "dnac_log_file_path": {"type": 'str', "default": 'dnac.log'}, 1552s "dnac_log_append": {"type": 'bool', "default": True}, 1552s 'dnac_log': {'type': 'bool', 'default': False}, 1552s 'validate_response_schema': {'type': 'bool', 'default': True}, 1552s 'config_verify': {'type': 'bool', "default": False}, 1552s 'dnac_api_task_timeout': {'type': 'int', "default": 1200}, 1552s 'dnac_task_poll_interval': {'type': 'int', "default": 2}, 1552s 'config': {'required': True, 'type': 'list', 'elements': 'dict'}, 1552s 'state': {'default': 'merged', 'choices': ['merged', 'deleted']} 1552s } 1552s 1552s module = AnsibleModule(argument_spec=element_spec, 1552s supports_check_mode=False) 1552s 1552s ccc_site = Site(module) 1552s state = ccc_site.params.get("state") 1552s 1552s if ccc_site.compare_dnac_versions(ccc_site.get_ccc_version(), "2.3.5.3") < 0: 1552s ccc_site.msg = ( 1552s "The specified version '{0}' does not support the site workflow feature. Supported versions start from '2.3.5.3' onwards. " 1552s "Version '2.3.5.3' introduces APIs for creating, updating, and deleting sites. " 1552s "Version '2.3.7.6' expands support to include APIs for bulk site creating, updating, and deleting sites.".format( 1552s ccc_site.get_ccc_version()) 1552s ) 1552s 1552s ccc_site.status = "failed" 1552s ccc_site.check_return_status() 1552s 1552s if state not in ccc_site.supported_states: 1552s ccc_site.status = "invalid" 1552s ccc_site.msg = "State {0} is invalid".format(state) 1552s ccc_site.check_return_status() 1552s 1552s ccc_site.validate_input().check_return_status() 1552s config_verify = ccc_site.params.get("config_verify") 1552s > ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status() 1552s E AttributeError: 'list' object has no attribute 'check_return_status' 1552s 1552s plugins/modules/site_workflow_manager.py:2520: AttributeError 1552s ------------------------------ Captured log call ------------------------------- 1552s ERROR logger:dnac.py:294 Site: validate_input: 493: Error: Configuration is not available in the playbook for validation 1552s 1552s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1172: Config data is missing. 1552s __ TestswimWorkflowManager.test_swim_workflow_manager_playbook_site_not_exist __ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_swim_workflow_manager_playbook_site_not_exist(self): 1552s """ 1552s Test case for swim workflow manager when giving site not exist 1552s This test case checks the behavior of the swim workflow when giving site not exist 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_version='2.3.5.3', 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_site_not_exist 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "An exception occurred: Site 'Global/ltts/flor1' does not exist in the Cisco Catalyst Center" 1552s ) 1552s 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" 1552s E - An exception occurred: Site 'Global/ltts/flor1' does not exist in the Cisco Catalyst Center. 1552s E ? - 1552s E + An exception occurred: Site 'Global/ltts/flor1' does not exist in the Cisco Catalyst Center 1552s 1552s tests/unit/modules/dnac/test_swim_workflow_manager.py:488: AssertionError 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1552s 1552s 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: . 1552s 1552s ERROR logger:dnac.py:294 Swim: site_exists: 671: An exception occurred: Site 'Global/ltts/flor1' does not exist in the Cisco Catalyst Center. 1552s _____ TestDnacSiteWorkflow.test_Site_workflow_manager_invalid_delete_site ______ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_Site_workflow_manager_invalid_delete_site(self): 1552s """ 1552s Test case for site workflow manager when creating a site. 1552s 1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_version="2.3.5.3", 1552s dnac_log=True, 1552s state="deleted", 1552s config=self.delete_playbook_config 1552s ) 1552s ) 1552s self.maxDiff = None 1552s > result = self.execute_module(changed=False, failed=True) 1552s 1552s tests/unit/modules/dnac/test_site_workflow_manager.py:536: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module 1552s result = self.failed() 1552s tests/unit/modules/dnac/dnac_module.py:125: in failed 1552s self.module.main() 1552s plugins/modules/site_workflow_manager.py:2542: in main 1552s module.exit_json(**ccc_site.result) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def exit_json(*args, **kwargs): 1552s if "changed" not in kwargs: 1552s kwargs["changed"] = False 1552s > raise AnsibleExitJson(kwargs) 1552s 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"} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:35: AnsibleExitJson 1552s ------------------------------ Captured log call ------------------------------- 1552s 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'. 1552s 1552s 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'. 1552s 1552s 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'. 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_create_default_role _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_create_default_role(self): 1552s """ 1552s Test case for user role workflow manager when update is not needed for a role . 1552s 1552s This test case checks the behavior of the role workflow when update is not needed for a role in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_for_creating_default_role 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:787: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/user_role_workflow_manager.py:3458: in main 1552s ccc_user_role.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_create_role __ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_create_role(self): 1552s """ 1552s Test case for user role workflow manager when creating a role. 1552s 1552s This test case checks the behavior of the role workflow when creating a new role in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_role 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:487: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/user_role_workflow_manager.py:3458: in main 1552s ccc_user_role.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_swim_image_golden_already_tagged _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_swim_workflow_manager_playbook_swim_image_golden_already_tagged(self): 1552s """ 1552s Test case for swim workflow manager when givingswim image golden already tagged 1552s This test case checks the behavior of the swim workflow when giving swim image golden already tagged 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_version='2.3.5.3', 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_swim_image_golden_already_tagged 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=False) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "SWIM Image 'cat9k_iosxe.17.12.02.SPA.bin' already tagged as Golden image in Cisco Catalyst Center" 1552s ) 1552s 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" 1552s E - SWIM Image 'cat9k_iosxe.17.12.02.SPA.bin' already tagged as Golden image in Cisco Catalyst Center for the roles - ALL. 1552s E ? --------------------- 1552s E + SWIM Image 'cat9k_iosxe.17.12.02.SPA.bin' already tagged as Golden image in Cisco Catalyst Center 1552s 1552s tests/unit/modules/dnac/test_swim_workflow_manager.py:580: AssertionError 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_create_user __ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_create_user(self): 1552s """ 1552s Test case for user role workflow manager when creating a user. 1552s 1552s This test case checks the behavior of the user workflow when creating a new user in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_user 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:228: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/user_role_workflow_manager.py:3458: in main 1552s ccc_user_role.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_delete_existing_role _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_delete_existing_role(self): 1552s """ 1552s Test case for user role workflow manager when deleting a role. 1552s 1552s This test case checks the behavior of the role workflow when deleting a role in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="deleted", 1552s config=self.playbook_config_role 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:579: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/user_role_workflow_manager.py:3458: in main 1552s ccc_user_role.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_swim_image_golden_tag _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_swim_workflow_manager_playbook_swim_image_golden_tag(self): 1552s """ 1552s Test case for swim workflow manager when givingswim image golden already tagged 1552s This test case checks the behavior of the swim workflow when giving swim image golden tagged 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_version='2.3.5.3', 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_swim_image_golden_tag 1552s ) 1552s ) 1552s result = self.execute_module(changed=True, failed=False) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Tagging image cat9k_iosxe.17.12.02.SPA.bin golden for site Global for family Cisco Catalyst 9300 Switch for device deviceTag ALL successful." 1552s ) 1552s 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.' 1552s 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. 1552s E ? ^^^ 1552s 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. 1552s E ? + + + + ^ +++++++ 1552s 1552s tests/unit/modules/dnac/test_swim_workflow_manager.py:557: AssertionError 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1552s 1552s WARNING logger:dnac.py:294 Swim: get_have: 1154: Site Name not given by user. Using global site. 1552s 1552s WARNING logger:dnac.py:294 Swim: get_have: 1154: Site Name not given by user. Using global site. 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_delete_existing_user _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_delete_existing_user(self): 1552s """ 1552s Test case for user role workflow manager when deleting a user. 1552s 1552s This test case checks the behavior of the user workflow when deleting a user in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="deleted", 1552s config=self.playbook_config_delete_existing_user 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:297: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/user_role_workflow_manager.py:3458: in main 1552s ccc_user_role.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_delete_non_existing_role _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_delete_non_existing_role(self): 1552s """ 1552s Test case for user role workflow manager when deleting a non existing role. 1552s 1552s This test case checks the behavior of the role workflow when deleting a non existing role in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="deleted", 1552s config=self.playbook_config_role 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Please provide a valid role_name for role deletion" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Please provide a valid role_name for role deletion' 1552s 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. 1552s E + Please provide a valid role_name for role deletion 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:604: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_delete_non_existing_user _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_delete_non_existing_user(self): 1552s """ 1552s Test case for user role workflow manager when deleting a non existing user. 1552s 1552s This test case checks the behavior of the user workflow when deleting a non existing user in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="deleted", 1552s config=self.playbook_config_user 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get("msg"), 1552s "Please provide a valid 'username' or 'email' for user deletion" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Please provide a valid 'username' or 'ema[17 chars]tion" 1552s 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. 1552s E + Please provide a valid 'username' or 'email' for user deletion 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:322: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_invalid_param_role_invalid_permission _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_invalid_param_role_invalid_permission(self): 1552s """ 1552s Test case for user workflow manager when invalid role param given. 1552s 1552s This test case checks the behavior of the user workflow when invalid role param given in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_invalid_param_role_invalid_permission 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get("msg"), 1552s "Invalid permission aaa for assurance resource overall" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Invalid permission aaa for assurance resource overall' 1552s 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. 1552s E + Invalid permission aaa for assurance resource overall 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:743: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_invalid_param_role_update_invalid_permission _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_invalid_param_role_update_invalid_permission(self): 1552s """ 1552s Test case for user workflow manager when invalid role param given. 1552s 1552s This test case checks the behavior of the user workflow when invalid role param given in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_invalid_param_role_invalid_permission 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get("msg"), 1552s "Invalid permission aaa for assurance resource overall" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Invalid permission aaa for assurance resource overall' 1552s 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. 1552s E + Invalid permission aaa for assurance resource overall 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:766: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestswimWorkflowManager.test_swim_workflow_manager_playbook_untag_image_as_golden_and_load_on_device _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_swim_workflow_manager_playbook_untag_image_as_golden_and_load_on_device(self): 1552s """ 1552s Test case for swim workflow manager when giving untag image as golden and load on device 1552s This test case checks the behavior of the swim workflow when giving untag image as golden and load on device 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_version='2.3.5.3', 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_untag_image_as_golden_and_load_on_device 1552s ) 1552s ) 1552s result = self.execute_module(changed=True, failed=False) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Untagging of image cat9k_iosxe.17.12.02.SPA.bin for site LTTS for family Cisco \ 1552s Catalyst 9000 UADP 8 Port Virtual Switch for device deviceTag ALL successful." 1552s ) 1552s 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.' 1552s 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. 1552s E ? ^^ ------- ^^^^^^^ ^^^ 1552s 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. 1552s E ? ^ +++ + ^ + ^ +++++++ 1552s 1552s tests/unit/modules/dnac/test_swim_workflow_manager.py:442: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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.'} 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_invalid_param_type_list_missing _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_invalid_param_type_list_missing(self): 1552s """ 1552s Test case for user workflow manager when invalid role param given. 1552s 1552s This test case checks the behavior of the user workflow when invalid role param given in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_invalid_param_type_list_missing 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get("msg"), 1552s "Configuration is not available in the playbook for validation or user/role details are not type list" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Configuration is not available in the pl[56 chars]list' 1552s 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. 1552s E + Configuration is not available in the playbook for validation or user/role details are not type list 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:720: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_invalid_param_not_type_list _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_role_invalid_param_not_type_list(self): 1552s """ 1552s Test case for user role workflow manager when invalid role param given. 1552s 1552s This test case checks the behavior of the role workflow when invalid role param given in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_invalid_param_role_not_type_list 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Invalid parameter(s) found in playbook: {'overall': 'read'} : is not a valid list" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Invalid parameter(s) found in playbook: {[36 chars]list" 1552s 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. 1552s E + Invalid parameter(s) found in playbook: {'overall': 'read'} : is not a valid list 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:650: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_invalid_param_rolename_not_correct_formate _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_role_invalid_param_rolename_not_correct_formate(self): 1552s """ 1552s Test case for user workflow manager when invalid role param given. 1552s 1552s This test case checks the behavior of the user workflow when invalid role param given in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_invalid_param_rolename_not_correct_formate 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get("msg"), 1552s "Invalid parameters in playbook config: role_name: 'Test_Role_1 ' must only contain letters, numbers, underscores \ 1552s and hyphens and should not contain spaces or other special characters." 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Invalid parameters in playbook config: ro[138 chars]ers." 1552s 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. 1552s 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. 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:696: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestswimWorkflowManager.test_swim_workflow_playbook_image_distribution_successfull _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_swim_workflow_playbook_image_distribution_successfull(self): 1552s """ 1552s Test case for SWIM workflow manager image distribution. 1552s This test case verifies the successful distribution of an image to all specified devices in the Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_version='2.3.5.3', 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_image_distribution_successfull 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_swim_workflow_manager.py:395: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/swim_workflow_manager.py:2415: in main 1552s ccc_swims.get_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/swim_workflow_manager.py:2110: in get_diff_merged 1552s self.get_diff_distribution().check_return_status() 1552s plugins/modules/swim_workflow_manager.py:1828: in get_diff_distribution 1552s device_uuid_list = self.get_device_uuids(site_name, device_family, device_role, device_series_name) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def get_device_uuids(self, site_name, device_family, device_role, device_series_name=None): 1552s """ 1552s Retrieve a list of device UUIDs based on the specified criteria. 1552s Parameters: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s site_name (str): The name of the site for which device UUIDs are requested. 1552s device_family (str): The family/type of devices to filter on. 1552s device_role (str): The role of devices to filter on. If None, 'ALL' roles are considered. 1552s device_series_name(str): Specifies the name of the device series. 1552s Returns: 1552s list: A list of device UUIDs that match the specified criteria. 1552s Description: 1552s The function checks the reachability status and role of devices in the given site. 1552s Only devices with "Reachable" status are considered, and filtering is based on the specified 1552s device family and role (if provided). 1552s """ 1552s 1552s device_uuid_list = [] 1552s device_id_list, site_response_list = [], [] 1552s if not site_name: 1552s site_name = "Global" 1552s self.log("Site name not specified; defaulting to 'Global' to fetch all devices under this category", "INFO") 1552s 1552s (site_exists, site_id) = self.site_exists(site_name) 1552s if not site_exists: 1552s self.log("""Site '{0}' is not found in the Cisco Catalyst Center, hence unable to fetch associated 1552s devices.""".format(site_name), "INFO") 1552s return device_uuid_list 1552s 1552s if device_series_name: 1552s if device_series_name.startswith(".*") and device_series_name.endswith(".*"): 1552s self.log("Device series name '{0}' is already in the regex format".format(device_series_name), "INFO") 1552s else: 1552s device_series_name = ".*" + device_series_name + ".*" 1552s 1552s if self.dnac_version <= self.version_2_3_5_3: 1552s site_params = { 1552s "site_id": site_id, 1552s "device_family": device_family 1552s } 1552s 1552s try: 1552s response = self.dnac._exec( 1552s family="sites", 1552s function='get_membership', 1552s op_modifies=True, 1552s params=site_params, 1552s ) 1552s 1552s except Exception as e: 1552s self.log("Unable to fetch the device(s) associated to the site '{0}' due to '{1}'".format(site_name, str(e)), "WARNING") 1552s return device_uuid_list 1552s 1552s self.log("Received API response from 'get_membership': {0}".format(str(response)), "DEBUG") 1552s response = response.get("device") 1552s 1552s > for item in response: 1552s E TypeError: 'NoneType' object is not iterable 1552s 1552s plugins/modules/swim_workflow_manager.py:935: TypeError 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_invalid_param_rolename_not_present _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_role_invalid_param_rolename_not_present(self): 1552s """ 1552s Test case for user role workflow manager when invalid role param given. 1552s 1552s This test case checks the behavior of the role workflow when invalid role param given in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_invalid_param_rolename_not_present 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Configuration params like 'username' or 'email' or 'role_name' is not available in the playbook" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Configuration params like 'username' or '[50 chars]book" 1552s 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. 1552s E + Configuration params like 'username' or 'email' or 'role_name' is not available in the playbook 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:627: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_param_with_all_permision_deny _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_role_param_with_all_permision_deny(self): 1552s """ 1552s Test case for user role workflow manager when invalid role param given. 1552s 1552s This test case checks the behavior of the role workflow when invalid role param given in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_invalid_param_with_all_permision_deny 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "An error occurred while creating the role without access-level parameters and permissions" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'An error occurred while creating the rol[45 chars]ions' 1552s 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. 1552s E + An error occurred while creating the role without access-level parameters and permissions 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:673: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_update_needed _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_role_update_needed(self): 1552s """ 1552s Test case for user role workflow manager when update for a role is needed. 1552s 1552s This test case checks the behavior of the role workflow when updating a existing role in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_role 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:533: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/user_role_workflow_manager.py:3458: in main 1552s ccc_user_role.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestswimWorkflowManager.test_swim_workflow_playbook_image_distribution_successfull_v2_3_7_6 _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s def site_exists(self, site_name): 1552s """ 1552s Parameters: 1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center. 1552s Returns: 1552s tuple: A tuple containing two values: 1552s - site_exists (bool): A boolean indicating whether the site exists (True) or not (False). 1552s - site_id (str or None): The ID of the site if it exists, or None if the site is not found. 1552s Description: 1552s This method checks the existence of a site in the Catalyst Center. If the site is found,it sets 'site_exists' to True, 1552s retrieves the site's ID, and returns both values in a tuple. If the site does not exist, 'site_exists' is set 1552s to False, and 'site_id' is None. If an exception occurs during the site lookup, an exception is raised. 1552s """ 1552s 1552s site_exists = False 1552s site_id = None 1552s response = None 1552s 1552s try: 1552s response = self.get_site(site_name) 1552s if response is None: 1552s > raise ValueError 1552s E ValueError 1552s 1552s plugins/modules/swim_workflow_manager.py:662: ValueError 1552s 1552s During handling of the above exception, another exception occurred: 1552s 1552s self = 1552s 1552s def test_swim_workflow_playbook_image_distribution_successfull_v2_3_7_6(self): 1552s """ 1552s Test case for SWIM workflow manager image distribution with DNAC version 2.3.7.6. 1552s 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. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_version='2.3.7.6', 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config_verify=True, 1552s config=self.playbook_image_distribution_successfull_v2_3_7_6 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_swim_workflow_manager.py:418: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/swim_workflow_manager.py:2417: in main 1552s ccc_swims.verify_diff_state_apply[state](config).check_return_status() 1552s plugins/modules/swim_workflow_manager.py:2314: in verify_diff_merged 1552s self.get_have() 1552s plugins/modules/swim_workflow_manager.py:1167: in get_have 1552s (site_exists, site_id) = self.site_exists(site_name) 1552s plugins/modules/swim_workflow_manager.py:672: in site_exists 1552s self.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s ------------------------------ Captured log call ------------------------------- 1552s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information. 1552s 1552s WARNING logger:dnac.py:294 Swim: get_diff_distribution: 1892: The SWIM image distribution task could not proceed because no eligible devices were found 1552s 1552s 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'. 1552s 1552s ERROR logger:dnac.py:294 Swim: site_exists: 671: An exception occurred: Site 'Global/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center. 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_role_update_not_needed _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_role_update_not_needed(self): 1552s """ 1552s Test case for user role workflow manager when update is not needed for a role . 1552s 1552s This test case checks the behavior of the role workflow when update is not needed for a role in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_role 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=False) 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:556: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/user_role_workflow_manager.py:3458: in main 1552s ccc_user_role.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_mandatory_field_not_present_param _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_user_invalid_mandatory_field_not_present_param(self): 1552s """ 1552s Test case for user workflow manager when invalid user param given. 1552s 1552s This test case checks the behavior of the user workflow when invalid user param given in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_invalid_param_mandatory_field_not_present 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get("msg"), 1552s "Mandatory field not present: An error occurred while creating the user" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Mandatory field not present: An error oc[26 chars]user' 1552s 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. 1552s E + Mandatory field not present: An error occurred while creating the user 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:345: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_param_not_type_list _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_user_invalid_param_not_type_list(self): 1552s """ 1552s Test case for user role workflow manager when invalid user param given. 1552s 1552s This test case checks the behavior of the role workflow when invalid user param given in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_invalid_param_user_rolelist_not_type_list 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "Invalid parameter(s) found in playbook: Super-Admin-Role : is not a valid list" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not[316 chars]les." != 'Invalid parameter(s) found in playbook: [34 chars]list' 1552s 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. 1552s E + Invalid parameter(s) found in playbook: Super-Admin-Role : is not a valid list 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:420: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_param_rolelist_not_found _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_user_invalid_param_rolelist_not_found(self): 1552s """ 1552s Test case for user role workflow manager when invalid user param given. 1552s 1552s This test case checks the behavior of the role workflow when invalid user param given in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_user_invalid_param_rolelist_not_found 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "The role name in the user details role_list is not present in the Cisco Catalyst Center, Please provide a valid role name" 1552s ) 1552s 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' 1552s 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. 1552s E + The role name in the user details role_list is not present in the Cisco Catalyst Center, Please provide a valid role name 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:443: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_create_1_role _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_create_1_role(self): 1552s """ 1552s Test case for user role workflow manager when creating a role. 1552s 1552s This test case checks the behavior of the role workflow when creating a new role in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_1_role 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:510: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/user_role_workflow_manager.py:3458: in main 1552s ccc_user_role.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_param_not_correct_formate _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_user_invalid_param_not_correct_formate(self): 1552s """ 1552s Test case for user workflow manager when invalid user param given. 1552s 1552s This test case checks the behavior of the user workflow when invalid user param given in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_invalid_param_username_not_correct_formate 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get("msg"), 1552s "Invalid parameters in playbook config: first_name: 'ajith ' must only contain letters, \ 1552s numbers, underscores and hyphens and should not contain spaces or other \ 1552s special characters., last_name: 'andrew ' must only contain letters, numbers, underscores \ 1552s and hyphens and should not contain spaces or other special characters., email: Invalid email format for 'email': ajith.andrewexample.com, \ 1552s password: 'Password' does not meet complexity requirements for password: \ 1552s Ajith123, username: 'ajithandrewj ' must only contain letters, numbers, underscores \ 1552s and hyphens and should not contain spaces or other special characters." 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Invalid parameters in playbook config: fi[569 chars]ers." 1552s E Diff is 981 characters long. Set self.maxDiff to None to see it. 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:391: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_param_update_rolelist_not_found _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_user_invalid_param_update_rolelist_not_found(self): 1552s """ 1552s Test case for user role workflow manager when invalid user param given. 1552s 1552s This test case checks the behavior of the role workflow when invalid user param given in the specified Cisco Calyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_user_invalid_param_rolelist_not_found 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get('msg'), 1552s "The role name in the user details role_list is not present in the Cisco Catalyst Center, Please provide a valid role name" 1552s ) 1552s 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' 1552s 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. 1552s E + The role name in the user details role_list is not present in the Cisco Catalyst Center, Please provide a valid role name 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:466: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_invalid_username_email_not_present_param _ 1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_user_invalid_username_email_not_present_param(self): 1552s """ 1552s Test case for user workflow manager when invalid user param given. 1552s 1552s This test case checks the behavior of the user workflow when invalid user param given in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_invalid_param_username_email_not_present 1552s ) 1552s ) 1552s result = self.execute_module(changed=False, failed=True) 1552s print(result) 1552s > self.assertEqual( 1552s result.get("msg"), 1552s "Configuration params like 'username' or 'email' or 'role_name' is not available in the playbook" 1552s ) 1552s E AssertionError: "The specified version '2.2.3.3' does not [315 chars]les." != "Configuration params like 'username' or '[50 chars]book" 1552s 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. 1552s E + Configuration params like 'username' or 'email' or 'role_name' is not available in the playbook 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:368: AssertionError 1552s ----------------------------- Captured stdout call ----------------------------- 1552s {'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} 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_update_needed _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_user_update_needed(self): 1552s """ 1552s Test case for user role workflow manager when updating a user. 1552s 1552s This test case checks the behavior of the user workflow when updating a user in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_user 1552s ) 1552s ) 1552s > result = self.execute_module(changed=True, failed=False) 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:251: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/user_role_workflow_manager.py:3458: in main 1552s ccc_user_role.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s _ TestDnacUserRoleWorkflowManager.test_user_role_workflow_manager_user_update_not_needed _ 1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1552s 1552s self = 1552s 1552s def test_user_role_workflow_manager_user_update_not_needed(self): 1552s """ 1552s Test case for user role workflow manager when user update not needed. 1552s 1552s This test case checks the behavior of the user workflow when user update not needed in the specified Cisco Catalyst Center. 1552s """ 1552s set_module_args( 1552s dict( 1552s dnac_host="1.1.1.1", 1552s dnac_username="dummy", 1552s dnac_password="dummy", 1552s dnac_log=True, 1552s state="merged", 1552s config=self.playbook_config_user 1552s ) 1552s ) 1552s > result = self.execute_module(changed=False, failed=False) 1552s 1552s tests/unit/modules/dnac/test_user_role_workflow_manager.py:274: 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module 1552s result = self.changed(changed) 1552s tests/unit/modules/dnac/dnac_module.py:133: in changed 1552s self.module.main() 1552s plugins/modules/user_role_workflow_manager.py:3458: in main 1552s ccc_user_role.check_return_status() 1552s plugins/module_utils/dnac.py:307: in check_return_status 1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', [])) 1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1552s 1552s def fail_json(*args, **kwargs): 1552s kwargs["failed"] = True 1552s > raise AnsibleFailJson(kwargs) 1552s 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} 1552s 1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson 1552s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/dnac/tests/output/junit/python3.13-controller-units.xml - 1552s =========================== short test summary info ============================ 1552s ERROR tests/unit/modules/dnac/test_discovery_intent.py::TestDnacDiscoveryIntent 1552s ERROR tests/unit/modules/dnac/test_pnp_intent.py::TestDnacPnPIntent - TypeErr... 1552s ERROR tests/unit/modules/dnac/test_site_intent.py::TestDnacSiteIntent - TypeE... 1552s ERROR tests/unit/modules/dnac/test_swim_intent.py::TestDnacSwimIntent - TypeE... 1552s ERROR tests/unit/modules/dnac/test_template_intent.py::TestDnacTemplateIntent 1552s ERROR tests/unit/modules/dnac/test_discovery_intent.py::TestDnacDiscoveryIntent 1552s ERROR tests/unit/modules/dnac/test_pnp_intent.py::TestDnacPnPIntent - TypeErr... 1552s ERROR tests/unit/modules/dnac/test_site_intent.py::TestDnacSiteIntent - TypeE... 1552s ERROR tests/unit/modules/dnac/test_swim_intent.py::TestDnacSwimIntent - TypeE... 1552s ERROR tests/unit/modules/dnac/test_template_intent.py::TestDnacTemplateIntent 1552s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_null_sync_status 1552s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_accesspoint_workflow_manager_negative_config_input 1552s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_update_verify 1552s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_add_existing_devices 1552s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_accesspoint_workflow_manager_provision_device 1552s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_add_udf 1552s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_del_provisioned_device_2353 1552s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_delete_a_device 1552s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_accesspoint_workflow_manager_provision_old_version 1552s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_delete_device_udf 1552s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_delete_provisioned_device 1552s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_accesspoint_workflow_manager_some_error_data_update_accesspoint 1552s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_prov_device_2353 1552s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_provision_device 1552s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_provision_failed_for_site 1552s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_accesspoint_workflow_manager_task_error_update_accesspoint 1552s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_invalid_get_site_device 1552s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_invalid_site_exists 1552s FAILED tests/unit/modules/dnac/test_inventory_workflow_manager.py::TestDnacInventoryWorkflow::test_inventory_workflow_manager_playbook_update_mgmt_ip 1552s FAILED tests/unit/modules/dnac/test_accesspoint_workflow_manager.py::TestDnacAccesspointWorkflow::test_invalid_wlc_device 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_categories_iplist 1552s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_already_sync_cred 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_failure_1 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_failure_2 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_failure_3 1552s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_apply_sync 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_failure_4 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_failure_5 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_iplist_site 1552s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_assign_cred_1 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_1 1552s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_assign_cred_2 1552s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_creation 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_2 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_3 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_4 1552s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_deletion 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_5 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_run_compliance_with_site_failure_6 1552s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_invalid_site 1552s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_invalid_site_response 1552s FAILED tests/unit/modules/dnac/test_device_credential_workflow_manager.py::TestDnacCredentialWorkflow::test_device_credentials_workflow_manager_invalid_site_response_2 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_scale_run_compliance 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_aaa_get 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_banner_get 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_iplist 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_dhcp_gett 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_dns_get 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_iplist_failure_1 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_ntp_get 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_iplist_failure_2 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_iplist_site 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_site_not_exist 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_telemetry_get 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_timezone_get 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_iplist_site_nr 1552s FAILED tests/unit/modules/dnac/test_network_compliance_workflow_manager.py::TestNetworkCompliance::test_sync_device_config_site 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_global_pool_Updation_not_req 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_aaa 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_global_pool_creation 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_global_pool_deletion 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_banner 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_timezone 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_mandatory_aaa_param 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_dns 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_network_not_need_update 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_null_network_params 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_ntp 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_exception_update_telemetry 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_network_update 1552s FAILED tests/unit/modules/dnac/test_provision_workflow_manager.py::TestDnacProvisionWorkflow::test_provision_workflow_manager_playbook_assign_wired_device_to_site 1552s FAILED tests/unit/modules/dnac/test_provision_workflow_manager.py::TestDnacProvisionWorkflow::test_provision_workflow_manager_playbook_del_provision_device 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_not_verified 1552s FAILED tests/unit/modules/dnac/test_provision_workflow_manager.py::TestDnacProvisionWorkflow::test_provision_workflow_manager_playbook_force_provision_device 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_reserve_pool_creation 1552s FAILED tests/unit/modules/dnac/test_provision_workflow_manager.py::TestDnacProvisionWorkflow::test_provision_workflow_manager_playbook_provision_device 1552s FAILED tests/unit/modules/dnac/test_provision_workflow_manager.py::TestDnacProvisionWorkflow::test_provision_workflow_manager_playbook_wireless_provision 1552s FAILED tests/unit/modules/dnac/test_network_settings_workflow_manager.py::TestDnacNetworkSettings::test_Network_settings_workflow_manager_reserve_pool_deletion 1552s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_deploy_workflow_failure_unmark_failure 1552s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_deploy_workflow_failure_unmark_success 1552s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_deploy_workflow_success 1552s FAILED tests/unit/modules/dnac/test_pnp_workflow_manager.py::TestDnacPnpWorkflow::test_pnp_workflow_manager_claim_switch 1552s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_mark_device_failure 1552s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_mark_device_for_replacement_exception 1552s FAILED tests/unit/modules/dnac/test_rma_workflow_manager.py::TestDnacRmaIntent::test_rma_workflow_manager_replacement_device_not_found 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_update_a_site 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_create_bulk_site 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_update_not_needed_site 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_create_site 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_update_site 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_create_site_bulk_invalid 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_upload_floor_map 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_delete_a_new_site 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_verify_diff_merged_site 1552s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_activate_image 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_delete_a_site 1552s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_image_distribution_failed 1552s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_import_cco_image 1552s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_import_image_already_exist 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_invalid_delete_config 1552s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_site_not_exist 1552s FAILED tests/unit/modules/dnac/test_site_workflow_manager.py::TestDnacSiteWorkflow::test_Site_workflow_manager_invalid_delete_site 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_create_default_role 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_create_role 1552s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_swim_image_golden_already_tagged 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_create_user 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_delete_existing_role 1552s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_swim_image_golden_tag 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_delete_existing_user 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_delete_non_existing_role 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_delete_non_existing_user 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_invalid_param_role_invalid_permission 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_invalid_param_role_update_invalid_permission 1552s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_manager_playbook_untag_image_as_golden_and_load_on_device 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_invalid_param_type_list_missing 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_invalid_param_not_type_list 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_invalid_param_rolename_not_correct_formate 1552s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_playbook_image_distribution_successfull 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_invalid_param_rolename_not_present 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_param_with_all_permision_deny 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_update_needed 1552s FAILED tests/unit/modules/dnac/test_swim_workflow_manager.py::TestswimWorkflowManager::test_swim_workflow_playbook_image_distribution_successfull_v2_3_7_6 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_role_update_not_needed 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_mandatory_field_not_present_param 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_param_not_type_list 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_param_rolelist_not_found 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_create_1_role 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_param_not_correct_formate 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_param_update_rolelist_not_found 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_invalid_username_email_not_present_param 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_update_needed 1552s FAILED tests/unit/modules/dnac/test_user_role_workflow_manager.py::TestDnacUserRoleWorkflowManager::test_user_role_workflow_manager_user_update_not_needed 1552s ================== 134 failed, 33 passed, 10 errors in 19.21s ================== 1552s ## return code is 1 1552s 1552s 1552s 1552s ############################################################ 1552s ############################################################ 1552s #### Running FLAKY tests in ansible_collections/community/dns 1552s ############################################################ 1552s ############################################################ 1552s Unit test modules with Python 3.13 1555s ============================= test session starts ============================== 1555s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1555s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns 1555s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1555s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1555s created: 2/2 workers 1555s 2 workers [0 items] 1555s 1555s 1555s ==================================== ERRORS ==================================== 1555s ____ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_record.py ____ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_record.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hetzner_dns_record.py:9: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s _ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_record_info.py __ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_record_info.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hetzner_dns_record_info.py:9: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s __ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_record_set.py __ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_record_set.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hetzner_dns_record_set.py:9: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s _ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_record_set_info.py _ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_record_set_info.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hetzner_dns_record_set_info.py:9: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s _ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_record_sets.py __ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_record_sets.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hetzner_dns_record_sets.py:9: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s __ ERROR collecting tests/unit/plugins/modules/test_hetzner_dns_zone_info.py ___ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hetzner_dns_zone_info.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hetzner_dns_zone_info.py:9: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s ___ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_record.py ____ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_record.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hosttech_dns_record.py:11: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s _ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_record_info.py _ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_record_info.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hosttech_dns_record_info.py:11: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s _ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_record_set.py __ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_record_set.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hosttech_dns_record_set.py:11: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s _ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_record_set_info.py _ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_record_set_info.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hosttech_dns_record_set_info.py:11: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s _ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_record_sets.py _ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_record_sets.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hosttech_dns_record_sets.py:11: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s __ ERROR collecting tests/unit/plugins/modules/test_hosttech_dns_zone_info.py __ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_hosttech_dns_zone_info.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_hosttech_dns_zone_info.py:11: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s _____ ERROR collecting tests/unit/plugins/modules/test_nameserver_info.py ______ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_nameserver_info.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_nameserver_info.py:14: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock, patch 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s __ ERROR collecting tests/unit/plugins/modules/test_nameserver_record_info.py __ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_nameserver_record_info.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_nameserver_record_info.py:14: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock, patch 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s _______ ERROR collecting tests/unit/plugins/modules/test_wait_for_txt.py _______ 1555s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/unit/plugins/modules/test_wait_for_txt.py'. 1555s Hint: make sure your test modules/packages have valid Python names. 1555s Traceback: 1555s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1555s return _bootstrap._gcd_import(name[level:], package, level) 1555s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1555s assertion_rewriting_hook.exec_module(module) 1555s tests/unit/plugins/modules/test_wait_for_txt.py:14: in 1555s from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock, patch 1555s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1555s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/output/junit/python3.13-modules-units.xml - 1555s =========================== short test summary info ============================ 1555s ERROR tests/unit/plugins/modules/test_hetzner_dns_record.py 1555s ERROR tests/unit/plugins/modules/test_hetzner_dns_record_info.py 1555s ERROR tests/unit/plugins/modules/test_hetzner_dns_record_set.py 1555s ERROR tests/unit/plugins/modules/test_hetzner_dns_record_set_info.py 1555s ERROR tests/unit/plugins/modules/test_hetzner_dns_record_sets.py 1555s ERROR tests/unit/plugins/modules/test_hetzner_dns_zone_info.py 1555s ERROR tests/unit/plugins/modules/test_hosttech_dns_record.py 1555s ERROR tests/unit/plugins/modules/test_hosttech_dns_record_info.py 1555s ERROR tests/unit/plugins/modules/test_hosttech_dns_record_set.py 1555s ERROR tests/unit/plugins/modules/test_hosttech_dns_record_set_info.py 1555s ERROR tests/unit/plugins/modules/test_hosttech_dns_record_sets.py 1555s ERROR tests/unit/plugins/modules/test_hosttech_dns_zone_info.py 1555s ERROR tests/unit/plugins/modules/test_nameserver_info.py 1555s ERROR tests/unit/plugins/modules/test_nameserver_record_info.py 1555s ERROR tests/unit/plugins/modules/test_wait_for_txt.py 1555s ============================== 15 errors in 1.86s ============================== 1555s ## return code is 1 1555s 1555s 1555s 1555s ############################################################ 1555s ############################################################ 1555s #### Running FLAKY tests in ansible_collections/community/general 1555s ############################################################ 1555s ############################################################ 1555s 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.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1555s Unit test modules with Python 3.13 1563s ============================= test session starts ============================== 1563s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1563s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/general 1563s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1563s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1563s created: 2/2 workers 1563s 2 workers [1282 items] 1563s 1564s ..F...FF.FFFFF.......................................................... [ 5%] 1564s ........................................................................ [ 11%] 1565s ........................................................................ [ 16%] 1566s ...........................................................s............ [ 22%] 1568s ...............................s.......................FFFFFF........... [ 28%] 1569s ........................................................................ [ 33%] 1570s ........................................................................ [ 39%] 1572s ........................................................................ [ 44%] 1573s ........................................................................ [ 50%] 1574s ........................................................................ [ 56%] 1575s ........................................................................ [ 61%] 1576s ........................................................................ [ 67%] 1577s ...........................................s............s........sss.... [ 73%] 1579s ........................................................................ [ 78%] 1616s ........................................................................ [ 84%] 1617s ........................................................................ [ 89%] 1618s ........................................................................ [ 95%] 1641s .......................................................... [100%] 1641s ==================================== ERRORS ==================================== 1641s _______ ERROR collecting tests/unit/plugins/modules/test_jenkins_node.py _______ 1641s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/general/tests/unit/plugins/modules/test_jenkins_node.py'. 1641s Hint: make sure your test modules/packages have valid Python names. 1641s Traceback: 1641s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1641s return _bootstrap._gcd_import(name[level:], package, level) 1641s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1641s assertion_rewriting_hook.exec_module(module) 1641s tests/unit/plugins/modules/test_jenkins_node.py:8: in 1641s import jenkins 1641s E ModuleNotFoundError: No module named 'jenkins' 1641s _______ ERROR collecting tests/unit/plugins/modules/test_nomad_token.py ________ 1641s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/general/tests/unit/plugins/modules/test_nomad_token.py'. 1641s Hint: make sure your test modules/packages have valid Python names. 1641s Traceback: 1641s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1641s return _bootstrap._gcd_import(name[level:], package, level) 1641s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1641s assertion_rewriting_hook.exec_module(module) 1641s tests/unit/plugins/modules/test_nomad_token.py:11: in 1641s import nomad 1641s E ModuleNotFoundError: No module named 'nomad' 1641s =================================== FAILURES =================================== 1641s ___________________ TestGithubRepo.test_create_new_org_repo ____________________ 1641s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s self = 1641s 1641s @with_httmock(get_orgs_mock) 1641s @with_httmock(get_repo_notfound_mock) 1641s @with_httmock(create_new_org_repo_mock) 1641s def test_create_new_org_repo(self): 1641s > result = github_repo.run_module({ 1641s 'username': None, 1641s 'password': None, 1641s "access_token": "mytoken", 1641s "organization": "MyOrganization", 1641s "name": "myrepo", 1641s "description": "Just for fun", 1641s "private": False, 1641s "state": "present", 1641s "api_url": "https://api.github.com", 1641s "force_defaults": False, 1641s }) 1641s 1641s tests/unit/plugins/modules/test_github_repo.py:179: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s plugins/modules/github_repo.py:222: in run_module 1641s gh = authenticate( 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s username = None, password = None, access_token = 'mytoken' 1641s api_url = 'https://api.github.com' 1641s 1641s def authenticate(username=None, password=None, access_token=None, api_url=None): 1641s if not api_url: 1641s return None 1641s 1641s if access_token: 1641s > return Github(base_url=api_url, login_or_token=access_token) 1641s E NameError: name 'Github' is not defined 1641s 1641s plugins/modules/github_repo.py:150: NameError 1641s ______________ TestGithubRepo.test_create_new_org_repo_incomplete ______________ 1641s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s self = 1641s 1641s @with_httmock(get_orgs_mock) 1641s @with_httmock(get_repo_notfound_mock) 1641s @with_httmock(create_new_org_repo_mock) 1641s def test_create_new_org_repo_incomplete(self): 1641s > result = github_repo.run_module({ 1641s 'username': None, 1641s 'password': None, 1641s "access_token": "mytoken", 1641s "organization": "MyOrganization", 1641s "name": "myrepo", 1641s "description": None, 1641s "private": None, 1641s "state": "present", 1641s "api_url": "https://api.github.com", 1641s "force_defaults": False, 1641s }) 1641s 1641s tests/unit/plugins/modules/test_github_repo.py:200: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s plugins/modules/github_repo.py:222: in run_module 1641s gh = authenticate( 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s username = None, password = None, access_token = 'mytoken' 1641s api_url = 'https://api.github.com' 1641s 1641s def authenticate(username=None, password=None, access_token=None, api_url=None): 1641s if not api_url: 1641s return None 1641s 1641s if access_token: 1641s > return Github(base_url=api_url, login_or_token=access_token) 1641s E NameError: name 'Github' is not defined 1641s 1641s plugins/modules/github_repo.py:150: NameError 1641s ___________________ TestGithubRepo.test_create_new_user_repo ___________________ 1641s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s self = 1641s 1641s @with_httmock(get_user_mock) 1641s @with_httmock(get_repo_notfound_mock) 1641s @with_httmock(create_new_user_repo_mock) 1641s def test_create_new_user_repo(self): 1641s > result = github_repo.run_module({ 1641s 'username': None, 1641s 'password': None, 1641s "access_token": "mytoken", 1641s "organization": None, 1641s "name": "myrepo", 1641s "description": "Just for fun", 1641s "private": True, 1641s "state": "present", 1641s "api_url": "https://api.github.com", 1641s "force_defaults": False, 1641s }) 1641s 1641s tests/unit/plugins/modules/test_github_repo.py:221: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s plugins/modules/github_repo.py:222: in run_module 1641s gh = authenticate( 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s username = None, password = None, access_token = 'mytoken' 1641s api_url = 'https://api.github.com' 1641s 1641s def authenticate(username=None, password=None, access_token=None, api_url=None): 1641s if not api_url: 1641s return None 1641s 1641s if access_token: 1641s > return Github(base_url=api_url, login_or_token=access_token) 1641s E NameError: name 'Github' is not defined 1641s 1641s plugins/modules/github_repo.py:150: NameError 1641s _____________________ TestGithubRepo.test_delete_org_repo ______________________ 1641s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s self = 1641s 1641s @with_httmock(get_orgs_mock) 1641s @with_httmock(get_repo_mock) 1641s @with_httmock(delete_repo_mock) 1641s def test_delete_org_repo(self): 1641s > result = github_repo.run_module({ 1641s 'username': None, 1641s 'password': None, 1641s "access_token": "mytoken", 1641s "organization": "MyOrganization", 1641s "name": "myrepo", 1641s "description": "Just for fun", 1641s "private": False, 1641s "state": "absent", 1641s "api_url": "https://api.github.com", 1641s "force_defaults": False, 1641s }) 1641s 1641s tests/unit/plugins/modules/test_github_repo.py:278: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s plugins/modules/github_repo.py:222: in run_module 1641s gh = authenticate( 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s username = None, password = None, access_token = 'mytoken' 1641s api_url = 'https://api.github.com' 1641s 1641s def authenticate(username=None, password=None, access_token=None, api_url=None): 1641s if not api_url: 1641s return None 1641s 1641s if access_token: 1641s > return Github(base_url=api_url, login_or_token=access_token) 1641s E NameError: name 'Github' is not defined 1641s 1641s plugins/modules/github_repo.py:150: NameError 1641s _________________ TestGithubRepo.test_delete_org_repo_notfound _________________ 1641s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s self = 1641s 1641s @with_httmock(get_orgs_mock) 1641s @with_httmock(get_repo_notfound_mock) 1641s @with_httmock(delete_repo_notfound_mock) 1641s def test_delete_org_repo_notfound(self): 1641s > result = github_repo.run_module({ 1641s 'username': None, 1641s 'password': None, 1641s "access_token": "mytoken", 1641s "organization": "MyOrganization", 1641s "name": "myrepo", 1641s "description": "Just for fun", 1641s "private": True, 1641s "state": "absent", 1641s "api_url": "https://api.github.com", 1641s "force_defaults": False, 1641s }) 1641s 1641s tests/unit/plugins/modules/test_github_repo.py:314: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s plugins/modules/github_repo.py:222: in run_module 1641s gh = authenticate( 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s username = None, password = None, access_token = 'mytoken' 1641s api_url = 'https://api.github.com' 1641s 1641s def authenticate(username=None, password=None, access_token=None, api_url=None): 1641s if not api_url: 1641s return None 1641s 1641s if access_token: 1641s > return Github(base_url=api_url, login_or_token=access_token) 1641s E NameError: name 'Github' is not defined 1641s 1641s plugins/modules/github_repo.py:150: NameError 1641s _____________________ TestGithubRepo.test_delete_user_repo _____________________ 1641s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s self = 1641s 1641s @with_httmock(get_user_mock) 1641s @with_httmock(get_repo_mock) 1641s @with_httmock(delete_repo_mock) 1641s def test_delete_user_repo(self): 1641s > result = github_repo.run_module({ 1641s 'username': None, 1641s 'password': None, 1641s "access_token": "mytoken", 1641s "organization": None, 1641s "name": "myrepo", 1641s "description": "Just for fun", 1641s "private": False, 1641s "state": "absent", 1641s "api_url": "https://api.github.com", 1641s "force_defaults": False, 1641s }) 1641s 1641s tests/unit/plugins/modules/test_github_repo.py:296: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s plugins/modules/github_repo.py:222: in run_module 1641s gh = authenticate( 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s username = None, password = None, access_token = 'mytoken' 1641s api_url = 'https://api.github.com' 1641s 1641s def authenticate(username=None, password=None, access_token=None, api_url=None): 1641s if not api_url: 1641s return None 1641s 1641s if access_token: 1641s > return Github(base_url=api_url, login_or_token=access_token) 1641s E NameError: name 'Github' is not defined 1641s 1641s plugins/modules/github_repo.py:150: NameError 1641s __________ TestGithubRepo.test_idempotency_existing_org_private_repo ___________ 1641s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s self = 1641s 1641s @with_httmock(get_orgs_mock) 1641s @with_httmock(get_private_repo_mock) 1641s def test_idempotency_existing_org_private_repo(self): 1641s > result = github_repo.run_module({ 1641s 'username': None, 1641s 'password': None, 1641s "access_token": "mytoken", 1641s "organization": "MyOrganization", 1641s "name": "myrepo", 1641s "description": None, 1641s "private": None, 1641s "state": "present", 1641s "api_url": "https://api.github.com", 1641s "force_defaults": False, 1641s }) 1641s 1641s tests/unit/plugins/modules/test_github_repo.py:258: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s plugins/modules/github_repo.py:222: in run_module 1641s gh = authenticate( 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s username = None, password = None, access_token = 'mytoken' 1641s api_url = 'https://api.github.com' 1641s 1641s def authenticate(username=None, password=None, access_token=None, api_url=None): 1641s if not api_url: 1641s return None 1641s 1641s if access_token: 1641s > return Github(base_url=api_url, login_or_token=access_token) 1641s E NameError: name 'Github' is not defined 1641s 1641s plugins/modules/github_repo.py:150: NameError 1641s _________________ TestGithubRepo.test_patch_existing_org_repo __________________ 1641s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s self = 1641s 1641s @with_httmock(get_orgs_mock) 1641s @with_httmock(get_repo_mock) 1641s @with_httmock(patch_repo_mock) 1641s def test_patch_existing_org_repo(self): 1641s > result = github_repo.run_module({ 1641s 'username': None, 1641s 'password': None, 1641s "access_token": "mytoken", 1641s "organization": "MyOrganization", 1641s "name": "myrepo", 1641s "description": "Just for fun", 1641s "private": True, 1641s "state": "present", 1641s "api_url": "https://api.github.com", 1641s "force_defaults": False, 1641s }) 1641s 1641s tests/unit/plugins/modules/test_github_repo.py:240: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s plugins/modules/github_repo.py:222: in run_module 1641s gh = authenticate( 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s username = None, password = None, access_token = 'mytoken' 1641s api_url = 'https://api.github.com' 1641s 1641s def authenticate(username=None, password=None, access_token=None, api_url=None): 1641s if not api_url: 1641s return None 1641s 1641s if access_token: 1641s > return Github(base_url=api_url, login_or_token=access_token) 1641s E NameError: name 'Github' is not defined 1641s 1641s plugins/modules/github_repo.py:150: NameError 1641s _________________ test_find_version_by_spec[None-(,3.9]-3.8.2] _________________ 1641s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s mocker = 1641s version_by_spec = '(,3.9]', version_choosed = '3.8.2' 1641s 1641s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1641s (None, "(,3.9]", "3.8.2"), 1641s (None, "3.0", "3.8.2"), 1641s (None, "[3.7]", "3.7"), 1641s (None, "[4.10, 4.12]", "4.12"), 1641s (None, "[4.10, 4.12)", "4.11"), 1641s (None, "[2.0,)", "4.13-beta-2"), 1641s ]) 1641s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1641s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1641s _getContent.return_value = maven_metadata_example 1641s 1641s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1641s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1641s 1641s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1641s 1641s tests/unit/plugins/modules/test_maven_artifact.py:71: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s self = 1641s artifact = 1641s 1641s def find_version_by_spec(self, artifact): 1641s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1641s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1641s xml = etree.fromstring(content) 1641s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1641s versions = [] 1641s for version in original_versions: 1641s try: 1641s > versions.append(Version.coerce(version)) 1641s E NameError: name 'Version' is not defined 1641s 1641s plugins/modules/maven_artifact.py:407: NameError 1641s __________________ test_find_version_by_spec[None-3.0-3.8.2] ___________________ 1641s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s mocker = 1641s version_by_spec = '3.0', version_choosed = '3.8.2' 1641s 1641s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1641s (None, "(,3.9]", "3.8.2"), 1641s (None, "3.0", "3.8.2"), 1641s (None, "[3.7]", "3.7"), 1641s (None, "[4.10, 4.12]", "4.12"), 1641s (None, "[4.10, 4.12)", "4.11"), 1641s (None, "[2.0,)", "4.13-beta-2"), 1641s ]) 1641s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1641s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1641s _getContent.return_value = maven_metadata_example 1641s 1641s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1641s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1641s 1641s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1641s 1641s tests/unit/plugins/modules/test_maven_artifact.py:71: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s self = 1641s artifact = 1641s 1641s def find_version_by_spec(self, artifact): 1641s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1641s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1641s xml = etree.fromstring(content) 1641s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1641s versions = [] 1641s for version in original_versions: 1641s try: 1641s > versions.append(Version.coerce(version)) 1641s E NameError: name 'Version' is not defined 1641s 1641s plugins/modules/maven_artifact.py:407: NameError 1641s __________________ test_find_version_by_spec[None-[3.7]-3.7] ___________________ 1641s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s mocker = 1641s version_by_spec = '[3.7]', version_choosed = '3.7' 1641s 1641s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1641s (None, "(,3.9]", "3.8.2"), 1641s (None, "3.0", "3.8.2"), 1641s (None, "[3.7]", "3.7"), 1641s (None, "[4.10, 4.12]", "4.12"), 1641s (None, "[4.10, 4.12)", "4.11"), 1641s (None, "[2.0,)", "4.13-beta-2"), 1641s ]) 1641s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1641s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1641s _getContent.return_value = maven_metadata_example 1641s 1641s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1641s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1641s 1641s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1641s 1641s tests/unit/plugins/modules/test_maven_artifact.py:71: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s self = 1641s artifact = 1641s 1641s def find_version_by_spec(self, artifact): 1641s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1641s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1641s xml = etree.fromstring(content) 1641s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1641s versions = [] 1641s for version in original_versions: 1641s try: 1641s > versions.append(Version.coerce(version)) 1641s E NameError: name 'Version' is not defined 1641s 1641s plugins/modules/maven_artifact.py:407: NameError 1641s ______________ test_find_version_by_spec[None-[4.10, 4.12]-4.12] _______________ 1641s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s mocker = 1641s version_by_spec = '[4.10, 4.12]', version_choosed = '4.12' 1641s 1641s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1641s (None, "(,3.9]", "3.8.2"), 1641s (None, "3.0", "3.8.2"), 1641s (None, "[3.7]", "3.7"), 1641s (None, "[4.10, 4.12]", "4.12"), 1641s (None, "[4.10, 4.12)", "4.11"), 1641s (None, "[2.0,)", "4.13-beta-2"), 1641s ]) 1641s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1641s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1641s _getContent.return_value = maven_metadata_example 1641s 1641s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1641s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1641s 1641s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1641s 1641s tests/unit/plugins/modules/test_maven_artifact.py:71: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s self = 1641s artifact = 1641s 1641s def find_version_by_spec(self, artifact): 1641s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1641s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1641s xml = etree.fromstring(content) 1641s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1641s versions = [] 1641s for version in original_versions: 1641s try: 1641s > versions.append(Version.coerce(version)) 1641s E NameError: name 'Version' is not defined 1641s 1641s plugins/modules/maven_artifact.py:407: NameError 1641s ______________ test_find_version_by_spec[None-[4.10, 4.12)-4.11] _______________ 1641s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s mocker = 1641s version_by_spec = '[4.10, 4.12)', version_choosed = '4.11' 1641s 1641s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1641s (None, "(,3.9]", "3.8.2"), 1641s (None, "3.0", "3.8.2"), 1641s (None, "[3.7]", "3.7"), 1641s (None, "[4.10, 4.12]", "4.12"), 1641s (None, "[4.10, 4.12)", "4.11"), 1641s (None, "[2.0,)", "4.13-beta-2"), 1641s ]) 1641s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1641s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1641s _getContent.return_value = maven_metadata_example 1641s 1641s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1641s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1641s 1641s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1641s 1641s tests/unit/plugins/modules/test_maven_artifact.py:71: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s self = 1641s artifact = 1641s 1641s def find_version_by_spec(self, artifact): 1641s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1641s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1641s xml = etree.fromstring(content) 1641s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1641s versions = [] 1641s for version in original_versions: 1641s try: 1641s > versions.append(Version.coerce(version)) 1641s E NameError: name 'Version' is not defined 1641s 1641s plugins/modules/maven_artifact.py:407: NameError 1641s ______________ test_find_version_by_spec[None-[2.0,)-4.13-beta-2] ______________ 1641s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1641s 1641s mocker = 1641s version_by_spec = '[2.0,)', version_choosed = '4.13-beta-2' 1641s 1641s @pytest.mark.parametrize('patch_ansible_module, version_by_spec, version_choosed', [ 1641s (None, "(,3.9]", "3.8.2"), 1641s (None, "3.0", "3.8.2"), 1641s (None, "[3.7]", "3.7"), 1641s (None, "[4.10, 4.12]", "4.12"), 1641s (None, "[4.10, 4.12)", "4.11"), 1641s (None, "[2.0,)", "4.13-beta-2"), 1641s ]) 1641s def test_find_version_by_spec(mocker, version_by_spec, version_choosed): 1641s _getContent = mocker.patch('ansible_collections.community.general.plugins.modules.maven_artifact.MavenDownloader._getContent') 1641s _getContent.return_value = maven_metadata_example 1641s 1641s artifact = maven_artifact.Artifact("junit", "junit", None, version_by_spec, "jar") 1641s mvn_downloader = maven_artifact.MavenDownloader(basic.AnsibleModule, "https://repo1.maven.org/maven2") 1641s 1641s > assert mvn_downloader.find_version_by_spec(artifact) == version_choosed 1641s 1641s tests/unit/plugins/modules/test_maven_artifact.py:71: 1641s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1641s 1641s self = 1641s artifact = 1641s 1641s def find_version_by_spec(self, artifact): 1641s path = "/%s/%s" % (artifact.path(False), self.metadata_file_name) 1641s content = self._getContent(self.base + path, "Failed to retrieve the maven metadata file: " + path) 1641s xml = etree.fromstring(content) 1641s original_versions = xml.xpath("/metadata/versioning/versions/version/text()") 1641s versions = [] 1641s for version in original_versions: 1641s try: 1641s > versions.append(Version.coerce(version)) 1641s E NameError: name 'Version' is not defined 1641s 1641s plugins/modules/maven_artifact.py:407: NameError 1641s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/general/tests/output/junit/python3.13-modules-units.xml - 1641s =========================== short test summary info ============================ 1641s SKIPPED [1] tests/unit/plugins/modules/test_datadog_downtime.py:19: could not import 'datadog_api_client': No module named 'datadog_api_client' 1641s SKIPPED [1] tests/unit/plugins/modules/test_dnsimple.py:17: could not import 'dnsimple': No module named 'dnsimple' 1641s SKIPPED [1] tests/unit/plugins/modules/test_linode_v4.py:14: could not import 'linode_api4': No module named 'linode_api4' 1641s SKIPPED [1] tests/unit/plugins/modules/helper.py:99: test helper does not support check mode yet 1641s SKIPPED [1] tests/unit/plugins/modules/test_linode.py: test_linode.py requires the `linode-python` module 1641s SKIPPED [1] tests/unit/plugins/modules/test_redis_data.py:137: Redis version > 3.4.0 1641s SKIPPED [1] tests/unit/plugins/modules/test_redis_data_incr.py:107: Redis version > 3.4.0 1641s SKIPPED [1] tests/unit/plugins/modules/test_redis_data_info.py:68: Redis version > 3.4.0 1641s SKIPPED [1] tests/unit/plugins/modules/test_redis_data_info.py:85: Redis version > 3.4.0 1641s SKIPPED [1] tests/unit/plugins/modules/test_redis_data_info.py:101: Redis version > 3.4.0 1641s ERROR tests/unit/plugins/modules/test_jenkins_node.py 1641s ERROR tests/unit/plugins/modules/test_nomad_token.py 1641s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_create_new_org_repo 1641s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_create_new_org_repo_incomplete 1641s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_create_new_user_repo 1641s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_delete_org_repo 1641s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_delete_org_repo_notfound 1641s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_delete_user_repo 1641s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_idempotency_existing_org_private_repo 1641s FAILED tests/unit/plugins/modules/test_github_repo.py::TestGithubRepo::test_patch_existing_org_repo 1641s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-(,3.9]-3.8.2] 1641s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-3.0-3.8.2] 1641s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-[3.7]-3.7] 1641s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-[4.10, 4.12]-4.12] 1641s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-[4.10, 4.12)-4.11] 1641s FAILED tests/unit/plugins/modules/test_maven_artifact.py::test_find_version_by_spec[None-[2.0,)-4.13-beta-2] 1641s ======= 14 failed, 1261 passed, 10 skipped, 2 errors in 84.79s (0:01:24) ======= 1641s ## return code is 1 1641s 1641s 1641s 1641s ############################################################ 1641s ############################################################ 1641s #### Running FLAKY tests in ansible_collections/community/hrobot 1641s ############################################################ 1641s ############################################################ 1641s 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.NviVNE/build.FtY/src/ansible_collections/community/general/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/general --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1641s Unit test modules with Python 3.13 1642s ============================= test session starts ============================== 1642s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1642s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot 1642s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1642s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1642s created: 2/2 workers 1642s 2 workers [0 items] 1642s 1642s 1642s ==================================== ERRORS ==================================== 1642s ___________ ERROR collecting tests/unit/plugins/modules/test_boot.py ___________ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_boot.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_boot.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _______ ERROR collecting tests/unit/plugins/modules/test_failover_ip.py ________ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_failover_ip.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_failover_ip.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _____ ERROR collecting tests/unit/plugins/modules/test_failover_ip_info.py _____ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_failover_ip_info.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_failover_ip_info.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _________ ERROR collecting tests/unit/plugins/modules/test_firewall.py _________ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_firewall.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_firewall.py:11: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s ______ ERROR collecting tests/unit/plugins/modules/test_firewall_info.py _______ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_firewall_info.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_firewall_info.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s __________ ERROR collecting tests/unit/plugins/modules/test_reset.py ___________ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_reset.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_reset.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _______ ERROR collecting tests/unit/plugins/modules/test_reverse_dns.py ________ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_reverse_dns.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_reverse_dns.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s __________ ERROR collecting tests/unit/plugins/modules/test_server.py __________ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_server.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_server.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _______ ERROR collecting tests/unit/plugins/modules/test_server_info.py ________ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_server_info.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_server_info.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _________ ERROR collecting tests/unit/plugins/modules/test_ssh_key.py __________ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_ssh_key.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_ssh_key.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _______ ERROR collecting tests/unit/plugins/modules/test_ssh_key_info.py _______ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_ssh_key_info.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_ssh_key_info.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s ________ ERROR collecting tests/unit/plugins/modules/test_storagebox.py ________ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_storagebox.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_storagebox.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _____ ERROR collecting tests/unit/plugins/modules/test_storagebox_info.py ______ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_storagebox_info.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_storagebox_info.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _ ERROR collecting tests/unit/plugins/modules/test_storagebox_set_password.py __ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_storagebox_set_password.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_storagebox_set_password.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _ ERROR collecting tests/unit/plugins/modules/test_storagebox_snapshot_plan.py _ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_storagebox_snapshot_plan.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_storagebox_snapshot_plan.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _ ERROR collecting tests/unit/plugins/modules/test_storagebox_snapshot_plan_info.py _ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_storagebox_snapshot_plan_info.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_storagebox_snapshot_plan_info.py:9: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s _________ ERROR collecting tests/unit/plugins/modules/test_v_switch.py _________ 1642s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/unit/plugins/modules/test_v_switch.py'. 1642s Hint: make sure your test modules/packages have valid Python names. 1642s Traceback: 1642s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1642s return _bootstrap._gcd_import(name[level:], package, level) 1642s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1642s assertion_rewriting_hook.exec_module(module) 1642s tests/unit/plugins/modules/test_v_switch.py:12: in 1642s from ansible_collections.community.internal_test_tools.tests.unit.utils.fetch_url_module_framework import ( 1642s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1642s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/output/junit/python3.13-modules-units.xml - 1642s =========================== short test summary info ============================ 1642s ERROR tests/unit/plugins/modules/test_boot.py 1642s ERROR tests/unit/plugins/modules/test_failover_ip.py 1642s ERROR tests/unit/plugins/modules/test_failover_ip_info.py 1642s ERROR tests/unit/plugins/modules/test_firewall.py 1642s ERROR tests/unit/plugins/modules/test_firewall_info.py 1642s ERROR tests/unit/plugins/modules/test_reset.py 1642s ERROR tests/unit/plugins/modules/test_reverse_dns.py 1642s ERROR tests/unit/plugins/modules/test_server.py 1642s ERROR tests/unit/plugins/modules/test_server_info.py 1642s ERROR tests/unit/plugins/modules/test_ssh_key.py 1642s ERROR tests/unit/plugins/modules/test_ssh_key_info.py 1642s ERROR tests/unit/plugins/modules/test_storagebox.py 1642s ERROR tests/unit/plugins/modules/test_storagebox_info.py 1642s ERROR tests/unit/plugins/modules/test_storagebox_set_password.py 1642s ERROR tests/unit/plugins/modules/test_storagebox_snapshot_plan.py 1642s ERROR tests/unit/plugins/modules/test_storagebox_snapshot_plan_info.py 1642s ERROR tests/unit/plugins/modules/test_v_switch.py 1642s ============================== 17 errors in 1.14s ============================== 1642s ## return code is 1 1642s 1642s 1642s 1642s ############################################################ 1642s ############################################################ 1642s #### Running FLAKY tests in ansible_collections/community/library_inventory_filtering_v1 1642s ############################################################ 1642s ############################################################ 1642s 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.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1642s Unit test controller with Python 3.13 1644s ============================= test session starts ============================== 1644s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1644s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/library_inventory_filtering_v1 1644s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1644s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1644s created: 2/2 workers 1644s 2 workers [0 items] 1644s 1644s 1644s ==================================== ERRORS ==================================== 1644s __ ERROR collecting tests/unit/plugins/plugin_utils/test_inventory_filter.py ___ 1644s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/library_inventory_filtering_v1/tests/unit/plugins/plugin_utils/test_inventory_filter.py'. 1644s Hint: make sure your test modules/packages have valid Python names. 1644s Traceback: 1644s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1644s return _bootstrap._gcd_import(name[level:], package, level) 1644s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1644s assertion_rewriting_hook.exec_module(module) 1644s tests/unit/plugins/plugin_utils/test_inventory_filter.py:14: in 1644s from ansible_collections.community.internal_test_tools.tests.unit.mock.loader import DictDataLoader 1644s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1644s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/library_inventory_filtering_v1/tests/output/junit/python3.13-controller-units.xml - 1644s =========================== short test summary info ============================ 1644s ERROR tests/unit/plugins/plugin_utils/test_inventory_filter.py 1644s =============================== 1 error in 0.74s =============================== 1644s 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.NviVNE/build.FtY/src/ansible_collections/community/library_inventory_filtering_v1/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/library_inventory_filtering_v1 --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/library_inventory_filtering_v1 tests/unit/plugins/plugin_utils/test_inventory_filter.py" returned exit status 1. 1644s ## return code is 1 1644s 1644s 1644s 1644s ############################################################ 1644s ############################################################ 1644s #### Running FLAKY tests in ansible_collections/infoblox/nios_modules 1644s ############################################################ 1644s ############################################################ 1644s Unit test modules with Python 3.13 1645s ============================= test session starts ============================== 1645s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1645s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/infoblox/nios_modules 1645s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1645s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1645s created: 2/2 workers 1645s 2 workers [91 items] 1645s 1649s FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 79%] 1650s FFFFFFFFFFFFFFFFFFF [100%] 1650s =================================== FAILURES =================================== 1650s ___________ TestNiosCNameRecordModule.test_nios_cname_record_create ____________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosCNameRecordModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_cname_record.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ______ TestNiosExtensibleAttributeModule.test_create_extensible_attribute ______ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosExtensibleAttributeModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_extensible_attribute.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ________ TestNiosExtensibleAttributeModule.test_nios_ea_update_comment _________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosExtensibleAttributeModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_extensible_attribute.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ___________ TestNiosCNameRecordModule.test_nios_cname_record_remove ____________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosCNameRecordModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_cname_record.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ______ TestNiosExtensibleAttributeModule.test_remove_extensible_attribute ______ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosExtensibleAttributeModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_extensible_attribute.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_extensible_attribute.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _______ TestNiosCNameRecordModule.test_nios_cname_record_update_comment ________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosCNameRecordModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_cname_record.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_cname_record.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _______________ TestNiosARecordModule.test_nios_a_record_create ________________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosARecordModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_a_record.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _______________ TestNiosDnsViewModule.test_nios_dns_view_create ________________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDnsViewModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dns_view.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _______________ TestNiosARecordModule.test_nios_a_record_remove ________________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosARecordModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_a_record.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _______________ TestNiosDnsViewModule.test_nios_dns_view_remove ________________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDnsViewModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dns_view.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ___________ TestNiosARecordModule.test_nios_a_record_update_comment ____________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosARecordModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_a_record.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ___________ TestNiosDnsViewModule.test_nios_dns_view_update_comment ____________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDnsViewModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dns_view.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dns_view.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _________ TestNiosARecordModule.test_nios_a_record_update_record_name __________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosARecordModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_a_record.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_a_record.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ________ TestNiosDtcHttpMonitorModule.test_nios_dtc_monitor_http_create ________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcHttpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_http.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ____________ TestNiosAAAARecordModule.test_nios_aaaa_record_create _____________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosAAAARecordModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_aaaa_record.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ________ TestNiosDtcHttpMonitorModule.test_nios_dtc_monitor_http_remove ________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcHttpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_http.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ____________ TestNiosAAAARecordModule.test_nios_aaaa_record_remove _____________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosAAAARecordModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_aaaa_record.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ____ TestNiosDtcHttpMonitorModule.test_nios_dtc_monitor_http_update_comment ____ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcHttpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_http.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ________ TestNiosAAAARecordModule.test_nios_aaaa_record_update_comment _________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosAAAARecordModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_aaaa_record.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ________ TestNiosDtcIcmpMonitorModule.test_nios_dtc_monitor_icmp_create ________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcIcmpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ______ TestNiosAAAARecordModule.test_nios_aaaa_record_update_record_name _______ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosAAAARecordModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_aaaa_record.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_aaaa_record.py:42: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ________ TestNiosDtcIcmpMonitorModule.test_nios_dtc_monitor_icmp_remove ________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcIcmpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ____ TestNiosDtcIcmpMonitorModule.test_nios_dtc_monitor_icmp_update_comment ____ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcIcmpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _________ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_tcp_create _________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcTcpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _________ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_pdp_create _________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcTcpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _________ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_tcp_remove _________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcTcpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _________ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_pdp_remove _________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcTcpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _____ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_tcp_update_comment _____ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcTcpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ___________ TestNiosDtcTopologyModule.test_nios_dtc_topology_create ____________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcTopologyModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_topology.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _____ TestNiosDtcTcpMonitorModule.test_nios_dtc_monitor_pdp_update_comment _____ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcTcpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ___________ TestNiosDtcTopologyModule.test_nios_dtc_topology_remove ____________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcTopologyModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_topology.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _________ TestNiosDtcSipMonitorModule.test_nios_dtc_monitor_sip_create _________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcSipMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _______ TestNiosDtcTopologyModule.test_nios_dtc_topology_update_comment ________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcTopologyModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_topology.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _________ TestNiosDtcSipMonitorModule.test_nios_dtc_monitor_sip_remove _________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcSipMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ________ TestNiosFixedAddressModule.test_nios_fixed_address_ipv4_create ________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosFixedAddressModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_fixed_address.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _____ TestNiosDtcSipMonitorModule.test_nios_dtc_monitor_sip_update_comment _____ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcSipMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s _____ TestNiosFixedAddressModule.test_nios_fixed_address_ipv4_dhcp_update ______ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosFixedAddressModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_fixed_address.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ________ TestNiosFixedAddressModule.test_nios_fixed_address_ipv4_remove ________ 1650s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosFixedAddressModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule.run') 1650s self.mock_wapi_run.start() 1650s > self.load_config = self.mock_wapi_run.start() 1650s 1650s tests/unit/plugins/modules/test_nios_fixed_address.py:40: 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s /usr/lib/python3.13/unittest/mock.py:1654: in start 1650s result = self.__enter__() 1650s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1650s 1650s self = 1650s 1650s def __enter__(self): 1650s """Perform the patch.""" 1650s if self.is_started: 1650s > raise RuntimeError("Patch is already started") 1650s E RuntimeError: Patch is already started 1650s 1650s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1650s ________ TestNiosDtcSnmpMonitorModule.test_nios_dtc_monitor_snmp_create ________ 1650s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1650s 1650s self = 1650s 1650s def setUp(self): 1650s super(TestNiosDtcSnmpMonitorModule, self).setUp() 1650s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1650s self.module.check_mode = False 1650s self.module.params = {'provider': None} 1650s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1650s self.exec_command = self.mock_wapi.start() 1650s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py:40: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ________ TestNiosFixedAddressModule.test_nios_fixed_address_ipv6_create ________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosFixedAddressModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_fixed_address.py:40: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ________ TestNiosDtcSnmpMonitorModule.test_nios_dtc_monitor_snmp_remove ________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosDtcSnmpMonitorModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py:40: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ________ TestNiosFixedAddressModule.test_nios_fixed_address_ipv6_remove ________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosFixedAddressModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_fixed_address.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_fixed_address.py:40: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ____ TestNiosDtcSnmpMonitorModule.test_nios_dtc_monitor_snmp_update_comment ____ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosDtcSnmpMonitorModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py:40: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ____________ TestNiosHostRecordModule.test_nios_host_record_create _____________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosHostRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_host_record.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _________________ TestNiosMemberModule.test_nios_member_remove _________________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosMemberModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_member.py:40: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ____________ TestNiosHostRecordModule.test_nios_host_record_remove _____________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosHostRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_host_record.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _________________ TestNiosMemberModule.test_nios_member_update _________________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosMemberModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_member.py:40: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ________ TestNiosHostRecordModule.test_nios_host_record_update_comment _________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosHostRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_host_record.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ______________ TestNiosMXRecordModule.test_nios_mx_record_create _______________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosMXRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_mx_record.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ______ TestNiosHostRecordModule.test_nios_host_record_update_record_name _______ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosHostRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_host_record.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _________________ TestNiosMemberModule.test_nios_member_create _________________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosMemberModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_member.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_member.py:40: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ______________ TestNiosMXRecordModule.test_nios_mx_record_remove _______________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosMXRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_mx_record.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _ TestNiosNetworkModule.test_nios_network_ipv4_create_with_use_logic_filter_rules _ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkModule, self).setUp() 1651s self.module = MagicMock( 1651s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1651s ) 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch( 1651s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1651s ) 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network.py:44: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s __________ TestNiosMXRecordModule.test_nios_mx_record_update_comment ___________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosMXRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_mx_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_mx_record.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ___________ TestNiosNetworkModule.test_nios_network_ipv4_dhcp_update ___________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkModule, self).setUp() 1651s self.module = MagicMock( 1651s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1651s ) 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch( 1651s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1651s ) 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network.py:44: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ___________ TestNiosNAPTRRecordModule.test_nios_naptr_record_create ____________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNAPTRRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_naptr_record.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _____________ TestNiosNetworkModule.test_nios_network_ipv4_remove ______________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkModule, self).setUp() 1651s self.module = MagicMock( 1651s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1651s ) 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch( 1651s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1651s ) 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network.py:44: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ___________ TestNiosNAPTRRecordModule.test_nios_naptr_record_remove ____________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNAPTRRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_naptr_record.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _ TestNiosNetworkModule.test_nios_network_ipv4_update_with_use_logic_filter_rules _ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkModule, self).setUp() 1651s self.module = MagicMock( 1651s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1651s ) 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch( 1651s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1651s ) 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network.py:44: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _______ TestNiosNAPTRRecordModule.test_nios_naptr_record_update_comment ________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNAPTRRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_naptr_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_naptr_record.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _____________ TestNiosNetworkModule.test_nios_network_ipv6_create ______________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkModule, self).setUp() 1651s self.module = MagicMock( 1651s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1651s ) 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch( 1651s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1651s ) 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network.py:44: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _____________ TestNiosNetworkModule.test_nios_network_ipv4_create ______________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkModule, self).setUp() 1651s self.module = MagicMock( 1651s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1651s ) 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch( 1651s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1651s ) 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network.py:44: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _________ TestNiosNetworkModule.test_nios_networkcontainer_ipv4_create _________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkModule, self).setUp() 1651s self.module = MagicMock( 1651s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1651s ) 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch( 1651s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1651s ) 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network.py:44: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ___________ TestNiosNetworkModule.test_nios_network_ipv6_dhcp_update ___________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkModule, self).setUp() 1651s self.module = MagicMock( 1651s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1651s ) 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch( 1651s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1651s ) 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network.py:44: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _________ TestNiosNetworkModule.test_nios_networkcontainer_ipv4_remove _________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkModule, self).setUp() 1651s self.module = MagicMock( 1651s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1651s ) 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch( 1651s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1651s ) 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network.py:44: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _____________ TestNiosNetworkModule.test_nios_network_ipv6_remove ______________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkModule, self).setUp() 1651s self.module = MagicMock( 1651s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1651s ) 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch( 1651s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1651s ) 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network.py:44: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _________ TestNiosNetworkModule.test_nios_networkcontainer_ipv6_create _________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkModule, self).setUp() 1651s self.module = MagicMock( 1651s name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule' 1651s ) 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch( 1651s 'ansible_collections.infoblox.nios_modules.plugins.modules.nios_network.WapiModule.run' 1651s ) 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network.py:44: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _______ TestNiosNetworkViewModule.test_nios_network_view_update_comment ________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkViewModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network_view.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ___________ TestNiosNetworkViewModule.test_nios_network_view_create ____________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkViewModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network_view.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _________ TestNiosNetworkViewModule.test_nios_network_view_update_name _________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkViewModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network_view.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ___________ TestNiosNetworkViewModule.test_nios_network_view_remove ____________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosNetworkViewModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_network_view.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_network_view.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ________________ TestNiosNSGroupModule.test_nios_nsgroup_create ________________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosNSGroupModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_nsgroup.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ____________ TestNiosNSGroupModule.test_nios_nsgroup_update_comment ____________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosNSGroupModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_nsgroup.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ________________ TestNiosNSGroupModule.test_nios_nsgroup_remove ________________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosNSGroupModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_nsgroup.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_nsgroup.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _____________ TestNiosPTRRecordModule.test_nios_ptr6_record_create _____________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosPTRRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_ptr_record.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _____________ TestNiosPTRRecordModule.test_nios_ptr_record_remove ______________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosPTRRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_ptr_record.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _____________ TestNiosPTRRecordModule.test_nios_ptr_record_create ______________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosPTRRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_ptr_record.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _________ TestNiosPTRRecordModule.test_nios_ptr_record_update_comment __________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosPTRRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_ptr_record.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _____ TestNiosPTRRecordModule.test_nios_ptr_record_update_record_ptrdname ______ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s 1651s super(TestNiosPTRRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_ptr_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_ptr_record.py:43: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _____________ TestNiosSRVRecordModule.test_nios_srv_record_remove ______________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosSRVRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_srv_record.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _____________ TestNiosSRVRecordModule.test_nios_srv_record_create ______________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosSRVRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_srv_record.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _________ TestNiosSRVRecordModule.test_nios_srv_record_update_comment __________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosSRVRecordModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_srv_record.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_srv_record.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ___________________ TestNiosZoneModule.test_nios_zone_create ___________________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosZoneModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_zone.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ___ TestNiosZoneModule.test_nios_zone_create_using_grid_primary_secondaries ____ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosZoneModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_zone.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _______ TestNiosZoneModule.test_nios_zone_create_using_name_server_group _______ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosZoneModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_zone.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s __________ TestNiosZoneModule.test_nios_zone_create_using_zone_format __________ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosZoneModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_zone.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ___________________ TestNiosZoneModule.test_nios_zone_remove ___________________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosZoneModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_zone.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s ___ TestNiosZoneModule.test_nios_zone_remove_using_grid_primary_secondaries ____ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosZoneModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_zone.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _______ TestNiosZoneModule.test_nios_zone_remove_using_name_server_group _______ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosZoneModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_zone.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _______ TestNiosZoneModule.test_nios_zone_remove_using_using_zone_format _______ 1651s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosZoneModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_zone.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s _______________ TestNiosZoneModule.test_nios_zone_update_comment _______________ 1651s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1651s 1651s self = 1651s 1651s def setUp(self): 1651s super(TestNiosZoneModule, self).setUp() 1651s self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.module.check_mode = False 1651s self.module.params = {'provider': None} 1651s self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule') 1651s self.exec_command = self.mock_wapi.start() 1651s self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_zone.WapiModule.run') 1651s self.mock_wapi_run.start() 1651s > self.load_config = self.mock_wapi_run.start() 1651s 1651s tests/unit/plugins/modules/test_nios_zone.py:42: 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s /usr/lib/python3.13/unittest/mock.py:1654: in start 1651s result = self.__enter__() 1651s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1651s 1651s self = 1651s 1651s def __enter__(self): 1651s """Perform the patch.""" 1651s if self.is_started: 1651s > raise RuntimeError("Patch is already started") 1651s E RuntimeError: Patch is already started 1651s 1651s /usr/lib/python3.13/unittest/mock.py:1476: RuntimeError 1651s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/infoblox/nios_modules/tests/output/junit/python3.13-modules-units.xml - 1651s =========================== short test summary info ============================ 1651s FAILED tests/unit/plugins/modules/test_nios_cname_record.py::TestNiosCNameRecordModule::test_nios_cname_record_create 1651s FAILED tests/unit/plugins/modules/test_extensible_attribute.py::TestNiosExtensibleAttributeModule::test_create_extensible_attribute 1651s FAILED tests/unit/plugins/modules/test_extensible_attribute.py::TestNiosExtensibleAttributeModule::test_nios_ea_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_cname_record.py::TestNiosCNameRecordModule::test_nios_cname_record_remove 1651s FAILED tests/unit/plugins/modules/test_extensible_attribute.py::TestNiosExtensibleAttributeModule::test_remove_extensible_attribute 1651s FAILED tests/unit/plugins/modules/test_nios_cname_record.py::TestNiosCNameRecordModule::test_nios_cname_record_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_a_record.py::TestNiosARecordModule::test_nios_a_record_create 1651s FAILED tests/unit/plugins/modules/test_nios_dns_view.py::TestNiosDnsViewModule::test_nios_dns_view_create 1651s FAILED tests/unit/plugins/modules/test_nios_a_record.py::TestNiosARecordModule::test_nios_a_record_remove 1651s FAILED tests/unit/plugins/modules/test_nios_dns_view.py::TestNiosDnsViewModule::test_nios_dns_view_remove 1651s FAILED tests/unit/plugins/modules/test_nios_a_record.py::TestNiosARecordModule::test_nios_a_record_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_dns_view.py::TestNiosDnsViewModule::test_nios_dns_view_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_a_record.py::TestNiosARecordModule::test_nios_a_record_update_record_name 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_http.py::TestNiosDtcHttpMonitorModule::test_nios_dtc_monitor_http_create 1651s FAILED tests/unit/plugins/modules/test_nios_aaaa_record.py::TestNiosAAAARecordModule::test_nios_aaaa_record_create 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_http.py::TestNiosDtcHttpMonitorModule::test_nios_dtc_monitor_http_remove 1651s FAILED tests/unit/plugins/modules/test_nios_aaaa_record.py::TestNiosAAAARecordModule::test_nios_aaaa_record_remove 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_http.py::TestNiosDtcHttpMonitorModule::test_nios_dtc_monitor_http_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_aaaa_record.py::TestNiosAAAARecordModule::test_nios_aaaa_record_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py::TestNiosDtcIcmpMonitorModule::test_nios_dtc_monitor_icmp_create 1651s FAILED tests/unit/plugins/modules/test_nios_aaaa_record.py::TestNiosAAAARecordModule::test_nios_aaaa_record_update_record_name 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py::TestNiosDtcIcmpMonitorModule::test_nios_dtc_monitor_icmp_remove 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py::TestNiosDtcIcmpMonitorModule::test_nios_dtc_monitor_icmp_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_tcp_create 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_pdp_create 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_tcp_remove 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_pdp_remove 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_tcp_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_topology.py::TestNiosDtcTopologyModule::test_nios_dtc_topology_create 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py::TestNiosDtcTcpMonitorModule::test_nios_dtc_monitor_pdp_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_topology.py::TestNiosDtcTopologyModule::test_nios_dtc_topology_remove 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py::TestNiosDtcSipMonitorModule::test_nios_dtc_monitor_sip_create 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_topology.py::TestNiosDtcTopologyModule::test_nios_dtc_topology_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py::TestNiosDtcSipMonitorModule::test_nios_dtc_monitor_sip_remove 1651s FAILED tests/unit/plugins/modules/test_nios_fixed_address.py::TestNiosFixedAddressModule::test_nios_fixed_address_ipv4_create 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py::TestNiosDtcSipMonitorModule::test_nios_dtc_monitor_sip_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_fixed_address.py::TestNiosFixedAddressModule::test_nios_fixed_address_ipv4_dhcp_update 1651s FAILED tests/unit/plugins/modules/test_nios_fixed_address.py::TestNiosFixedAddressModule::test_nios_fixed_address_ipv4_remove 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py::TestNiosDtcSnmpMonitorModule::test_nios_dtc_monitor_snmp_create 1651s FAILED tests/unit/plugins/modules/test_nios_fixed_address.py::TestNiosFixedAddressModule::test_nios_fixed_address_ipv6_create 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py::TestNiosDtcSnmpMonitorModule::test_nios_dtc_monitor_snmp_remove 1651s FAILED tests/unit/plugins/modules/test_nios_fixed_address.py::TestNiosFixedAddressModule::test_nios_fixed_address_ipv6_remove 1651s FAILED tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py::TestNiosDtcSnmpMonitorModule::test_nios_dtc_monitor_snmp_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_host_record.py::TestNiosHostRecordModule::test_nios_host_record_create 1651s FAILED tests/unit/plugins/modules/test_nios_member.py::TestNiosMemberModule::test_nios_member_remove 1651s FAILED tests/unit/plugins/modules/test_nios_host_record.py::TestNiosHostRecordModule::test_nios_host_record_remove 1651s FAILED tests/unit/plugins/modules/test_nios_member.py::TestNiosMemberModule::test_nios_member_update 1651s FAILED tests/unit/plugins/modules/test_nios_host_record.py::TestNiosHostRecordModule::test_nios_host_record_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_mx_record.py::TestNiosMXRecordModule::test_nios_mx_record_create 1651s FAILED tests/unit/plugins/modules/test_nios_host_record.py::TestNiosHostRecordModule::test_nios_host_record_update_record_name 1651s FAILED tests/unit/plugins/modules/test_nios_member.py::TestNiosMemberModule::test_nios_member_create 1651s FAILED tests/unit/plugins/modules/test_nios_mx_record.py::TestNiosMXRecordModule::test_nios_mx_record_remove 1651s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv4_create_with_use_logic_filter_rules 1651s FAILED tests/unit/plugins/modules/test_nios_mx_record.py::TestNiosMXRecordModule::test_nios_mx_record_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv4_dhcp_update 1651s FAILED tests/unit/plugins/modules/test_nios_naptr_record.py::TestNiosNAPTRRecordModule::test_nios_naptr_record_create 1651s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv4_remove 1651s FAILED tests/unit/plugins/modules/test_nios_naptr_record.py::TestNiosNAPTRRecordModule::test_nios_naptr_record_remove 1651s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv4_update_with_use_logic_filter_rules 1651s FAILED tests/unit/plugins/modules/test_nios_naptr_record.py::TestNiosNAPTRRecordModule::test_nios_naptr_record_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv6_create 1651s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv4_create 1651s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_networkcontainer_ipv4_create 1651s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv6_dhcp_update 1651s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_networkcontainer_ipv4_remove 1651s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_network_ipv6_remove 1651s FAILED tests/unit/plugins/modules/test_nios_network.py::TestNiosNetworkModule::test_nios_networkcontainer_ipv6_create 1651s FAILED tests/unit/plugins/modules/test_nios_network_view.py::TestNiosNetworkViewModule::test_nios_network_view_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_network_view.py::TestNiosNetworkViewModule::test_nios_network_view_create 1651s FAILED tests/unit/plugins/modules/test_nios_network_view.py::TestNiosNetworkViewModule::test_nios_network_view_update_name 1651s FAILED tests/unit/plugins/modules/test_nios_network_view.py::TestNiosNetworkViewModule::test_nios_network_view_remove 1651s FAILED tests/unit/plugins/modules/test_nios_nsgroup.py::TestNiosNSGroupModule::test_nios_nsgroup_create 1651s FAILED tests/unit/plugins/modules/test_nios_nsgroup.py::TestNiosNSGroupModule::test_nios_nsgroup_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_nsgroup.py::TestNiosNSGroupModule::test_nios_nsgroup_remove 1651s FAILED tests/unit/plugins/modules/test_nios_ptr_record.py::TestNiosPTRRecordModule::test_nios_ptr6_record_create 1651s FAILED tests/unit/plugins/modules/test_nios_ptr_record.py::TestNiosPTRRecordModule::test_nios_ptr_record_remove 1651s FAILED tests/unit/plugins/modules/test_nios_ptr_record.py::TestNiosPTRRecordModule::test_nios_ptr_record_create 1651s FAILED tests/unit/plugins/modules/test_nios_ptr_record.py::TestNiosPTRRecordModule::test_nios_ptr_record_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_ptr_record.py::TestNiosPTRRecordModule::test_nios_ptr_record_update_record_ptrdname 1651s FAILED tests/unit/plugins/modules/test_nios_srv_record.py::TestNiosSRVRecordModule::test_nios_srv_record_remove 1651s FAILED tests/unit/plugins/modules/test_nios_srv_record.py::TestNiosSRVRecordModule::test_nios_srv_record_create 1651s FAILED tests/unit/plugins/modules/test_nios_srv_record.py::TestNiosSRVRecordModule::test_nios_srv_record_update_comment 1651s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_create 1651s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_create_using_grid_primary_secondaries 1651s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_create_using_name_server_group 1651s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_create_using_zone_format 1651s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_remove 1651s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_remove_using_grid_primary_secondaries 1651s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_remove_using_name_server_group 1651s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_remove_using_using_zone_format 1651s FAILED tests/unit/plugins/modules/test_nios_zone.py::TestNiosZoneModule::test_nios_zone_update_comment 1651s ============================== 91 failed in 5.85s ============================== 1651s 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.NviVNE/build.FtY/src/ansible_collections/infoblox/nios_modules/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/infoblox/nios_modules --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1651s ## return code is 1 1651s 1651s 1651s 1651s ############################################################ 1651s ############################################################ 1651s #### Running FLAKY tests in ansible_collections/junipernetworks/junos 1651s ############################################################ 1651s ############################################################ 1651s Unit test controller with Python 3.13 1652s ============================= test session starts ============================== 1652s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1652s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/junipernetworks/junos 1652s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1652s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1652s created: 2/2 workers 1652s 2 workers [305 items] 1652s 1654s .....F.....FFFF.FFFFFFFFFFFFFFFFFFFFFFFFF.F.....FFFFFFFF.......F.......F [ 23%] 1656s .......F.......F....FFFF.FFFFFFFFFFFFFFFFFFFFFF.FFFFFFF.FFFFFFFFFFFF...F [ 47%] 1659s FFFF.FFFFFFFFFFFFFFFFFF.F....FFF.F.......F...........FFFFFFF.FFFFFFFFFF. [ 70%] 1661s F.FFFFFF.F.F........F...FFFFFFFF.F.FF.F.F.....FFFFF.FF.F..FFFFFFFFFFFFFF [ 94%] 1661s .FFF.FFFF.FFF..F. [100%] 1661s =================================== FAILURES =================================== 1661s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_001 __ 1661s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_address_family_config_001(self): 1661s """ 1661s This function generate the commands to configure attributes: 1661s - af_type 1661s - afi 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s address_family=[ 1661s dict( 1661s afi="evpn", 1661s af_type=[dict(type="signaling", set=True)], 1661s ), 1661s ], 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s 1661s commands = [ 1661s '' 1661s "", 1661s '', 1661s ] 1661s 1661s > result = self.execute_module(changed=True) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1654: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_address_family.py:2004: in main 1661s result = Bgp_address_family(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1661s config_xmls = self.set_config(existing_bgp_address_family_facts) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_002 __ 1661s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_address_family_config_002(self): 1661s """ 1661s This function generate the commands to configure attributes: 1661s - accepted_prefix_limit 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s address_family=[ 1661s dict( 1661s afi="evpn", 1661s af_type=[ 1661s dict( 1661s type="signaling", 1661s accepted_prefix_limit=dict( 1661s limit_threshold=98, 1661s idle_timeout_value=2001, 1661s maximum=20, 1661s ), 1661s ), 1661s ], 1661s ), 1661s ], 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "" 1661s "2098" 1661s "2001" 1661s "", 1661s '', 1661s ] 1661s 1661s > result = self.execute_module(changed=True) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1693: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_address_family.py:2004: in main 1661s result = Bgp_address_family(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1661s config_xmls = self.set_config(existing_bgp_address_family_facts) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s ____________ TestJunosBgp_globalModule.test_junos_bgp_global_delete ____________ 1661s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_global_delete(self): 1661s set_module_args(dict(config=dict(), state="deleted")) 1661s 1661s commands = [ 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s '' 1661s "", 1661s '' 1661s '', 1661s ] 1661s 1661s > result = self.execute_module(changed=True) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_global.py:436: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_global.py:1862: in main 1661s result = Bgp_global(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1661s config_xmls = self.set_config(existing_bgp_global_facts) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_002_001 _ 1661s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_address_family_config_002_001(self): 1661s """ 1661s This function generate the commands to configure attributes: 1661s - accepted_prefix_limit 1661s forever: true 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s address_family=[ 1661s dict( 1661s afi="evpn", 1661s af_type=[ 1661s dict( 1661s type="signaling", 1661s accepted_prefix_limit=dict( 1661s maximum=20, 1661s limit_threshold=98, 1661s forever=True, 1661s ), 1661s ), 1661s ], 1661s ), 1661s ], 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "" 1661s "2098" 1661s "" 1661s "", 1661s '', 1661s ] 1661s 1661s > result = self.execute_module(changed=True) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1733: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_address_family.py:2004: in main 1661s result = Bgp_address_family(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1661s config_xmls = self.set_config(existing_bgp_address_family_facts) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s ________ TestJunosBgp_globalModule.test_junos_bgp_global_delete_purged _________ 1661s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_global_delete_purged(self): 1661s set_module_args(dict(config=dict(), state="purged")) 1661s 1661s commands = [ 1661s '', 1661s '', 1661s ] 1661s > result = self.execute_module(changed=True) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_global.py:446: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_global.py:1862: in main 1661s result = Bgp_global(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1661s config_xmls = self.set_config(existing_bgp_global_facts) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_003 __ 1661s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_address_family_config_003(self): 1661s """ 1661s This function generate the commands to configure attributes: 1661s - add_path 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s address_family=[ 1661s dict( 1661s afi="evpn", 1661s af_type=[ 1661s dict( 1661s type="signaling", 1661s add_path=dict( 1661s receive=True, 1661s send=dict( 1661s multipath=True, 1661s include_backup_path=1, 1661s path_count=10, 1661s prefix_policy="customer65443", 1661s path_selection_mode=dict( 1661s all_paths=True, 1661s equal_cost_paths=True, 1661s ), 1661s ), 1661s ), 1661s ), 1661s ], 1661s ), 1661s ], 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "" 1661s "10" 1661s "1" 1661s "" 1661s "customer65443" 1661s "", 1661s '', 1661s ] 1661s 1661s > result = self.execute_module(changed=True) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1782: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_address_family.py:2004: in main 1661s result = Bgp_address_family(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1661s config_xmls = self.set_config(existing_bgp_address_family_facts) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s _________ TestJunosBgp_globalModule.test_junos_bgp_global_merge_groups _________ 1661s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_global_merge_groups(self): 1661s """ 1661s description: configure groups attributes: 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s groups=[ 1661s dict( 1661s name="internal", 1661s neighbors=[ 1661s dict( 1661s neighbor_address="11.11.11.11", 1661s peer_as="65534", 1661s out_delay=11, 1661s accept_remote_nexthop=True, 1661s ), 1661s dict( 1661s neighbor_address="11.11.11.12", 1661s peer_as="65534", 1661s out_delay=12, 1661s accept_remote_nexthop=True, 1661s ), 1661s ], 1661s ), 1661s ], 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "internal" 1661s "11.11.11.11" 1661s "65534" 1661s "11" 1661s "11.11.11.12" 1661s "6553412" 1661s "", 1661s '', 1661s ] 1661s > result = self.execute_module(changed=True, commands=commands) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_global.py:513: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_global.py:1862: in main 1661s result = Bgp_global(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1661s config_xmls = self.set_config(existing_bgp_global_facts) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_004 __ 1661s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_address_family_config_004(self): 1661s """ 1661s This function generate the commands to configure attributes: 1661s - aggregate_label 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s address_family=[ 1661s dict( 1661s afi="evpn", 1661s af_type=[ 1661s dict( 1661s type="signaling", 1661s aggregate_label=dict( 1661s set=True, 1661s community="cuastomerapn1", 1661s ), 1661s ), 1661s ], 1661s ), 1661s ], 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "" 1661s "cuastomerapn1" 1661s "", 1661s '', 1661s ] 1661s 1661s > result = self.execute_module(changed=True) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1819: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_address_family.py:2004: in main 1661s result = Bgp_address_family(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1661s config_xmls = self.set_config(existing_bgp_address_family_facts) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s ____________ TestJunosBgp_globalModule.test_junos_bgp_global_merged ____________ 1661s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_global_merged(self): 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s damping=True, 1661s description="This is configured with Junos_bgp resource module", 1661s preference="2", 1661s bfd_liveness_detection=dict( 1661s minimum_receive_interval=4, 1661s multiplier=10, 1661s no_adaptation=True, 1661s version="automatic", 1661s ), 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "This is configured with Junos_bgp resource module" 1661s "2" 1661s "4" 1661s "10" 1661s "automatic", 1661s '', 1661s ] 1661s > result = self.execute_module(changed=True, commands=commands) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_global.py:119: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_global.py:1862: in main 1661s result = Bgp_global(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1661s config_xmls = self.set_config(existing_bgp_global_facts) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_005 __ 1661s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_address_family_config_005(self): 1661s """ 1661s This function generate the commands to configure attributes: 1661s - aigp 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s address_family=[ 1661s dict( 1661s afi="inet6", 1661s af_type=[ 1661s dict( 1661s type="labeled-unicast", 1661s aigp=dict(set=True), 1661s ), 1661s ], 1661s ), 1661s ], 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "" 1661s "", 1661s '', 1661s ] 1661s 1661s > result = self.execute_module(changed=True) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1852: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_address_family.py:2004: in main 1661s result = Bgp_address_family(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1661s config_xmls = self.set_config(existing_bgp_address_family_facts) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s _ TestJunosBgp_globalModule.test_junos_bgp_global_merged_advertise_bgp_static __ 1661s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_global_merged_advertise_bgp_static(self): 1661s """ 1661s configure advertise_bgp_static attributes: 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict(advertise_bgp_static=dict(policy="static-to-bgp")), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "static-to-bgp" 1661s "" 1661s "", 1661s '', 1661s ] 1661s > result = self.execute_module(changed=True, commands=commands) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_global.py:533: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_global.py:1862: in main 1661s result = Bgp_global(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1661s config_xmls = self.set_config(existing_bgp_global_facts) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_005_001 _ 1661s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_address_family_config_005_001(self): 1661s """ 1661s This function generate the commands to configure attributes: 1661s - aigp 1661s disable: true 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s address_family=[ 1661s dict( 1661s afi="inet6", 1661s af_type=[ 1661s dict( 1661s type="labeled-unicast", 1661s aigp=dict(disable=True), 1661s ), 1661s ], 1661s ), 1661s ], 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "" 1661s "" 1661s "", 1661s '', 1661s ] 1661s 1661s > result = self.execute_module(changed=True) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1887: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_address_family.py:2004: in main 1661s result = Bgp_address_family(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1661s config_xmls = self.set_config(existing_bgp_address_family_facts) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s __ TestJunosBgp_globalModule.test_junos_bgp_global_merged_advertise_external ___ 1661s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_global_merged_advertise_external(self): 1661s """ 1661s configure advertise_external attributes: 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s advertise_external=dict(set=True, conditional=True), 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "" 1661s "", 1661s '', 1661s ] 1661s > result = self.execute_module(changed=True, commands=commands) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_global.py:554: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_global.py:1862: in main 1661s result = Bgp_global(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1661s config_xmls = self.set_config(existing_bgp_global_facts) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s _ TestJunosBgp_globalModule.test_junos_bgp_global_merged_bfd_liveness_detection _ 1661s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_global_merged_bfd_liveness_detection(self): 1661s """ 1661s configure bfd_liveness_detection attributes: 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s bfd_liveness_detection=dict( 1661s minimum_receive_interval=8, 1661s no_adaptation=True, 1661s authentication=dict( 1661s algorithm="keyed-md5", 1661s key_chain="junos", 1661s loose_check=True, 1661s ), 1661s detection_time=dict(threshold=1000000), 1661s transmit_interval=dict( 1661s minimum_interval=20, 1661s threshold=100000, 1661s ), 1661s holddown_interval=20, 1661s multiplier=20, 1661s session_mode="multihop", 1661s version="1", 1661s ), 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "" 1661s "keyed-md5junos" 1661s "" 1661s "1000000" 1661s "20" 1661s "208" 1661s "20" 1661s "multihop" 1661s "1" 1661s "", 1661s '', 1661s ] 1661s > result = self.execute_module(changed=True, commands=commands) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_global.py:600: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_global.py:1862: in main 1661s result = Bgp_global(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1661s config_xmls = self.set_config(existing_bgp_global_facts) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_006 __ 1661s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_address_family_config_006(self): 1661s """ 1661s This function generate the commands to configure attributes: 1661s - aigp 1661s damping: true 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s address_family=[ 1661s dict( 1661s afi="inet6", 1661s af_type=[ 1661s dict(type="labeled-unicast", damping=True), 1661s ], 1661s ), 1661s ], 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "" 1661s "", 1661s '', 1661s ] 1661s 1661s > result = self.execute_module(changed=True) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1918: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_address_family.py:2004: in main 1661s result = Bgp_address_family(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1661s config_xmls = self.set_config(existing_bgp_address_family_facts) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s __ TestJunosBgp_globalModule.test_junos_bgp_global_merged_bgp_error_tolerance __ 1661s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_global_merged_bgp_error_tolerance(self): 1661s """ 1661s configure bgp_error_tolerance attributes: 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s bgp_error_tolerance=dict( 1661s set=True, 1661s malformed_route_limit=10, 1661s malformed_update_log_interval=15, 1661s no_malformed_route_limit=True, 1661s ), 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "10" 1661s "15" 1661s "" 1661s "", 1661s '', 1661s ] 1661s > result = self.execute_module(changed=True, commands=commands) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_global.py:628: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_global.py:1862: in main 1661s result = Bgp_global(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1661s config_xmls = self.set_config(existing_bgp_global_facts) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_007 __ 1661s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_address_family_config_007(self): 1661s """ 1661s This function generate the commands to configure attributes: 1661s - aigp 1661s defer_initial_multipath_build 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s address_family=[ 1661s dict( 1661s afi="inet6", 1661s af_type=[ 1661s dict( 1661s type="labeled-unicast", 1661s defer_initial_multipath_build=dict( 1661s set=True, 1661s ), 1661s ), 1661s ], 1661s ), 1661s ], 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "" 1661s "", 1661s '', 1661s ] 1661s 1661s > result = self.execute_module(changed=True) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1954: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_address_family.py:2004: in main 1661s result = Bgp_address_family(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1661s config_xmls = self.set_config(existing_bgp_address_family_facts) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s __________ TestJunosBgp_globalModule.test_junos_bgp_global_merged_bmp __________ 1661s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_global_merged_bmp(self): 1661s """ 1661s configure bmp attributes: 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s bmp=dict( 1661s monitor=True, 1661s route_monitoring=dict( 1661s none=True, 1661s post_policy=True, 1661s post_policy_exclude_non_eligible=True, 1661s pre_policy=True, 1661s post_policy_exclude_non_feasible=True, 1661s ), 1661s ), 1661s ), 1661s state="merged", 1661s ), 1661s ) 1661s commands = [ 1661s '' 1661s "enable" 1661s "" 1661s "", 1661s '', 1661s ] 1661s > result = self.execute_module(changed=True, commands=commands) 1661s 1661s tests/unit/modules/network/junos/test_junos_bgp_global.py:659: 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1661s result = self.changed(changed) 1661s tests/unit/modules/network/junos/junos_module.py:97: in changed 1661s self.module.main() 1661s plugins/modules/junos_bgp_global.py:1862: in main 1661s result = Bgp_global(module).execute_module() 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1661s config_xmls = self.set_config(existing_bgp_global_facts) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1661s resp = self.set_state(want, have) 1661s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1661s self.root = build_root_xml_node("configuration") 1661s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1661s 1661s def build_root_xml_node(tag): 1661s > return new_ele(tag) 1661s E NameError: name 'new_ele' is not defined 1661s 1661s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1661s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_007_001 _ 1661s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1661s 1661s self = 1661s 1661s def test_junos_bgp_address_family_config_007_001(self): 1661s """ 1661s This function generate the commands to configure attributes: 1661s defer_initial_multipath_build 1661s maximum_delay 1661s """ 1661s set_module_args( 1661s dict( 1661s config=dict( 1661s address_family=[ 1661s dict( 1661s afi="inet6", 1661s af_type=[ 1661s dict( 1661s type="labeled-unicast", 1662s defer_initial_multipath_build=dict( 1662s maximum_delay=1200, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "1200" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:1991: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _________ TestJunosBgp_globalModule.test_junos_bgp_global_merged_bmp_2 _________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_global_merged_bmp_2(self): 1662s """ 1662s configure bmp attributes: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s bmp=dict( 1662s monitor=False, 1662s route_monitoring=dict( 1662s none=False, 1662s post_policy=False, 1662s post_policy_exclude_non_eligible=False, 1662s pre_policy=False, 1662s post_policy_exclude_non_feasible=False, 1662s ), 1662s ), 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "disable" 1662s "", 1662s '', 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_global.py:689: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_global.py:1862: in main 1662s result = Bgp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1662s config_xmls = self.set_config(existing_bgp_global_facts) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_008 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_008(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - delay_route_advertisements 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet6", 1662s af_type=[ 1662s dict( 1662s type="labeled-unicast", 1662s delay_route_advertisements=dict( 1662s set=True, 1662s max_delay_route_age=12000, 1662s max_delay_routing_uptime=12000, 1662s min_delay_inbound_convergence=8000, 1662s min_delay_routing_uptime=8000, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "1200012000" 1662s "8000" 1662s "8000" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2033: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _______ TestJunosBgp_globalModule.test_junos_bgp_global_merged_egress_te _______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_global_merged_egress_te(self): 1662s """ 1662s configure egress_te attributes: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict(egress_te=dict(set=True, backup_path="sample")), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "sample" 1662s "", 1662s '', 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_global.py:708: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_global.py:1862: in main 1662s result = Bgp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1662s config_xmls = self.set_config(existing_bgp_global_facts) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosBgp_globalModule.test_junos_bgp_global_merged_egress_te_backup_paths _ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_global_merged_egress_te_backup_paths(self): 1662s """ 1662s configure egress_te_backup_paths attributes: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s egress_te_backup_paths=dict( 1662s templates=[ 1662s dict( 1662s path_name="temp", 1662s ip_forward=dict(set=True, rti_name="sample"), 1662s peers=["10.10.10.10", "11.11.11.11"], 1662s remote_nexthop="11.1.1.1", 1662s ), 1662s ], 1662s ), 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "temp" 1662s "10.10.10.1011.11.11.11" 1662s "11.1.1.1" 1662s "" 1662s "", 1662s '', 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_global.py:741: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_global.py:1862: in main 1662s result = Bgp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1662s config_xmls = self.set_config(existing_bgp_global_facts) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_009 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_009(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - entropy_label 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="labeled-unicast", 1662s entropy_label=dict( 1662s set=True, 1662s no_next_hop_validation=True, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2070: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____ TestJunosBgp_globalModule.test_junos_bgp_global_merged_groups_allow ______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_global_merged_groups_allow(self): 1662s """ 1662s configure allow attributes: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s groups=[dict(name="internal", allow=["all", "1.1.1.0/24"])], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "internalall" 1662s "1.1.1.0/24" 1662s "", 1662s '', 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_global.py:763: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_global.py:1862: in main 1662s result = Bgp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1662s config_xmls = self.set_config(existing_bgp_global_facts) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_010 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_010(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - explicit_null 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="labeled-unicast", 1662s explicit_null=dict( 1662s set=True, 1662s connected_only=True, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2107: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ______ TestJunosBgp_globalModule.test_junos_bgp_global_merged_idempotent _______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_global_merged_idempotent(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s accept_remote_nexthop=True, 1662s advertise_from_main_vpn_tables=True, 1662s advertise_inactive=True, 1662s as_number="65432", 1662s authentication_algorithm="md5", 1662s bgp_error_tolerance=dict(malformed_route_limit=30000000), 1662s damping=True, 1662s description="This is configured with Junos_bgp resource module", 1662s hold_time=5, 1662s holddown_all_stale_labels=True, 1662s log_updown=True, 1662s no_advertise_peer_as=True, 1662s no_aggregator_id=True, 1662s out_delay=10, 1662s preference="2", 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_global.py:145: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_global.py:1862: in main 1662s result = Bgp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1662s config_xmls = self.set_config(existing_bgp_global_facts) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_011 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_011(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - extended_nexthop 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict(type="unicast", extended_nexthop=True), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2137: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosBgp_globalModule.test_junos_bgp_global_merged_optimal_route_reflection _ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_global_merged_optimal_route_reflection(self): 1662s """ 1662s configure optimal_route_reflection attributes: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s groups=[ 1662s dict( 1662s name="internal", 1662s optimal_route_reflection=dict( 1662s igp_backup="test_igp", 1662s igp_primary="test_primary", 1662s ), 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "internal" 1662s "test_igptest_primary" 1662s "" 1662s "", 1662s '', 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_global.py:794: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_global.py:1862: in main 1662s result = Bgp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1662s config_xmls = self.set_config(existing_bgp_global_facts) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosBgp_globalModule.test_junos_bgp_global_merged_routing_options ____ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_global_merged_routing_options(self): 1662s """ 1662s configure routing-options attributes: 1662s - loops 1662s - as_number 1662s - asdot_notation 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict(as_number="65432", loops=5, asdot_notation=True), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "", 1662s '' 1662s "654325" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_global.py:469: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_global.py:1862: in main 1662s result = Bgp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1662s config_xmls = self.set_config(existing_bgp_global_facts) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_012 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_012(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - extended_nexthop_color 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet6", 1662s af_type=[ 1662s dict( 1662s type="unicast", 1662s extended_nexthop_color=True, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2170: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_013 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_013(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - graceful_restart_forwarding_state_bit: from-fib 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="unicast", 1662s graceful_restart_forwarding_state_bit="from-fib", 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "from-fib" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2204: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___________ TestJunosBgp_globalModule.test_junos_bgp_global_rendered ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_global_rendered(self): 1662s """ 1662s :return: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s description="This is configured with Junos_bgp resource module", 1662s groups=[dict(name="internal", out_delay=22)], 1662s hold_time=4, 1662s holddown_all_stale_labels=True, 1662s include_mp_next_hop=True, 1662s log_updown=True, 1662s loops=5, 1662s keep="all", 1662s mtu_discovery=True, 1662s out_delay=10, 1662s preference="2", 1662s ), 1662s state="rendered", 1662s ), 1662s ) 1662s 1662s rendered = ( 1662s '' 1662s "" 1662s "" 1662s "This is configured with Junos_bgp resource module" 1662s "4all2" 1662s "10" 1662s "internal22" 1662s "" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_global.py:295: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_global.py:1862: in main 1662s result = Bgp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:94: in execute_module 1662s config_xmls = self.set_config(existing_bgp_global_facts) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_013_001 _ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_013_001(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - graceful_restart_forwarding_state_bit: set 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="unicast", 1662s graceful_restart_forwarding_state_bit="set", 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "set" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2238: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ________ TestJunosBgp_globalModule.test_junos_bgp_global_rendered_empty ________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_global_rendered_empty(self): 1662s """ 1662s :return: 1662s """ 1662s set_module_args(dict(config=dict(description=""), state="rendered")) 1662s rendered = "" 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_global.py:304: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_global.py:1862: in main 1662s result = Bgp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:94: in execute_module 1662s config_xmls = self.set_config(existing_bgp_global_facts) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_014 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_014(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - local_ipv4_address 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="unicast", 1662s local_ipv4_address="11.11.11.11", 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "11.11.11.11" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2271: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___________ TestJunosBgp_globalModule.test_junos_bgp_global_replaced ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_global_replaced(self): 1662s """ 1662s :return: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s accept_remote_nexthop=True, 1662s advertise_from_main_vpn_tables=True, 1662s advertise_inactive=True, 1662s as_number="65432", 1662s authentication_algorithm="md5", 1662s bgp_error_tolerance=dict(malformed_route_limit=20000000), 1662s damping=True, 1662s description="This is configured with Junos_bgp resource module", 1662s groups=[ 1662s dict(name="internal", out_delay=22), 1662s dict(name="external", out_delay=20), 1662s ], 1662s hold_time=4, 1662s holddown_all_stale_labels=True, 1662s log_updown=True, 1662s keep="all", 1662s mtu_discovery=True, 1662s no_precision_timers=True, 1662s no_advertise_peer_as=True, 1662s no_aggregator_id=True, 1662s out_delay=10, 1662s preference="2", 1662s ), 1662s state="replaced", 1662s ), 1662s ) 1662s 1662s commands = [ 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s '' 1662s "" 1662s "" 1662s "" 1662s "" 1662s "md5" 1662s "This is configured with Junos_bgp resource module" 1662s "4all2" 1662s "10" 1662s "20000000" 1662s "internal" 1662s "22external" 1662s "20", 1662s '' 1662s '' 1662s "65432", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_global.py:233: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_global.py:1862: in main 1662s result = Bgp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1662s config_xmls = self.set_config(existing_bgp_global_facts) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____ TestJunosBgp_globalModule.test_junos_bgp_global_replaced_idempotent ______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_global_replaced_idempotent(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s accept_remote_nexthop=True, 1662s advertise_from_main_vpn_tables=True, 1662s advertise_inactive=True, 1662s as_number="65432", 1662s authentication_algorithm="md5", 1662s bgp_error_tolerance=dict(malformed_route_limit=30000000), 1662s damping=True, 1662s description="This is configured with Junos_bgp resource module", 1662s hold_time=5, 1662s holddown_all_stale_labels=True, 1662s log_updown=True, 1662s no_advertise_peer_as=True, 1662s no_aggregator_id=True, 1662s out_delay=10, 1662s preference="2", 1662s ), 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_global.py:259: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_global.py:1862: in main 1662s result = Bgp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:101: in execute_module 1662s config_xmls = self.set_config(existing_bgp_global_facts) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:138: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_global/bgp_global.py:150: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_015 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_015(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - legacy_redirect_ip_action 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="flow", 1662s legacy_redirect_ip_action=dict( 1662s set=True, 1662s send=True, 1662s receive=True, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2309: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_016 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_016(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - loops 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict(afi="inet", af_type=[dict(type="flow", loops=3)]), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "3" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2334: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_017 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_017(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - no_install 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[dict(type="flow", no_install=True)], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2362: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_018 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_018(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - no_validate 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[dict(type="flow", no_validate="sample")], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "sample" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2390: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_019 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_019(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - output_queue_priority_expedited 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="flow", 1662s output_queue_priority_expedited=True, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2423: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_020 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_020(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - output_queue_priority_priority 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="flow", 1662s output_queue_priority_priority=15, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "15" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2457: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____________ TestJunosHostnameModule.test_junos_hostname_merged_01 _____________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_hostname_merged_01(self): 1662s set_module_args(dict(config=dict(hostname="vsrx"), state="merged")) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_hostname.py:92: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_hostname.py:356: in main 1662s result = Hostname(module).execute_module() 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:102: in execute_module 1662s config_xmls = self.set_config(existing_hostname_facts) 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:140: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:152: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __________ TestJunosHostnameModule.test_junos_hostname_overridden_01 ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_hostname_overridden_01(self): 1662s set_module_args( 1662s dict(config=dict(hostname="vsrx12"), state="overridden"), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_hostname.py:118: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_hostname.py:356: in main 1662s result = Hostname(module).execute_module() 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:102: in execute_module 1662s config_xmls = self.set_config(existing_hostname_facts) 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:140: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:152: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_021 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_021(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - per_group_label 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet6", 1662s af_type=[ 1662s dict( 1662s type="labeled-unicast", 1662s per_group_label=True, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2490: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____________ TestJunosHostnameModule.test_junos_hostname_rendered _____________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_hostname_rendered(self): 1662s set_module_args(dict(config=dict(hostname="vsrx10"), state="rendered")) 1662s rendered = ( 1662s '' 1662s "vsrx10" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_hostname.py:139: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_hostname.py:356: in main 1662s result = Hostname(module).execute_module() 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:96: in execute_module 1662s config_xmls = self.set_config(existing_hostname_facts) 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:140: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:152: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_022 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_022(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - per_prefix_label 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="labeled-unicast", 1662s per_prefix_label=True, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2523: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____________ TestJunosHostnameModule.test_junos_hostname_replaced _____________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_hostname_replaced(self): 1662s set_module_args(dict(config=dict(hostname="vsrx12"), state="replaced")) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_hostname.py:144: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_hostname.py:356: in main 1662s result = Hostname(module).execute_module() 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:102: in execute_module 1662s config_xmls = self.set_config(existing_hostname_facts) 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:140: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/hostname/hostname.py:152: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_023 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_023(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - prefix_limit 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="labeled-unicast", 1662s prefix_limit=dict( 1662s maximum=4294967290, 1662s teardown=True, 1662s limit_threshold=22, 1662s idle_timeout=True, 1662s idle_timeout_value=2200, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "4294967290222200" 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2564: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____________ TestJunosInterfacesModule.test_junos_interfaces_delete ____________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_interfaces_delete(self): 1662s set_module_args(dict(config=[dict(name="ge-0/0/2")], state="deleted")) 1662s 1662s commands = [ 1662s '', 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_interfaces.py:226: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_interfaces.py:961: in main 1662s result = Interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1662s config_xmls = self.set_config(existing_interfaces_facts) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ______ TestJunosInterfacesModule.test_junos_interfaces_delete_idempotent _______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_interfaces_delete_idempotent(self): 1662s set_module_args(dict(config=[dict(name="ge-0/0/4")], state="deleted")) 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_interfaces.py:231: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_interfaces.py:961: in main 1662s result = Interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1662s config_xmls = self.set_config(existing_interfaces_facts) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_023_001 _ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_023_001(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - prefix_limit 1662s forever: true 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="labeled-unicast", 1662s prefix_limit=dict( 1662s teardown=True, 1662s forever=True, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2602: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____________ TestJunosInterfacesModule.test_junos_interfaces_merged ____________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_interfaces_merged(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/1", 1662s description="This is configured with ansible resource module", 1662s mtu=1024, 1662s speed="100m", 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ge-0/0/1This is configured with ansible resource module" 1662s "100m1024", 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_interfaces.py:111: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_interfaces.py:961: in main 1662s result = Interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1662s config_xmls = self.set_config(existing_interfaces_facts) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_024 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_024(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - resolve_vpn 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict(type="labeled-unicast", resolve_vpn=True), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2632: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ______ TestJunosInterfacesModule.test_junos_interfaces_merged_idempotent _______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_interfaces_merged_idempotent(self): 1662s self.get_config.return_value = load_fixture( 1662s "junos_interfaces_config.xml", 1662s ) 1662s src = load_fixture("junos_interfaces.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/0", 1662s description="Configured by Ansi-Team", 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_interfaces.py:131: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_interfaces.py:961: in main 1662s result = Interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1662s config_xmls = self.set_config(existing_interfaces_facts) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __________ TestJunosInterfacesModule.test_junos_interfaces_overridden __________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_interfaces_overridden(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/2", 1662s description="This is configured with ansible", 1662s mtu=1024, 1662s speed="100m", 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ge-0/0/2" 1662s "This is configured with ansible" 1662s "100m1024", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_interfaces.py:197: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_interfaces.py:961: in main 1662s result = Interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1662s config_xmls = self.set_config(existing_interfaces_facts) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_025 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_025(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - rib 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet6", 1662s af_type=[ 1662s dict(type="labeled-unicast", rib="inet.3"), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2662: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosInterfacesModule.test_junos_interfaces_overridden_idempotent _____ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_interfaces_overridden_idempotent(self): 1662s self.get_config.return_value = load_fixture( 1662s "junos_interfaces_config.xml", 1662s ) 1662s src = load_fixture("junos_interfaces.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/0", 1662s description="Configured by Ansi-Team", 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_interfaces.py:218: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_interfaces.py:961: in main 1662s result = Interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1662s config_xmls = self.set_config(existing_interfaces_facts) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_026 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_026(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - ribgroup_name 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet6", 1662s af_type=[ 1662s dict( 1662s type="labeled-unicast", 1662s ribgroup_name="inet3", 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "inet3" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2695: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___________ TestJunosInterfacesModule.test_junos_interfaces_rendered ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_interfaces_rendered(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/1", 1662s description="This is configured with ansible resource module", 1662s mtu=1024, 1662s speed="100m", 1662s ), 1662s ], 1662s state="rendered", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ge-0/0/1" 1662s "This is configured with ansible resource module" 1662s "100m" 1662s "1024" 1662s "", 1662s ] 1662s > self.execute_module(changed=False, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_interfaces.py:255: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_interfaces.py:961: in main 1662s result = Interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:92: in execute_module 1662s config_xmls = self.set_config(existing_interfaces_facts) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_027 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_027(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - route_refresh_priority_expedited 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet6", 1662s af_type=[ 1662s dict( 1662s type="labeled-unicast", 1662s route_refresh_priority_expedited=True, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2729: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___________ TestJunosInterfacesModule.test_junos_interfaces_replaced ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_interfaces_replaced(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/2", 1662s description="This is configured with ansible", 1662s mtu=1024, 1662s speed="100m", 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_interfaces.py:147: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_interfaces.py:961: in main 1662s result = Interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1662s config_xmls = self.set_config(existing_interfaces_facts) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____ TestJunosInterfacesModule.test_junos_interfaces_replaced_idempotent ______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_interfaces_replaced_idempotent(self): 1662s self.get_config.return_value = load_fixture( 1662s "junos_interfaces_config.xml", 1662s ) 1662s src = load_fixture("junos_interfaces.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/0", 1662s description="Configured by Ansi-Team", 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_interfaces.py:175: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_interfaces.py:961: in main 1662s result = Interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:99: in execute_module 1662s config_xmls = self.set_config(existing_interfaces_facts) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:135: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/interfaces/interfaces.py:147: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_028 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_028(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - route_refresh_priority_priority 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet6", 1662s af_type=[ 1662s dict( 1662s type="labeled-unicast", 1662s route_refresh_priority_priority=15, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "15" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2763: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _________ TestJunosL2InterfacesModule.test_junos_l2_interfaces_delete __________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l2_interfaces_delete(self): 1662s self.get_res_config.return_value = load_fixture( 1662s "junos_interfaces_config.xml", 1662s ) 1662s src = load_fixture("junos_l2_interfaces.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args(dict(config=[dict(name="ge-0/0/1")], state="deleted")) 1662s commands = [ 1662s '' 1662s "ge-0/0/10" 1662s '' 1662s '' 1662s '', 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:234: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l2_interfaces.py:1057: in main 1662s result = L2_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1662s config_xmls = self.set_config(existing_l2_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_029 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_029(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - secondary_independent_resolution 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="flow", 1662s secondary_independent_resolution=True, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2796: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosL2InterfacesModule.test_junos_l2_interfaces_delete_idempotent ____ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l2_interfaces_delete_idempotent(self): 1662s set_module_args(dict(config=[dict(name="ge-0/0/3")], state="deleted")) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:239: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l2_interfaces.py:1057: in main 1662s result = L2_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1662s config_xmls = self.set_config(existing_l2_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_030 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_030(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - groups: 1662s address_family: 1662s topology 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s groups=[ 1662s dict( 1662s name="ebgp", 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="unicast", 1662s topology=[ 1662s dict( 1662s name="voice", 1662s community=["target:40:40"], 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ebgp" 1662s "voice" 1662s "target:40:40" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2843: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _________ TestJunosL2InterfacesModule.test_junos_l2_interfaces_merged __________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l2_interfaces_merged(self): 1662s set_module_args( 1662s dict( 1662s config=[dict(name="ge-0/0/1", access=dict(vlan="vlan100"))], 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ge-0/0/10" 1662s "access" 1662s "vlan100" 1662s "" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:109: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l2_interfaces.py:1057: in main 1662s result = L2_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1662s config_xmls = self.set_config(existing_l2_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_config_033 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_config_033(self): 1662s """ 1662s This function generate the commands to configure attributes: 1662s - groups: 1662s address_family: 1662s topology 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s groups=[ 1662s dict( 1662s name="ebgp", 1662s neighbors=[ 1662s dict( 1662s neighbor_address="14.14.14.14", 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="unicast", 1662s no_install=True, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ebgp" 1662s "14.14.14.14" 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2958: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosL2InterfacesModule.test_junos_l2_interfaces_merged_idempotent ____ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l2_interfaces_merged_idempotent(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict(name="ge-0/0/1", access=dict(vlan="vlan100"), unit=0, enhanced_layer=True), 1662s dict( 1662s name="ge-0/0/2", 1662s trunk=dict(allowed_vlans=["vlan200", "vlan300"], native_vlan="400"), 1662s unit=0, 1662s enhanced_layer=True, 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:146: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l2_interfaces.py:1057: in main 1662s result = L2_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1662s config_xmls = self.set_config(existing_l2_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_deleted_031 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_deleted_031(self): 1662s """ 1662s This function generate the commands to to delete bgp_address family completely: 1662s """ 1662s set_module_args(dict(config=dict(), state="deleted")) 1662s commands = [ 1662s '' 1662s "internal" 1662s "ebgp" 1662s '' 1662s '' 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2861: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _______ TestJunosL2InterfacesModule.test_junos_l2_interfaces_overridden ________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l2_interfaces_overridden(self): 1662s set_module_args( 1662s dict( 1662s config=[dict(name="ge-0/0/1", access=dict(vlan="vlan100"), enhanced_layer=False)], 1662s state="overridden", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ge-0/0/10" 1662s "access" 1662s "vlan100" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:199: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l2_interfaces.py:1057: in main 1662s result = L2_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1662s config_xmls = self.set_config(existing_l2_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosL2InterfacesModule.test_junos_l2_interfaces_overridden_idempotent __ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l2_interfaces_overridden_idempotent(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict(name="ge-0/0/1", access=dict(vlan="vlan100"), unit=0, enhanced_layer=True), 1662s dict( 1662s name="ge-0/0/2", 1662s trunk=dict(allowed_vlans=["vlan200", "vlan300"], native_vlan="400"), 1662s unit=0, 1662s enhanced_layer=True, 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:217: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l2_interfaces.py:1057: in main 1662s result = L2_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1662s config_xmls = self.set_config(existing_l2_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosBgp_address_familyModule.test_junos_bgp_address_family_deleted_032 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_bgp_address_family_deleted_032(self): 1662s """ 1662s This function generate the commands to to delete bgp_address family completely: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s groups=[ 1662s dict( 1662s name="ebgp", 1662s address_family=[ 1662s dict( 1662s afi="inet", 1662s af_type=[ 1662s dict( 1662s type="unicast", 1662s topology=[ 1662s dict( 1662s name="voice", 1662s community=["target:40:40"], 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s state="overridden", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "internal" 1662s '' 1662s "ebgp" 1662s '' 1662s '' 1662s "ebgp" 1662s "voice" 1662s "target:40:40" 1662s "" 1662s "", 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_bgp_address_family.py:2911: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_bgp_address_family.py:2004: in main 1662s result = Bgp_address_family(module).execute_module() 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:107: in execute_module 1662s config_xmls = self.set_config(existing_bgp_address_family_facts) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ________ TestJunosL2InterfacesModule.test_junos_l2_interfaces_rendered _________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l2_interfaces_rendered(self): 1662s set_module_args( 1662s dict( 1662s config=[dict(name="ge-0/0/4", access=dict(vlan="vlan100"))], 1662s state="rendered", 1662s ), 1662s ) 1662s rendered = ( 1662s '' 1662s "ge-0/0/40" 1662s "access" 1662s "vlan100" 1662s "" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:315: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l2_interfaces.py:1057: in main 1662s result = L2_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:99: in execute_module 1662s config_xmls = self.set_config(existing_l2_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _________ TestJunosL3InterfacesModule.test_junos_l3_interfaces_merged __________ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l3_interfaces_merged(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/1", 1662s ipv4=[ 1662s dict(address="100.64.0.1/10"), 1662s dict(address="100.64.0.2/10"), 1662s ], 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ge-0/0/10" 1662s "100.64.0.1/10" 1662s "100.64.0.2/10" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:113: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l3_interfaces.py:1021: in main 1662s result = L3_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1662s config_xmls = self.set_config(existing_l3_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ________ TestJunosL2InterfacesModule.test_junos_l2_interfaces_replaced _________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l2_interfaces_replaced(self): 1662s set_module_args( 1662s dict( 1662s config=[dict(name="ge-0/0/1", access=dict(vlan="vlan100"), enhanced_layer=False)], 1662s state="replaced", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ge-0/0/10" 1662s "access" 1662s "vlan100" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:163: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l2_interfaces.py:1057: in main 1662s result = L2_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1662s config_xmls = self.set_config(existing_l2_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosL3InterfacesModule.test_junos_l3_interfaces_merged_idempotent ____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l3_interfaces_merged_idempotent(self): 1662s self.get_config.return_value = load_fixture( 1662s "junos_interfaces_config.xml", 1662s ) 1662s src = load_fixture("junos_l3_interfaces.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/1", 1662s ipv4=[ 1662s dict(address="100.64.0.1/10"), 1662s dict(address="100.64.0.2/10"), 1662s ], 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:136: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l3_interfaces.py:1021: in main 1662s result = L3_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1662s config_xmls = self.set_config(existing_l3_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___ TestJunosL2InterfacesModule.test_junos_l2_interfaces_replaced_idempotent ___ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l2_interfaces_replaced_idempotent(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict(name="ge-0/0/1", access=dict(vlan="vlan100"), unit=0, enhanced_layer=True), 1662s dict( 1662s name="ge-0/0/2", 1662s trunk=dict(allowed_vlans=["vlan200", "vlan300"], native_vlan="400"), 1662s unit=0, 1662s enhanced_layer=True, 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_l2_interfaces.py:182: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l2_interfaces.py:1057: in main 1662s result = L2_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:106: in execute_module 1662s config_xmls = self.set_config(existing_l2_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _______ TestJunosL3InterfacesModule.test_junos_l3_interfaces_overridden ________ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l3_interfaces_overridden(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/1", 1662s ipv4=[ 1662s dict(address="100.64.0.1/10"), 1662s dict(address="100.64.0.2/10"), 1662s ], 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ge-0/0/10" 1662s "100.64.0.1/10" 1662s "100.64.0.2/10" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:208: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l3_interfaces.py:1021: in main 1662s result = L3_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1662s config_xmls = self.set_config(existing_l3_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __________ TestJunosNtp_globalModule.test_junos_ntp_global_merged_01 ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ntp_global_merged_01(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s boot_server="78.46.194.186", 1662s broadcasts=[ 1662s dict( 1662s address="172.16.255.255", 1662s key="50", 1662s ttl=200, 1662s version=3, 1662s routing_instance_name="rt1", 1662s ), 1662s dict( 1662s address="192.16.255.255", 1662s key="50", 1662s ttl=200, 1662s version=3, 1662s routing_instance_name="rt1", 1662s ), 1662s ], 1662s broadcast_client=True, 1662s interval_range=2, 1662s multicast_client="224.0.0.1", 1662s peers=[ 1662s dict(peer="78.44.194.186"), 1662s dict( 1662s peer="172.44.194.186", 1662s key_id="10000", 1662s prefer=True, 1662s version=3, 1662s ), 1662s ], 1662s servers=[ 1662s dict( 1662s server="48.46.194.186", 1662s key_id=34, 1662s prefer=True, 1662s version=2, 1662s routing_instance="rt1", 1662s ), 1662s dict( 1662s server="48.45.194.186", 1662s key_id=34, 1662s prefer=True, 1662s version=2, 1662s ), 1662s ], 1662s source_addresses=[ 1662s dict( 1662s source_address="172.45.194.186", 1662s routing_instance="rt1", 1662s ), 1662s dict( 1662s source_address="171.45.194.186", 1662s routing_instance="rt2", 1662s ), 1662s ], 1662s threshold=dict(action="accept", value=300), 1662s trusted_keys=[dict(key_id=3000), dict(key_id=2000)], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ntp_global.py:154: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ntp_global.py:1014: in main 1662s result = Ntp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:102: in execute_module 1662s config_xmls = self.set_config(existing_ntp_global_facts) 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:140: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:152: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosL3InterfacesModule.test_junos_l3_interfaces_overridden_idempotent __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l3_interfaces_overridden_idempotent(self): 1662s self.get_config.return_value = load_fixture( 1662s "junos_interfaces_config.xml", 1662s ) 1662s src = load_fixture("junos_l3_interfaces.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/1", 1662s ipv4=[ 1662s dict(address="100.64.0.1/10"), 1662s dict(address="100.64.0.2/10"), 1662s ], 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:232: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l3_interfaces.py:1021: in main 1662s result = L3_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1662s config_xmls = self.set_config(existing_l3_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __________ TestJunosNtp_globalModule.test_junos_ntp_global_merged_02 ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ntp_global_merged_02(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s boot_server="78.46.194.186", 1662s authentication_keys=[ 1662s dict(id="2", algorithm="md5", key="asdfghd"), 1662s dict(id="5", algorithm="sha1", key="aasdad"), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ntp_global.py:189: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ntp_global.py:1014: in main 1662s result = Ntp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:102: in execute_module 1662s config_xmls = self.set_config(existing_ntp_global_facts) 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:140: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:152: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ________ TestJunosL3InterfacesModule.test_junos_l3_interfaces_rendered _________ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l3_interfaces_rendered(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/1", 1662s ipv4=[ 1662s dict(address="100.64.0.1/10"), 1662s dict(address="100.64.0.2/10"), 1662s ], 1662s ), 1662s ], 1662s state="rendered", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ge-0/0/10" 1662s "100.64.0.1/10" 1662s "100.64.0.2/10" 1662s "", 1662s ] 1662s > self.execute_module(changed=False, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:256: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l3_interfaces.py:1021: in main 1662s result = L3_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:96: in execute_module 1662s config_xmls = self.set_config(existing_l3_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ________ TestJunosNtp_globalModule.test_junos_ntp_global_overridden_01 _________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ntp_global_overridden_01(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s boot_server="78.46.194.186", 1662s broadcasts=[ 1662s dict( 1662s address="172.16.255.255", 1662s key="50", 1662s ttl=200, 1662s version=3, 1662s routing_instance_name="rt1", 1662s ), 1662s dict( 1662s address="192.16.255.255", 1662s key="50", 1662s ttl=200, 1662s version=3, 1662s routing_instance_name="rt1", 1662s ), 1662s ], 1662s broadcast_client=True, 1662s interval_range=2, 1662s multicast_client="224.0.0.1", 1662s peers=[ 1662s dict(peer="78.44.194.186"), 1662s dict( 1662s peer="172.44.194.186", 1662s key_id="10000", 1662s prefer=True, 1662s version=3, 1662s ), 1662s ], 1662s servers=[ 1662s dict( 1662s server="48.46.194.186", 1662s key_id=34, 1662s prefer=True, 1662s version=2, 1662s routing_instance="rt1", 1662s ), 1662s dict( 1662s server="48.45.194.186", 1662s key_id=34, 1662s prefer=True, 1662s version=2, 1662s ), 1662s ], 1662s source_addresses=[ 1662s dict( 1662s source_address="172.45.194.186", 1662s routing_instance="rt1", 1662s ), 1662s dict( 1662s source_address="171.45.194.186", 1662s routing_instance="rt2", 1662s ), 1662s ], 1662s threshold=dict(action="accept", value=300), 1662s trusted_keys=[dict(key_id=3000), dict(key_id=2000)], 1662s ), 1662s state="overridden", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ntp_global.py:567: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ntp_global.py:1014: in main 1662s result = Ntp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:102: in execute_module 1662s config_xmls = self.set_config(existing_ntp_global_facts) 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:140: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:152: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ________ TestJunosL3InterfacesModule.test_junos_l3_interfaces_replaced _________ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l3_interfaces_replaced(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/2", 1662s ipv4=[ 1662s dict(address="100.64.0.1/10"), 1662s dict(address="100.64.0.2/10"), 1662s ], 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "ge-0/0/20" 1662s "100.64.0.1/10" 1662s "100.64.0.2/10" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:160: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l3_interfaces.py:1021: in main 1662s result = L3_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1662s config_xmls = self.set_config(existing_l3_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___ TestJunosL3InterfacesModule.test_junos_l3_interfaces_replaced_idempotent ___ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_l3_interfaces_replaced_idempotent(self): 1662s self.get_config.return_value = load_fixture( 1662s "junos_interfaces_config.xml", 1662s ) 1662s src = load_fixture("junos_l3_interfaces.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="ge-0/0/1", 1662s ipv4=[ 1662s dict(address="100.64.0.1/10"), 1662s dict(address="100.64.0.2/10"), 1662s ], 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_l3_interfaces.py:184: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_l3_interfaces.py:1021: in main 1662s result = L3_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:103: in execute_module 1662s config_xmls = self.set_config(existing_l3_interfaces_facts) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py:154: in set_state 1662s root = build_root_xml_node("interfaces") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___________ TestJunosNtp_globalModule.test_junos_ntp_global_rendered ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ntp_global_rendered(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s boot_server="78.46.194.186", 1662s authentication_keys=[ 1662s dict(id="2", algorithm="md5", key="asdfghd"), 1662s dict(id="5", algorithm="sha1", key="aasdad"), 1662s ], 1662s ), 1662s state="rendered", 1662s ), 1662s ) 1662s rendered = ( 1662s '' 1662s "2md5" 1662s "asdfghd" 1662s "5sha1aasdad" 1662s "78.46.194.186" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_ntp_global.py:631: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ntp_global.py:1014: in main 1662s result = Ntp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:96: in execute_module 1662s config_xmls = self.set_config(existing_ntp_global_facts) 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:140: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:152: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _________ TestJunosNtp_globalModule.test_junos_ntp_global_replaced_01 __________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ntp_global_replaced_01(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s boot_server="78.46.194.186", 1662s broadcasts=[ 1662s dict( 1662s address="172.16.255.255", 1662s key="50", 1662s ttl=200, 1662s version=3, 1662s routing_instance_name="rt1", 1662s ), 1662s dict( 1662s address="192.16.255.255", 1662s key="50", 1662s ttl=200, 1662s version=3, 1662s routing_instance_name="rt1", 1662s ), 1662s ], 1662s broadcast_client=True, 1662s interval_range=2, 1662s multicast_client="224.0.0.1", 1662s peers=[ 1662s dict(peer="78.44.194.186"), 1662s dict( 1662s peer="172.44.194.186", 1662s key_id="10000", 1662s prefer=True, 1662s version=3, 1662s ), 1662s ], 1662s servers=[ 1662s dict( 1662s server="48.46.194.186", 1662s key_id=34, 1662s prefer=True, 1662s version=2, 1662s routing_instance="rt1", 1662s ), 1662s dict( 1662s server="48.45.194.186", 1662s key_id=34, 1662s prefer=True, 1662s version=2, 1662s ), 1662s ], 1662s source_addresses=[ 1662s dict( 1662s source_address="172.45.194.186", 1662s routing_instance="rt1", 1662s ), 1662s dict( 1662s source_address="171.45.194.186", 1662s routing_instance="rt2", 1662s ), 1662s ], 1662s threshold=dict(action="accept", value=300), 1662s trusted_keys=[dict(key_id=3000), dict(key_id=2000)], 1662s ), 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ntp_global.py:698: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ntp_global.py:1014: in main 1662s result = Ntp_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:102: in execute_module 1662s config_xmls = self.set_config(existing_ntp_global_facts) 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:140: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ntp_global/ntp_global.py:152: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___ TestJunosLogging_globalModule.test_junos_logging_global_deleted_user_11 ____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_deleted_user_11(self): 1662s set_module_args(dict(config=dict(), state="deleted")) 1662s commands = [ 1662s '' 1662s '', 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:381: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___________ TestJunosOspfv3Module.test_junos_ospf_interfaces_delete ____________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospf_interfaces_delete(self): 1662s self.get_connection.return_value = load_fixture( 1662s "junos_ospf_interfaces_config.cfg", 1662s ) 1662s src = load_fixture("junos_ospf_interfaces.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[dict(router_id="10.200.16.75", name="ge-0/0/2.0")], 1662s state="deleted", 1662s ), 1662s ) 1662s 1662s commands = [ 1662s '', 1662s '', 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:303: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospf_interfaces.py:607: in main 1662s result = Ospf_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1662s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ______ TestJunosOspfv3Module.test_junos_ospf_interfaces_delete_idempotent ______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospf_interfaces_delete_idempotent(self): 1662s set_module_args( 1662s dict( 1662s config=[dict(router_id="10.200.16.75", name="ge-0/0/2.0")], 1662s state="deleted", 1662s ), 1662s ) 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:313: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospf_interfaces.py:607: in main 1662s result = Ospf_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1662s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ______ TestJunosLogging_globalModule.test_junos_logging_global_merged_07 _______ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_merged_07(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s allow_duplicates=True, 1662s routing_instance="inst11", 1662s log_rotate_frequency=45, 1662s source_address="33.33.33.33", 1662s time_format=dict(millisecond=True, year=True), 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "45" 1662s "inst1133.33.33.33" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:275: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___________ TestJunosOspfv3Module.test_junos_ospf_interfaces_merged ____________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospf_interfaces_merged(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s name="ge-0/0/2.0", 1662s address_family=[ 1662s dict( 1662s afi="ipv4", 1662s processes=dict( 1662s area=dict(area_id="0.0.0.2"), 1662s priority=3, 1662s metric=5, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "0.0.0.2ge-0/0/2.0" 1662s "35", 1662s '' 1662s "10.200.16.75", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:129: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospf_interfaces.py:607: in main 1662s result = Ospf_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1662s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosLogging_globalModule.test_junos_logging_global_merged_archive_01 ___ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_merged_archive_01(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s archive=dict( 1662s set=True, 1662s files=10, 1662s file_size=65578, 1662s no_binary_data=True, 1662s no_world_readable=True, 1662s ), 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "10" 1662s "65578" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:111: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ______ TestJunosOspfv3Module.test_junos_ospf_interfaces_merged_idempotent ______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospf_interfaces_merged_idempotent(self): 1662s self.get_connection.return_value = load_fixture( 1662s "junos_ospf_interfaces_config.cfg", 1662s ) 1662s src = load_fixture("junos_ospf_interfaces.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.77", 1662s name="so-0/0/0.0", 1662s address_family=[ 1662s dict( 1662s afi="ipv4", 1662s processes=dict( 1662s area=dict(area_id="0.0.0.10"), 1662s priority=3, 1662s metric=5, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:159: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospf_interfaces.py:607: in main 1662s result = Ospf_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1662s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosLogging_globalModule.test_junos_logging_global_merged_console_02 ___ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_merged_console_02(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s console=dict( 1662s any=dict(level="info"), 1662s authorization=dict(level="any"), 1662s change_log=dict(level="critical"), 1662s ftp=dict(level="none"), 1662s ), 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:128: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _________ TestJunosOspfv3Module.test_junos_ospf_interfaces_overridden __________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospf_interfaces_overridden(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s name="ge-0/0/2.0", 1662s address_family=[ 1662s dict( 1662s afi="ipv4", 1662s processes=dict( 1662s area=dict(area_id="0.0.0.1"), 1662s priority=6, 1662s metric=7, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "0.0.0.1ge-0/0/2.0" 1662s "67", 1662s '' 1662s "10.200.16.75", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:252: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospf_interfaces.py:607: in main 1662s result = Ospf_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1662s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___ TestJunosLogging_globalModule.test_junos_logging_global_merged_files_03 ____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_merged_files_03(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s files=[dict(name="file101", allow_duplicates=True)], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "file101" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:160: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosOspfv3Module.test_junos_ospf_interfaces_overridden_idempotent ____ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospf_interfaces_overridden_idempotent(self): 1662s self.get_connection.return_value = load_fixture( 1662s "junos_ospf_interfaces_config.cfg", 1662s ) 1662s src = load_fixture("junos_ospf_interfaces.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s name="ge-0/0/2.0", 1662s address_family=[ 1662s dict( 1662s afi="ipv4", 1662s processes=dict( 1662s area=dict(area_id="0.0.0.1"), 1662s priority=6, 1662s metric=7, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:283: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospf_interfaces.py:607: in main 1662s result = Ospf_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1662s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___ TestJunosLogging_globalModule.test_junos_logging_global_merged_files_04 ____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_merged_files_04(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s files=[ 1662s dict( 1662s name="file102", 1662s allow_duplicates=True, 1662s any=dict(level="any"), 1662s structured_data=dict(set=True), 1662s ), 1662s dict( 1662s name="file103", 1662s archive=dict( 1662s set=True, 1662s no_binary_data=True, 1662s files=10, 1662s file_size=65578, 1662s no_world_readable=True, 1662s ), 1662s explicit_priority=True, 1662s match="^set*", 1662s match_strings=["^delete", "^prompt"], 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "file102" 1662s "any" 1662s "file103" 1662s "10" 1662s "65578" 1662s "^set*" 1662s "^delete" 1662s "^prompt", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:203: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __________ TestJunosOspfv3Module.test_junos_ospf_interfaces_rendered ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospf_interfaces_rendered(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s name="ge-0/0/2.0", 1662s address_family=[ 1662s dict( 1662s afi="ipv4", 1662s processes=dict( 1662s area=dict(area_id="0.0.0.1"), 1662s priority=6, 1662s metric=7, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="rendered", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "0.0.0.1ge-0/0/2.0" 1662s "67", 1662s '' 1662s "10.200.16.75", 1662s ] 1662s > self.execute_module(changed=False, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:344: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospf_interfaces.py:607: in main 1662s result = Ospf_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:100: in execute_module 1662s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___ TestJunosLogging_globalModule.test_junos_logging_global_merged_hosts_05 ____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_merged_hosts_05(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s hosts=[ 1662s dict( 1662s name="host222", 1662s exclude_hostname=True, 1662s allow_duplicates=True, 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "host222" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:226: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __________ TestJunosOspfv3Module.test_junos_ospf_interfaces_replaced ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospf_interfaces_replaced(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s name="ge-0/0/2.0", 1662s address_family=[ 1662s dict( 1662s afi="ipv4", 1662s processes=dict( 1662s area=dict(area_id="0.0.0.1"), 1662s priority=6, 1662s metric=7, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:183: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospf_interfaces.py:607: in main 1662s result = Ospf_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1662s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosLogging_globalModule.test_junos_logging_global_merged_hosts_idempotent_06 _ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_merged_hosts_idempotent_06(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s hosts=[ 1662s dict( 1662s name="host111", 1662s exclude_hostname=True, 1662s allow_duplicates=True, 1662s any=dict(level="any"), 1662s structured_data=dict(set=True, brief=True), 1662s facility_override="ftp", 1662s log_prefix="field", 1662s match="^set*", 1662s match_strings=["^delete", "^prompt"], 1662s port=1231, 1662s routing_instance="inst11", 1662s source_address="11.11.11.11", 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:253: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____ TestJunosOspfv3Module.test_junos_ospf_interfaces_replaced_idempotent _____ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospf_interfaces_replaced_idempotent(self): 1662s self.get_connection.return_value = load_fixture( 1662s "junos_ospf_interfaces_config.cfg", 1662s ) 1662s src = load_fixture("junos_ospf_interfaces.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s name="ge-0/0/2.0", 1662s address_family=[ 1662s dict( 1662s afi="ipv4", 1662s processes=dict( 1662s area=dict(area_id="0.0.0.1"), 1662s priority=6, 1662s metric=7, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospf_interfaces.py:221: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospf_interfaces.py:607: in main 1662s result = Ospf_interfaces(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:107: in execute_module 1662s config_xmls = self.set_config(existing_ospf_interfaces_facts) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py:157: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosLogging_globalModule.test_junos_logging_global_merged_user_08 ____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_merged_user_08(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s users=[ 1662s dict(name="user1", allow_duplicates=True), 1662s dict( 1662s name="user2", 1662s allow_duplicates=True, 1662s any=dict(level="any"), 1662s user=dict(level="info"), 1662s ), 1662s ], 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:295: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosLogging_globalModule.test_junos_logging_global_overridden_user_10 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_overridden_user_10(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s users=[ 1662s dict(name="user1", allow_duplicates=True), 1662s dict( 1662s name="user2", 1662s allow_duplicates=True, 1662s any=dict(level="any"), 1662s user=dict(level="info"), 1662s ), 1662s ], 1662s ), 1662s state="overridden", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:361: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _______________ TestJunosOspfv2Module.test_junos_ospfv2_deleted ________________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv2_deleted(self): 1662s set_module_args( 1662s dict( 1662s config=[], 1662s state="deleted", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s '0.0.0.1000.0.0.200' 1662s '' 1662s '' 1662s '', 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv2.py:585: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv2.py:1168: in main 1662s result = Ospfv2(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospf_facts) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____ TestJunosLogging_globalModule.test_junos_logging_global_rendered_12 ______ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_rendered_12(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s archive=dict( 1662s set=True, 1662s files=10, 1662s file_size=65578, 1662s no_binary_data=True, 1662s no_world_readable=True, 1662s ), 1662s ), 1662s state="rendered", 1662s ), 1662s ) 1662s rendered = ( 1662s '' 1662s "10" 1662s "65578" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:404: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:101: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ________________ TestJunosOspfv2Module.test_junos_ospfv2_merged ________________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv2_merged(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s rfc1583compatibility="False", 1662s external_preference=10, 1662s overload=dict( 1662s allow_route_leaking=True, 1662s as_external=True, 1662s stub_network=True, 1662s timeout=1200, 1662s ), 1662s spf_options=dict( 1662s delay=3000, 1662s holddown=4000, 1662s rapid_runs=9, 1662s no_ignore_our_externals=True, 1662s ), 1662s prefix_export_limit=30000, 1662s areas=[ 1662s dict( 1662s area_id="0.0.0.100", 1662s stub=dict(default_metric=200, set=True), 1662s area_ranges=[ 1662s dict( 1662s address="10.200.17.0/24", 1662s exact=True, 1662s restrict=True, 1662s override_metric=2000, 1662s ), 1662s ], 1662s interfaces=[ 1662s dict( 1662s name="so-0/0/0.0", 1662s priority=3, 1662s metric=5, 1662s flood_reduction=False, 1662s passive=True, 1662s bandwidth_based_metrics=[ 1662s dict( 1662s bandwidth="1g", 1662s metric=5, 1662s ), 1662s ], 1662s timers=dict( 1662s dead_interval=4, 1662s hello_interval=2, 1662s poll_interval=2, 1662s retransmit_interval=2, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "30004000" 1662s "9" 1662s "1200" 1662s "10" 1662s "30000" 1662s "" 1662s "0.0.0.10010.200.17.0/24" 1662s "2000" 1662s "so-0/0/0.035" 1662s "1g5" 1662s "42" 1662s "22" 1662s "200", 1662s '' 1662s "10.200.16.75", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv2.py:188: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv2.py:1168: in main 1662s result = Ospfv2(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospf_facts) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___ TestJunosLogging_globalModule.test_junos_logging_global_replaced_user_09 ___ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_logging_global_replaced_user_09(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s users=[ 1662s dict(name="user1", allow_duplicates=True), 1662s dict( 1662s name="user2", 1662s allow_duplicates=True, 1662s any=dict(level="any"), 1662s user=dict(level="info"), 1662s ), 1662s ], 1662s ), 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_logging_global.py:326: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_logging_global.py:1738: in main 1662s result = Logging_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:107: in execute_module 1662s config_xmls = self.set_config(existing_logging_global_facts) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:145: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/logging_global/logging_global.py:157: in set_state 1662s self.root = build_root_xml_node("system") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____________ TestJunosOspfv2Module.test_junos_ospfv2_merged_areas _____________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv2_merged_areas(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s areas=[ 1662s dict( 1662s area_id="0.0.0.100", 1662s stub=dict(default_metric=200, set=True), 1662s area_ranges=[ 1662s dict( 1662s address="10.200.17.0/24", 1662s ), 1662s dict( 1662s address="10.200.18.0/24", 1662s ), 1662s ], 1662s interfaces=[ 1662s dict( 1662s name="so-0/1/0.0", 1662s bandwidth_based_metrics=[ 1662s dict( 1662s bandwidth="1g", 1662s metric=5, 1662s ), 1662s dict( 1662s bandwidth="10g", 1662s metric=5, 1662s ), 1662s ], 1662s ), 1662s dict( 1662s name="so-0/1/0.0", 1662s priority=3, 1662s ), 1662s ], 1662s ), 1662s dict( 1662s area_id="0.0.0.200", 1662s area_range="10.200.20.0/24", 1662s interfaces=[ 1662s dict( 1662s name="so-0/1/0.0", 1662s bandwidth_based_metrics=[ 1662s dict( 1662s bandwidth="1g", 1662s metric=5, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "0.0.0.100" 1662s "10.200.17.0/24" 1662s "10.200.18.0/24" 1662s "so-0/1/0.0" 1662s "1g5" 1662s "10g5" 1662s "so-0/1/0.03" 1662s "200" 1662s "0.0.0.20010.200.20.0/24" 1662s "so-0/1/0.0" 1662s "1g5" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv2.py:264: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv2.py:1168: in main 1662s result = Ospfv2(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospf_facts) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ______________ TestJunosOspfv2Module.test_junos_ospfv2_overridden ______________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv2_overridden(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s rfc1583compatibility="False", 1662s external_preference=10, 1662s overload=dict( 1662s allow_route_leaking=True, 1662s as_external=True, 1662s stub_network=True, 1662s timeout=1200, 1662s ), 1662s spf_options=dict( 1662s delay=3000, 1662s holddown=4000, 1662s rapid_runs=9, 1662s no_ignore_our_externals=True, 1662s ), 1662s prefix_export_limit=30000, 1662s areas=[ 1662s dict( 1662s area_id="0.0.0.100", 1662s stub=dict(default_metric=200, set=True), 1662s area_ranges=[ 1662s dict( 1662s address="10.200.17.0/24", 1662s exact=True, 1662s restrict=True, 1662s override_metric=2000, 1662s ), 1662s ], 1662s interfaces=[ 1662s dict( 1662s name="so-0/0/0.0", 1662s priority=3, 1662s metric=5, 1662s flood_reduction=False, 1662s passive=True, 1662s bandwidth_based_metrics=[ 1662s dict( 1662s bandwidth="1g", 1662s metric=5, 1662s ), 1662s ], 1662s timers=dict( 1662s dead_interval=4, 1662s hello_interval=2, 1662s poll_interval=2, 1662s retransmit_interval=2, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s '0.0.0.100' 1662s '0.0.0.200' 1662s '' 1662s '' 1662s '' 1662s "30004000" 1662s "9" 1662s "1200" 1662s "" 1662s "10" 1662s "30000" 1662s "0.0.0.100" 1662s "10.200.17.0/24" 1662s "2000" 1662s "so-0/0/0.035" 1662s "" 1662s "1g5" 1662s "42" 1662s "22" 1662s "200" 1662s "", 1662s '' 1662s "10.200.16.75", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv2.py:568: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv2.py:1168: in main 1662s result = Ospfv2(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospf_facts) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _______________ TestJunosOspfv2Module.test_junos_ospfv2_rendered _______________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv2_rendered(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s rfc1583compatibility="False", 1662s external_preference=10, 1662s overload=dict( 1662s allow_route_leaking=True, 1662s as_external=True, 1662s stub_network=True, 1662s timeout=1200, 1662s ), 1662s spf_options=dict( 1662s delay=3000, 1662s holddown=4000, 1662s rapid_runs=9, 1662s no_ignore_our_externals=True, 1662s ), 1662s prefix_export_limit=30000, 1662s areas=[ 1662s dict( 1662s area_id="0.0.0.100", 1662s stub=dict(default_metric=200, set=True), 1662s area_ranges=[ 1662s dict( 1662s address="10.200.17.0/24", 1662s exact=True, 1662s restrict=True, 1662s override_metric=2000, 1662s ), 1662s ], 1662s interfaces=[ 1662s dict( 1662s name="so-0/0/0.0", 1662s priority=3, 1662s metric=5, 1662s flood_reduction=False, 1662s passive=True, 1662s bandwidth_based_metrics=[ 1662s dict( 1662s bandwidth="1g", 1662s metric=5, 1662s ), 1662s ], 1662s timers=dict( 1662s dead_interval=4, 1662s hello_interval=2, 1662s poll_interval=2, 1662s retransmit_interval=2, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="rendered", 1662s ), 1662s ) 1662s rendered = ( 1662s '' 1662s "30004000" 1662s "9" 1662s "1200" 1662s "" 1662s "10" 1662s "30000" 1662s "0.0.0.100" 1662s "10.200.17.0/24" 1662s "2000" 1662s "so-0/0/0.0" 1662s "35" 1662s "1g" 1662s "5" 1662s "42" 1662s "2" 1662s "2" 1662s "200" 1662s "" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv2.py:807: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv2.py:1168: in main 1662s result = Ospfv2(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:106: in execute_module 1662s config_xmls = self.set_config(existing_ospf_facts) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ________ TestJunosPrefix_listsModule.test_junos_prefix_lists_merged_01 _________ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_prefix_lists_merged_01(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="Internal", 1662s address_prefixes=["172.16.1.32", "172.16.3.32"], 1662s ), 1662s dict(name="Test1", dynamic_db=True), 1662s dict( 1662s name="Test2", 1662s address_prefixes=[ 1662s "172.16.2.32", 1662s "172.16.7.32", 1662s "172.16.9.32", 1662s ], 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "Internal" 1662s "172.16.1.32" 1662s "172.16.3.32" 1662s "" 1662s "Test1" 1662s "Test2" 1662s "172.16.2.32" 1662s "172.16.7.32" 1662s "" 1662s "172.16.9.32" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_prefix_lists.py:125: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_prefix_lists.py:653: in main 1662s result = Prefix_lists(module).execute_module() 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1662s config_xmls = self.set_config(existing_prefix_lists_facts) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1662s self.root = build_root_xml_node("policy-options") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___ TestJunosPrefix_listsModule.test_junos_prefix_lists_merged_idempotent_01 ___ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_prefix_lists_merged_idempotent_01(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict(name="customer_64510"), 1662s dict( 1662s name="customer_64500", 1662s dynamic_db=True, 1662s address_prefixes=["172.16.1.16/28", "172.16.1.32/28"], 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_prefix_lists.py:142: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_prefix_lists.py:653: in main 1662s result = Prefix_lists(module).execute_module() 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1662s config_xmls = self.set_config(existing_prefix_lists_facts) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1662s self.root = build_root_xml_node("policy-options") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _______________ TestJunosOspfv2Module.test_junos_ospfv2_replaced _______________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv2_replaced(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s rfc1583compatibility="False", 1662s external_preference=10, 1662s overload=dict( 1662s allow_route_leaking=True, 1662s as_external=True, 1662s stub_network=True, 1662s timeout=1200, 1662s ), 1662s spf_options=dict( 1662s delay=3000, 1662s holddown=4000, 1662s rapid_runs=9, 1662s no_ignore_our_externals=True, 1662s ), 1662s prefix_export_limit=30000, 1662s areas=[ 1662s dict( 1662s area_id="0.0.0.100", 1662s stub=dict(default_metric=200, set=True), 1662s area_ranges=[ 1662s dict( 1662s address="10.200.17.0/24", 1662s exact=True, 1662s restrict=True, 1662s override_metric=2000, 1662s ), 1662s ], 1662s interfaces=[ 1662s dict( 1662s name="so-0/0/0.0", 1662s priority=3, 1662s metric=5, 1662s flood_reduction=False, 1662s passive=True, 1662s bandwidth_based_metrics=[ 1662s dict( 1662s bandwidth="1g", 1662s metric=5, 1662s ), 1662s ], 1662s timers=dict( 1662s dead_interval=4, 1662s hello_interval=2, 1662s poll_interval=2, 1662s retransmit_interval=2, 1662s ), 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s '0.0.0.1000.0.0.200' 1662s '' 1662s '' 1662s '' 1662s "300040009" 1662s "1200" 1662s "" 1662s "1030000" 1662s "0.0.0.10010.200.17.0/24" 1662s "2000" 1662s "so-0/0/0.035" 1662s "1g5" 1662s "42" 1662s "22" 1662s "200", 1662s '' 1662s "10.200.16.75", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv2.py:478: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv2.py:1168: in main 1662s result = Ospfv2(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospf_facts) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv2/ospfv2.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ______ TestJunosPrefix_listsModule.test_junos_prefix_lists_overridden_01 _______ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_prefix_lists_overridden_01(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="customer_65500", 1662s address_prefixes=["172.16.2.16/28", "172.16.1.32/28"], 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s 'customer_64510' 1662s 'customer_64500' 1662s "customer_65500" 1662s "172.16.2.16/28" 1662s "172.16.1.32/28" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_prefix_lists.py:217: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_prefix_lists.py:653: in main 1662s result = Prefix_lists(module).execute_module() 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1662s config_xmls = self.set_config(existing_prefix_lists_facts) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1662s self.root = build_root_xml_node("policy-options") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ________________ TestJunosOspfv3Module.test_junos_ospfv3_delete ________________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv3_delete(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s areas=[ 1662s dict( 1662s area_id="0.0.0.100", 1662s stub=dict(default_metric=200, set=True), 1662s interfaces=[dict(name="so-0/0/0.0")], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="deleted", 1662s ), 1662s ) 1662s 1662s commands = [ 1662s '' 1662s "0.0.0.100so-0/0/0.0" 1662s "200", 1662s '' 1662s "10.200.16.75", 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv3.py:332: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv3.py:748: in main 1662s result = Ospfv3(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospfv3_facts) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosPrefix_listsModule.test_junos_prefix_lists_overridden_idempotent_01 _ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_prefix_lists_overridden_idempotent_01(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict(name="customer_64510"), 1662s dict( 1662s name="customer_64500", 1662s dynamic_db=True, 1662s address_prefixes=["172.16.1.16/28", "172.16.1.32/28"], 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_prefix_lists.py:234: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_prefix_lists.py:653: in main 1662s result = Prefix_lists(module).execute_module() 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1662s config_xmls = self.set_config(existing_prefix_lists_facts) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1662s self.root = build_root_xml_node("policy-options") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __________ TestJunosOspfv3Module.test_junos_ospfv3_delete_idempotent ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv3_delete_idempotent(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.70", 1662s areas=[ 1662s dict( 1662s area_id="0.0.0.100", 1662s stub=dict(default_metric=200, set=True), 1662s interfaces=[dict(name="so-0/0/0.0")], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="deleted", 1662s ), 1662s ) 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv3.py:353: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv3.py:748: in main 1662s result = Ospfv3(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospfv3_facts) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _______ TestJunosPrefix_listsModule.test_junos_prefix_lists_rendered_01 ________ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_prefix_lists_rendered_01(self): 1662s """ 1662s :return: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="Internal", 1662s address_prefixes=["172.16.1.32", "172.16.3.32"], 1662s ), 1662s dict(name="Test1", dynamic_db=True), 1662s dict( 1662s name="Test2", 1662s address_prefixes=[ 1662s "172.16.2.32", 1662s "172.16.7.32", 1662s "172.16.9.32", 1662s ], 1662s ), 1662s ], 1662s state="rendered", 1662s ), 1662s ) 1662s 1662s rendered = ( 1662s '' 1662s "Internal" 1662s "172.16.1.32" 1662s "172.16.3.32" 1662s "" 1662s "Test1" 1662s "Test2" 1662s "172.16.2.32" 1662s "172.16.7.32" 1662s "" 1662s "172.16.9.32" 1662s "" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_prefix_lists.py:326: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_prefix_lists.py:653: in main 1662s result = Prefix_lists(module).execute_module() 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:96: in execute_module 1662s config_xmls = self.set_config(existing_prefix_lists_facts) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1662s self.root = build_root_xml_node("policy-options") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ________________ TestJunosOspfv3Module.test_junos_ospfv3_merged ________________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv3_merged(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s areas=[ 1662s dict( 1662s area_id="0.0.0.100", 1662s stub=dict(default_metric=200, set=True), 1662s interfaces=[ 1662s dict( 1662s name="so-0/0/0.0", 1662s priority=3, 1662s metric=5, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "0.0.0.100so-0/0/0.0" 1662s "35" 1662s "200", 1662s '' 1662s "10.200.16.75", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv3.py:131: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv3.py:748: in main 1662s result = Ospfv3(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospfv3_facts) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _______ TestJunosPrefix_listsModule.test_junos_prefix_lists_replaced_01 ________ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_prefix_lists_replaced_01(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="customer_64510", 1662s address_prefixes=["172.16.1.32/28", "172.16.3.32/28"], 1662s ), 1662s dict( 1662s name="customer_64500", 1662s address_prefixes=["172.16.2.16/28", "172.16.1.32/28"], 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s 'customer_64510' 1662s '' 1662s "customer_64500" 1662s "customer_64510" 1662s "172.16.1.32/28" 1662s "" 1662s "172.16.3.32/28" 1662s "customer_64500" 1662s "172.16.2.16/28" 1662s "172.16.1.32/28" 1662s "", 1662s ] 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_prefix_lists.py:176: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_prefix_lists.py:653: in main 1662s result = Prefix_lists(module).execute_module() 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1662s config_xmls = self.set_config(existing_prefix_lists_facts) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1662s self.root = build_root_xml_node("policy-options") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosPrefix_listsModule.test_junos_prefix_lists_replaced_idempotent_01 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_prefix_lists_replaced_idempotent_01(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict(name="customer_64510"), 1662s dict( 1662s name="customer_64500", 1662s dynamic_db=True, 1662s address_prefixes=["172.16.1.16/28", "172.16.1.32/28"], 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_prefix_lists.py:193: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_prefix_lists.py:653: in main 1662s result = Prefix_lists(module).execute_module() 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:104: in execute_module 1662s config_xmls = self.set_config(existing_prefix_lists_facts) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:141: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py:152: in set_state 1662s self.root = build_root_xml_node("policy-options") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __________ TestJunosOspfv3Module.test_junos_ospfv3_merged_idempotent ___________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv3_merged_idempotent(self): 1662s self.get_connection.return_value = load_fixture( 1662s "junos_ospfv3_config.cfg", 1662s ) 1662s src = load_fixture("junos_ospfv3.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="30", 1662s areas=[ 1662s dict( 1662s area_id="100", 1662s stub=dict(default_metric=10, set=True), 1662s interfaces=[ 1662s dict( 1662s name="so-0/0/0.0", 1662s priority=3, 1662s metric=5, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv3.py:163: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv3.py:748: in main 1662s result = Ospfv3(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospfv3_facts) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosRouting_instancesModule.test_junos_routing_instances_deleted _____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_instances_deleted(self): 1662s """ 1662s :return: 1662s """ 1662s set_module_args(dict(config=[], state="deleted")) 1662s 1662s commands = [ 1662s '' 1662s '', 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_instances.py:411: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_instances.py:796: in main 1662s result = Routing_instances(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1662s config_xmls = self.set_config(existing_routing_instances_facts) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1662s self.root = build_root_xml_node("routing-instances") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ______________ TestJunosOspfv3Module.test_junos_ospfv3_overridden ______________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv3_overridden(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s areas=[ 1662s dict( 1662s area_id="0.0.0.100", 1662s stub=dict(default_metric=200, set=True), 1662s interfaces=[ 1662s dict( 1662s name="so-0/0/0.0", 1662s priority=3, 1662s metric=5, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "0.0.0.100so-0/0/0.0" 1662s "3" 1662s "5" 1662s "200", 1662s '' 1662s "10.200.16.75", 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv3.py:270: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv3.py:748: in main 1662s result = Ospfv3(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospfv3_facts) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosRouting_instancesModule.test_junos_routing_instances_delted_single_entry _ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_instances_delted_single_entry(self): 1662s """ 1662s :return: 1662s """ 1662s set_module_args( 1662s dict(config=[dict(name="forwardinst")], state="deleted"), 1662s ) 1662s 1662s commands = [ 1662s '' 1662s 'forwardinst', 1662s ] 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_instances.py:426: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_instances.py:796: in main 1662s result = Routing_instances(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1662s config_xmls = self.set_config(existing_routing_instances_facts) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1662s self.root = build_root_xml_node("routing-instances") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ________ TestJunosOspfv3Module.test_junos_ospfv3_overridden_idempotent _________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv3_overridden_idempotent(self): 1662s self.get_connection.return_value = load_fixture( 1662s "junos_ospfv3_config.cfg", 1662s ) 1662s src = load_fixture("junos_ospfv3.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="30", 1662s areas=[ 1662s dict( 1662s area_id="100", 1662s stub=dict(default_metric=10, set=True), 1662s interfaces=[ 1662s dict( 1662s name="so-0/0/0.0", 1662s priority=3, 1662s metric=5, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv3.py:303: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv3.py:748: in main 1662s result = Ospfv3(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospfv3_facts) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosRouting_instancesModule.test_junos_routing_instances_domains_merged _ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_instances_domains_merged(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="EVPN", 1662s type="virtual-switch", 1662s route_distinguisher="10.0.0.21:444", 1662s bridge_domains=[ 1662s dict( 1662s name="BD456", 1662s vlan_id=456, 1662s enable_mac_move_action=True, 1662s mcae_mac_flush=True, 1662s no_local_switching=True, 1662s service_id=20, 1662s ), 1662s dict( 1662s name="BD457", 1662s vlan_id=457, 1662s ), 1662s ], 1662s ), 1662s dict( 1662s name="mgmt_junos", 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "EVPN" 1662s "virtual-switch" 1662s "" 1662s "BD456" 1662s "20" 1662s "456" 1662s "" 1662s "" 1662s "" 1662s "" 1662s "BD457" 1662s "457" 1662s "10.0.0.21:444" 1662s "mgmt_junos", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_instances.py:145: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_instances.py:796: in main 1662s result = Routing_instances(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1662s config_xmls = self.set_config(existing_routing_instances_facts) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1662s self.root = build_root_xml_node("routing-instances") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _______________ TestJunosOspfv3Module.test_junos_ospfv3_rendered _______________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv3_rendered(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s areas=[ 1662s dict( 1662s area_id="0.0.0.100", 1662s stub=dict(default_metric=200, set=True), 1662s interfaces=[ 1662s dict( 1662s name="so-0/0/0.0", 1662s priority=3, 1662s metric=5, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="rendered", 1662s ), 1662s ) 1662s commands = ( 1662s '' 1662s "0.0.0.100so-0/0/0.0" 1662s "35" 1662s "200" 1662s ) 1662s > self.execute_module(changed=False, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv3.py:403: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv3.py:748: in main 1662s result = Ospfv3(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:106: in execute_module 1662s config_xmls = self.set_config(existing_ospfv3_facts) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____ TestJunosRouting_instancesModule.test_junos_routing_instances_merged _____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_instances_merged(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="test", 1662s type="vrf", 1662s route_distinguisher="10.58.255.1:37", 1662s vrf_imports=["test-policy"], 1662s vrf_exports=["test-policy", "test-policy-1"], 1662s interfaces=[ 1662s dict(name="sp-0/0/0.0"), 1662s dict(name="gr-0/0/0.0"), 1662s ], 1662s connector_id_advertise=True, 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s commands = [ 1662s '' 1662s "test" 1662s "vrfsp-0/0/0.0" 1662s "gr-0/0/0.0" 1662s "10.58.255.1:37" 1662s "test-policy" 1662s "test-policytest-policy-1" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_instances.py:178: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_instances.py:796: in main 1662s result = Routing_instances(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1662s config_xmls = self.set_config(existing_routing_instances_facts) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1662s self.root = build_root_xml_node("routing-instances") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _______________ TestJunosOspfv3Module.test_junos_ospfv3_replaced _______________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv3_replaced(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="10.200.16.75", 1662s areas=[ 1662s dict( 1662s area_id="0.0.0.100", 1662s stub=dict(default_metric=200, set=True), 1662s interfaces=[ 1662s dict( 1662s name="so-0/0/0.0", 1662s priority=3, 1662s metric=5, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv3.py:189: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv3.py:748: in main 1662s result = Ospfv3(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospfv3_facts) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosRouting_instancesModule.test_junos_routing_instances_merged_idempotent _ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_instances_merged_idempotent(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="forwardinst", 1662s type="forwarding", 1662s description="Configured by Ansible Content Team", 1662s ), 1662s ], 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_instances.py:194: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_instances.py:796: in main 1662s result = Routing_instances(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1662s config_xmls = self.set_config(existing_routing_instances_facts) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1662s self.root = build_root_xml_node("routing-instances") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___ TestJunosRouting_instancesModule.test_junos_routing_instances_overridden ___ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_instances_overridden(self): 1662s """ 1662s :return: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="test1", 1662s type="vrf", 1662s route_distinguisher="10.58.255.1:37", 1662s vrf_imports=["test-policy"], 1662s vrf_exports=["test-policy", "test-policy-1"], 1662s interfaces=[ 1662s dict(name="sp-0/0/0.0"), 1662s dict(name="gr-0/0/0.0"), 1662s ], 1662s connector_id_advertise=True, 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s 1662s commands = [ 1662s '' 1662s 'forwardinst' 1662s "test1" 1662s "vrfsp-0/0/0.0" 1662s "gr-0/0/0.0" 1662s "10.58.255.1:37" 1662s "test-policytest-policy" 1662s "test-policy-1", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_instances.py:293: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_instances.py:796: in main 1662s result = Routing_instances(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1662s config_xmls = self.set_config(existing_routing_instances_facts) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1662s self.root = build_root_xml_node("routing-instances") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _________ TestJunosOspfv3Module.test_junos_ospfv3_replaced_idempotent __________ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_ospfv3_replaced_idempotent(self): 1662s self.get_connection.return_value = load_fixture( 1662s "junos_ospfv3_config.cfg", 1662s ) 1662s src = load_fixture("junos_ospfv3.cfg", content="str") 1662s set_module_args(dict(src=src)) 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s router_id="30", 1662s areas=[ 1662s dict( 1662s area_id="100", 1662s stub=dict(default_metric=10, set=True), 1662s interfaces=[ 1662s dict( 1662s name="so-0/0/0.0", 1662s priority=3, 1662s metric=5, 1662s ), 1662s ], 1662s ), 1662s ], 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s 1662s > self.execute_module(changed=False, commands=[]) 1662s 1662s tests/unit/modules/network/junos/test_junos_ospfv3.py:235: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_ospfv3.py:748: in main 1662s result = Ospfv3(module).execute_module() 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:113: in execute_module 1662s config_xmls = self.set_config(existing_ospfv3_facts) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:150: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/ospfv3/ospfv3.py:163: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosRouting_optionsModule.test_junos_routing_options_replaced_01 _____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_options_replaced_01(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s autonomous_system=dict( 1662s as_number="1", 1662s loops=4, 1662s asdot_notation=True, 1662s ), 1662s ), 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_options.py:166: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_options.py:397: in main 1662s result = Routing_options(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:106: in execute_module 1662s config_xmls = self.set_config(existing_routing_options_facts) 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosRouting_instancesModule.test_junos_routing_instances_overridden_idempotent _ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_instances_overridden_idempotent(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="forwardinst", 1662s type="forwarding", 1662s description="Configured by Ansible Content Team", 1662s ), 1662s ], 1662s state="overridden", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_instances.py:309: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_instances.py:796: in main 1662s result = Routing_instances(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1662s config_xmls = self.set_config(existing_routing_instances_facts) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1662s self.root = build_root_xml_node("routing-instances") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosRouting_instancesModule.test_junos_routing_instances_rendered ____ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_instances_rendered(self): 1662s """ 1662s :return: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="test", 1662s type="vrf", 1662s route_distinguisher="10.58.255.1:37", 1662s vrf_imports=["test-policy"], 1662s vrf_exports=["test-policy", "test-policy-1"], 1662s interfaces=[ 1662s dict(name="sp-0/0/0.0"), 1662s dict(name="gr-0/0/0.0"), 1662s ], 1662s connector_id_advertise=True, 1662s ), 1662s ], 1662s state="rendered", 1662s ), 1662s ) 1662s 1662s rendered = ( 1662s '' 1662s "test" 1662s "vrfsp-0/0/0.0" 1662s "gr-0/0/0.0" 1662s "10.58.255.1:37" 1662s "test-policy" 1662s "test-policytest-policy-1" 1662s "" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_instances.py:346: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_instances.py:796: in main 1662s result = Routing_instances(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:97: in execute_module 1662s config_xmls = self.set_config(existing_routing_instances_facts) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1662s self.root = build_root_xml_node("routing-instances") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosRouting_instancesModule.test_junos_routing_instances_rendered_02 ___ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_instances_rendered_02(self): 1662s """ 1662s :return: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="test", 1662s type="mac-vrf", 1662s route_distinguisher="10.58.255.1:37", 1662s vrf_imports=["test-policy"], 1662s vrf_exports=["test-policy", "test-policy-1"], 1662s interfaces=[ 1662s dict(name="sp-0/0/0.0"), 1662s dict(name="gr-0/0/0.0"), 1662s ], 1662s connector_id_advertise=True, 1662s ), 1662s ], 1662s state="rendered", 1662s ), 1662s ) 1662s 1662s rendered = ( 1662s '' 1662s "test" 1662s "mac-vrfsp-0/0/0.0" 1662s "gr-0/0/0.0" 1662s "10.58.255.1:37" 1662s "test-policy" 1662s "test-policytest-policy-1" 1662s "" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_instances.py:383: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_instances.py:796: in main 1662s result = Routing_instances(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:97: in execute_module 1662s config_xmls = self.set_config(existing_routing_instances_facts) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1662s self.root = build_root_xml_node("routing-instances") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___ TestJunosSecurity_policiesModule.test_junos_security_policies_merged_01 ____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_merged_01(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "from_zones": [ 1662s { 1662s "name": "one", 1662s "to_zones": [ 1662s { 1662s "name": "two", 1662s "policies": [ 1662s { 1662s "match": { 1662s "application": { 1662s "names": [ 1662s "junos-dhcp-relay", 1662s "junos-finger", 1662s ], 1662s }, 1662s "destination_address": { 1662s "addresses": ["a2", "a4"], 1662s }, 1662s "destination_address_excluded": True, 1662s "dynamic_application": { 1662s "any": True, 1662s }, 1662s "source_address": { 1662s "addresses": ["a1", "a3"], 1662s }, 1662s "source_address_excluded": True, 1662s "source_end_user_profile": "test_end_user_profile", 1662s "source_identity": { 1662s "unknown_user": True, 1662s }, 1662s "url_category": { 1662s "names": [ 1662s "Enhanced_Web_Chat", 1662s "Enhanced_Web_Collaboration", 1662s ], 1662s }, 1662s }, 1662s "name": "test_policy_1", 1662s "then": { 1662s "count": True, 1662s "deny": True, 1662s "log": {"session_close": True}, 1662s }, 1662s }, 1662s { 1662s "match": { 1662s "application": { 1662s "names": [ 1662s "junos-dhcp-relay", 1662s ], 1662s }, 1662s "destination_address": { 1662s "addresses": ["a2"], 1662s }, 1662s "source_address": { 1662s "addresses": ["a1"], 1662s }, 1662s }, 1662s "name": "test_policy_2", 1662s "then": { 1662s "reject": { 1662s "enable": True, 1662s "profile": "test_dyn_app", 1662s "ssl_proxy": { 1662s "enable": True, 1662s "profile_name": "SECURITY-SSL-PROXY", 1662s }, 1662s }, 1662s }, 1662s }, 1662s ], 1662s }, 1662s { 1662s "name": "three", 1662s "policies": [ 1662s { 1662s "match": { 1662s "application": { 1662s "names": [ 1662s "junos-dhcp-relay", 1662s ], 1662s }, 1662s "destination_address": { 1662s "addresses": ["a2"], 1662s }, 1662s "source_address": { 1662s "addresses": ["a1"], 1662s }, 1662s }, 1662s "name": "test_policy_3", 1662s "then": { 1662s "permit": { 1662s "destination_address": "drop-translated", 1662s "application_services": { 1662s "advanced_anti_malware_policy": "test_anti_malware", 1662s "application_traffic_control_rule_set": "test_traffic_control", 1662s "gprs_gtp_profile": "gtp1", 1662s "gprs_sctp_profile": "sctp1", 1662s "icap_redirect": "test_icap", 1662s "idp_policy": "test_idp", 1662s "reverse_redirect_wx": True, 1662s "ssl_proxy": { 1662s "enable": True, 1662s "profile_name": "SECURITY-SSL-PROXY", 1662s }, 1662s "uac_policy": { 1662s "enable": True, 1662s }, 1662s "utm_policy": "test_utm", 1662s }, 1662s "firewall_authentication": { 1662s "pass_through": { 1662s "access_profile": "WEBAUTH", 1662s "auth_only_browser": True, 1662s "auth_user_agent": "Opera1", 1662s "client_match": "test-client", 1662s "ssl_termination_profile": "test_ssl_term", 1662s "web_redirect": True, 1662s "web_redirect_to_https": True, 1662s }, 1662s "push_to_identity_management": True, 1662s "user_firewall": { 1662s "access_profile": "WEBAUTH", 1662s "auth_only_browser": True, 1662s "auth_user_agent": "Opera1", 1662s "ssl_termination_profile": "test_ssl_term", 1662s "web_redirect": True, 1662s "web_redirect_to_https": True, 1662s }, 1662s "web_authentication": [ 1662s "FWClient1", 1662s "FWClient2", 1662s ], 1662s }, 1662s "tcp_options": { 1662s "initial_tcp_mss": 64, 1662s "reverse_tcp_mss": 64, 1662s "window_scale": True, 1662s }, 1662s }, 1662s }, 1662s }, 1662s ], 1662s }, 1662s ], 1662s }, 1662s ], 1662s "global": { 1662s "policies": [ 1662s { 1662s "match": { 1662s "application": { 1662s "names": ["junos-dhcp-relay"], 1662s }, 1662s "destination_address": { 1662s "addresses": ["a2"], 1662s }, 1662s "source_address": {"addresses": ["a1"]}, 1662s }, 1662s "name": "test_glob_1", 1662s "then": {"deny": True}, 1662s }, 1662s { 1662s "match": { 1662s "application": { 1662s "names": ["junos-dhcp-relay"], 1662s }, 1662s "destination_address": { 1662s "addresses": ["a2"], 1662s }, 1662s "source_address": {"addresses": ["a1"]}, 1662s }, 1662s "name": "test_glob_2", 1662s "then": {"deny": True}, 1662s }, 1662s ], 1662s }, 1662s }, 1662s state="merged", 1662s ), 1662s ) 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies.py:295: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies.py:2700: in main 1662s result = Security_policies(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:106: in execute_module 1662s config_xmls = self.set_config(existing_security_policies_facts) 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:154: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosRouting_instancesModule.test_junos_routing_instances_replaced ____ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_instances_replaced(self): 1662s """ 1662s :return: 1662s """ 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="test", 1662s type="vrf", 1662s route_distinguisher="10.58.255.1:37", 1662s vrf_imports=["test-policy"], 1662s vrf_exports=["test-policy", "test-policy-1"], 1662s interfaces=[ 1662s dict(name="sp-0/0/0.0"), 1662s dict(name="gr-0/0/0.0"), 1662s ], 1662s connector_id_advertise=True, 1662s ), 1662s dict( 1662s name="forwardinst", 1662s type="forwarding", 1662s description="Replaced and Configured by Ansible Content Team", 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s 1662s commands = [ 1662s '' 1662s 'forwardinst' 1662s "test" 1662s "vrfsp-0/0/0.0" 1662s "gr-0/0/0.0" 1662s "10.58.255.1:37" 1662s "test-policy" 1662s "test-policytest-policy-1" 1662s "forwardinst" 1662s "Replaced and Configured by Ansible Content Team" 1662s "forwarding" 1662s "", 1662s ] 1662s > result = self.execute_module(changed=True, commands=commands) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_instances.py:240: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_instances.py:796: in main 1662s result = Routing_instances(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1662s config_xmls = self.set_config(existing_routing_instances_facts) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1662s self.root = build_root_xml_node("routing-instances") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosRouting_instancesModule.test_junos_routing_instances_replaced_idempotent _ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_instances_replaced_idempotent(self): 1662s set_module_args( 1662s dict( 1662s config=[ 1662s dict( 1662s name="forwardinst", 1662s type="forwarding", 1662s description="Configured by Ansible Content Team", 1662s ), 1662s ], 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_instances.py:256: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_instances.py:796: in main 1662s result = Routing_instances(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:105: in execute_module 1662s config_xmls = self.set_config(existing_routing_instances_facts) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:143: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_instances/routing_instances.py:155: in set_state 1662s self.root = build_root_xml_node("routing-instances") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ___ TestJunosSecurity_policiesModule.test_junos_security_policies_merged_02 ____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_merged_02(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "from_zones": [ 1662s { 1662s "name": "one", 1662s "to_zones": [ 1662s { 1662s "name": "two", 1662s "policies": [ 1662s { 1662s "match": { 1662s "application": {"any": True}, 1662s "destination_address": { 1662s "any_ipv4": True, 1662s "any_ipv6": True, 1662s "any": True, 1662s }, 1662s "dynamic_application": { 1662s "names": [ 1662s "test1", 1662s "test2", 1662s ], 1662s "none": True, 1662s }, 1662s "source_address": { 1662s "any_ipv4": True, 1662s "any_ipv6": True, 1662s "any": True, 1662s }, 1662s "source_identity": { 1662s "unknown_user": True, 1662s "unauthenticated_user": True, 1662s "authenticated_user": True, 1662s "names": ["test1"], 1662s }, 1662s "url_category": { 1662s "any": True, 1662s "none": True, 1662s }, 1662s }, 1662s "name": "test_policy_1", 1662s "then": { 1662s "count": True, 1662s "deny": True, 1662s "log": {"session_init": True}, 1662s }, 1662s }, 1662s ], 1662s }, 1662s { 1662s "name": "three", 1662s "policies": [ 1662s { 1662s "match": { 1662s "application": { 1662s "names": [ 1662s "junos-dhcp-relay", 1662s ], 1662s }, 1662s "destination_address": { 1662s "any": True, 1662s }, 1662s "source_address": { 1662s "any": True, 1662s }, 1662s }, 1662s "name": "test_policy_3", 1662s "then": { 1662s "permit": { 1662s "application_services": { 1662s "idp": True, 1662s "redirect_wx": True, 1662s "uac_policy": { 1662s "captive_portal": "test", 1662s }, 1662s }, 1662s "firewall_authentication": { 1662s "user_firewall": { 1662s "domain": "test", 1662s }, 1662s }, 1662s "destination_address": "drop-untranslated", 1662s "tunnel": { 1662s "ipsec_vpn": "test_vpn", 1662s "pair_policy": "test_policy", 1662s }, 1662s }, 1662s }, 1662s }, 1662s ], 1662s }, 1662s ], 1662s }, 1662s ], 1662s }, 1662s state="merged", 1662s ), 1662s ) 1662s 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies.py:450: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies.py:2700: in main 1662s result = Security_policies(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:106: in execute_module 1662s config_xmls = self.set_config(existing_security_policies_facts) 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:154: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____ TestJunosRouting_optionsModule.test_junos_routing_options_merged_01 ______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_options_merged_01(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s autonomous_system=dict( 1662s as_number="2", 1662s loops=4, 1662s asdot_notation=True, 1662s ), 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_options.py:103: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_options.py:397: in main 1662s result = Routing_options(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:106: in execute_module 1662s config_xmls = self.set_config(existing_routing_options_facts) 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosRouting_optionsModule.test_junos_routing_options_merged_idempotent __ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_options_merged_idempotent(self): 1662s self.execute_show_command.return_value = load_fixture( 1662s "junos_routing_options_config.cfg", 1662s ) 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s router_id="12.12.12.13", 1662s autonomous_system=dict(as_number="1"), 1662s ), 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_options.py:122: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_options.py:397: in main 1662s result = Routing_options(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:106: in execute_module 1662s config_xmls = self.set_config(existing_routing_options_facts) 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosSecurity_policiesModule.test_junos_security_policies_overridden_01 __ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_overridden_01(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "global": { 1662s "policies": [ 1662s { 1662s "description": "test update", 1662s "match": { 1662s "application": {"any": True}, 1662s "destination_address": {"any_ipv6": True}, 1662s "source_address": {"any": True}, 1662s }, 1662s "name": "test_glob_3", 1662s "then": {"deny": True}, 1662s }, 1662s ], 1662s }, 1662s }, 1662s state="overridden", 1662s ), 1662s ) 1662s commands = ( 1662s '' 1662s "test_glob_3test updateany" 1662s "any-ipv6any" 1662s "" 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies.py:825: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies.py:2700: in main 1662s result = Security_policies(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:106: in execute_module 1662s config_xmls = self.set_config(existing_security_policies_facts) 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:154: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____ TestJunosRouting_optionsModule.test_junos_routing_options_overridden _____ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_options_overridden(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s autonomous_system=dict( 1662s as_number="1", 1662s loops=4, 1662s asdot_notation=True, 1662s ), 1662s ), 1662s state="overridden", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_options.py:207: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_options.py:397: in main 1662s result = Routing_options(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:106: in execute_module 1662s config_xmls = self.set_config(existing_routing_options_facts) 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosSecurity_policiesModule.test_junos_security_policies_rendered ____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_rendered(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "global": { 1662s "policies": [ 1662s { 1662s "description": "test update", 1662s "match": { 1662s "application": {"any": True}, 1662s "destination_address": {"any_ipv6": True}, 1662s "source_address": {"any": True}, 1662s }, 1662s "name": "test_glob_3", 1662s "then": {"deny": True}, 1662s }, 1662s ], 1662s }, 1662s }, 1662s state="rendered", 1662s ), 1662s ) 1662s rendered = ( 1662s '' 1662s "test_glob_3test update" 1662s "anyany-ipv6" 1662s "any" 1662s "" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies.py:1055: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies.py:2700: in main 1662s result = Security_policies(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:100: in execute_module 1662s config_xmls = self.set_config(existing_security_policies_facts) 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:154: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ______ TestJunosRouting_optionsModule.test_junos_routing_options_rendered ______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_routing_options_rendered(self): 1662s set_module_args( 1662s dict( 1662s config=dict( 1662s autonomous_system=dict( 1662s as_number="2", 1662s loops=4, 1662s asdot_notation=True, 1662s ), 1662s router_id="12.12.12.12", 1662s ), 1662s state="rendered", 1662s ), 1662s ) 1662s rendered = ( 1662s '' 1662s "24" 1662s "12.12.12.12" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_routing_options.py:191: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_routing_options.py:397: in main 1662s result = Routing_options(module).execute_module() 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:100: in execute_module 1662s config_xmls = self.set_config(existing_routing_options_facts) 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:144: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/routing_options/routing_options.py:156: in set_state 1662s self.root = build_root_xml_node("configuration") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s __ TestJunosSecurity_policiesModule.test_junos_security_policies_replaced_01 ___ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_replaced_01(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "global": { 1662s "policies": [ 1662s { 1662s "description": "test update", 1662s "match": { 1662s "application": {"any": True}, 1662s "destination_address": {"any_ipv6": True}, 1662s "source_address": {"any": True}, 1662s }, 1662s "name": "test_glob_3", 1662s "then": {"deny": True}, 1662s }, 1662s ], 1662s }, 1662s }, 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies.py:1080: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies.py:2700: in main 1662s result = Security_policies(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:106: in execute_module 1662s config_xmls = self.set_config(existing_security_policies_facts) 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies/security_policies.py:154: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_merged_01 _ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_global_merged_01(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "default_policy": "permit-all", 1662s "policy_rematch": {"enable": True, "extensive": True}, 1662s "policy_stats": {"enable": True, "system_wide": True}, 1662s "pre_id_default_policy_action": { 1662s "log": {"session_init": True, "session_close": True}, 1662s "session_timeout": {"icmp": 10, "others": 10}, 1662s }, 1662s "traceoptions": { 1662s "file": { 1662s "files": 3, 1662s "match": "/[A-Z]*/gm", 1662s "no_world_readable": True, 1662s "size": "10k", 1662s }, 1662s "flag": "all", 1662s "no_remote_trace": True, 1662s }, 1662s }, 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies_global.py:136: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies_global.py:989: in main 1662s result = Security_policies_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1662s config_xmls = self.set_config( 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_merged_02 _ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_global_merged_02(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "default_policy": "deny-all", 1662s "policy_rematch": {"enable": True, "extensive": True}, 1662s "policy_stats": {"enable": True, "system_wide": False}, 1662s "pre_id_default_policy_action": { 1662s "log": {"session_init": True}, 1662s "session_timeout": { 1662s "icmp": 10, 1662s "others": 10, 1662s "icmp6": 10, 1662s "ospf": 10, 1662s "tcp": 10, 1662s "udp": 10, 1662s }, 1662s }, 1662s "traceoptions": { 1662s "file": { 1662s "files": 3, 1662s "match": "/[A-Z]*/gm", 1662s "world_readable": True, 1662s "size": "10k", 1662s }, 1662s "flag": "configuration", 1662s "no_remote_trace": True, 1662s }, 1662s }, 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies_global.py:185: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies_global.py:989: in main 1662s result = Security_policies_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1662s config_xmls = self.set_config( 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_rendered _ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_global_rendered(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "default_policy": "permit-all", 1662s "policy_rematch": {"enable": True, "extensive": True}, 1662s "policy_stats": {"enable": True, "system_wide": True}, 1662s "pre_id_default_policy_action": { 1662s "log": {"session_init": True}, 1662s "session_timeout": {"icmp": 10, "others": 10}, 1662s }, 1662s "traceoptions": { 1662s "file": { 1662s "files": 3, 1662s "match": "/[A-Z]*/gm", 1662s "no_world_readable": True, 1662s "size": "10k", 1662s }, 1662s "flag": "routing-socket", 1662s "no_remote_trace": True, 1662s }, 1662s }, 1662s state="rendered", 1662s ), 1662s ) 1662s rendered = ( 1662s '' 1662s " " 1662s " enable" 1662s "" 1662s "1010" 1662s "3" 1662s "/[A-Z]*/gm10k" 1662s "routing-socket" 1662s "" 1662s ) 1662s > result = self.execute_module(changed=False) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies_global.py:590: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies_global.py:989: in main 1662s result = Security_policies_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:100: in execute_module 1662s config_xmls = self.set_config( 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_merged_03 _ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_global_merged_03(self): 1662s set_module_args( 1662s dict( 1662s config={"traceoptions": {"flag": "compilation"}}, 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies_global.py:209: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies_global.py:989: in main 1662s result = Security_policies_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1662s config_xmls = self.set_config( 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_replaced_01 _ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_global_replaced_01(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "default_policy": "permit-all", 1662s "policy_rematch": {"enable": True, "extensive": True}, 1662s "policy_stats": {"enable": True, "system_wide": True}, 1662s "pre_id_default_policy_action": { 1662s "log": {"session_init": True}, 1662s "session_timeout": {"icmp": 10, "others": 10}, 1662s }, 1662s "traceoptions": { 1662s "file": { 1662s "files": 3, 1662s "match": "/[A-Z]*/gm", 1662s "no_world_readable": True, 1662s "size": "10k", 1662s }, 1662s "flag": "rules", 1662s "no_remote_trace": True, 1662s }, 1662s }, 1662s state="replaced", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies_global.py:623: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies_global.py:989: in main 1662s result = Security_policies_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1662s config_xmls = self.set_config( 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_merged_04 _ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_global_merged_04(self): 1662s set_module_args( 1662s dict(config={"traceoptions": {"flag": "lookup"}}, state="merged"), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies_global.py:224: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies_global.py:989: in main 1662s result = Security_policies_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1662s config_xmls = self.set_config( 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _ TestJunosSecurity_policies_globalModule.test_junos_security_policies_global_overridden_01 _ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_policies_global_overridden_01(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "default_policy": "permit-all", 1662s "policy_rematch": {"enable": True, "extensive": True}, 1662s "policy_stats": {"enable": True, "system_wide": True}, 1662s "pre_id_default_policy_action": { 1662s "log": {"session_init": True}, 1662s "session_timeout": {"icmp": 10, "others": 10}, 1662s }, 1662s "traceoptions": { 1662s "file": { 1662s "files": 3, 1662s "match": "/[A-Z]*/gm", 1662s "no_world_readable": True, 1662s "size": "10k", 1662s }, 1662s "flag": "ipc", 1662s "no_remote_trace": True, 1662s }, 1662s }, 1662s state="overridden", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_policies_global.py:509: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_policies_global.py:989: in main 1662s result = Security_policies_global(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:108: in execute_module 1662s config_xmls = self.set_config( 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:146: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py:158: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ______ TestJunosSecurity_zonesModule.test_junos_security_zones_merged_01 _______ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_zones_merged_01(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "functional_zone_management": { 1662s "description": "test description", 1662s "host_inbound_traffic": { 1662s "protocols": [ 1662s {"name": "all"}, 1662s {"except": True, "name": "bgp"}, 1662s ], 1662s "system_services": [ 1662s {"name": "all"}, 1662s {"except": True, "name": "dhcp"}, 1662s ], 1662s }, 1662s "interfaces": ["ge-0/0/1.0", "ge-0/0/2.0"], 1662s "screen": "test_screen", 1662s }, 1662s "zones": [ 1662s { 1662s "address_book": { 1662s "address_sets": [ 1662s { 1662s "addresses": [ 1662s "test_adr1", 1662s "test_adr2", 1662s ], 1662s "name": "test_adrset1", 1662s }, 1662s { 1662s "addresses": [ 1662s "test_adr3", 1662s "test_adr4", 1662s ], 1662s "name": "test_adrset2", 1662s }, 1662s { 1662s "address_sets": [ 1662s "test_adrset1", 1662s "test_adrset2", 1662s ], 1662s "addresses": ["test_adr5"], 1662s "description": "test description", 1662s "name": "test_adrset3", 1662s }, 1662s ], 1662s "addresses": [ 1662s { 1662s "description": "test desc", 1662s "ip_prefix": "10.0.0.0/24", 1662s "name": "test_adr1", 1662s }, 1662s { 1662s "dns_name": { 1662s "ipv6_only": True, 1662s "name": "1.1.1.1", 1662s }, 1662s "name": "test_adr2", 1662s }, 1662s { 1662s "name": "test_adr3", 1662s "range_address": { 1662s "from": "10.2.0.1", 1662s "to": "10.2.0.2", 1662s }, 1662s }, 1662s { 1662s "name": "test_adr4", 1662s "wildcard_address": "10.3.0.1/24", 1662s }, 1662s { 1662s "description": "test desc", 1662s "ip_prefix": "10.1.0.0/24", 1662s "name": "test_adr5", 1662s }, 1662s ], 1662s }, 1662s "advance_policy_based_routing_profile": "test_profile", 1662s "advanced_connection_tracking": { 1662s "mode": "allow-any-host", 1662s "timeout": "20", 1662s "track_all_policies_to_this_zone": True, 1662s }, 1662s "application_tracking": True, 1662s "description": "test description", 1662s "enable_reverse_reroute": True, 1662s "host_inbound_traffic": { 1662s "protocols": [ 1662s {"name": "all"}, 1662s {"except": True, "name": "bgp"}, 1662s ], 1662s "system_services": [ 1662s {"name": "all"}, 1662s {"except": True, "name": "dhcp"}, 1662s ], 1662s }, 1662s "interfaces": ["ge-0/0/3.0", "ge-0/0/4.0"], 1662s "name": "test_sec_zone1", 1662s "screen": "test_screen", 1662s "source_identity_log": True, 1662s "tcp_rst": True, 1662s "unidirectional_session_refreshing": True, 1662s }, 1662s ], 1662s }, 1662s state="merged", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_zones.py:218: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_zones.py:1997: in main 1662s result = Security_zones(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_zones/security_zones.py:106: in execute_module 1662s config_xmls = self.set_config(existing_security_zones_facts) 1662s plugins/module_utils/network/junos/config/security_zones/security_zones.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_zones/security_zones.py:154: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s ____ TestJunosSecurity_zonesModule.test_junos_security_zones_overridden_01 _____ 1662s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_zones_overridden_01(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "functional_zone_management": { 1662s "description": "test description 2", 1662s "host_inbound_traffic": { 1662s "protocols": [{"name": "all"}], 1662s "system_services": [{"name": "all"}], 1662s }, 1662s "interfaces": ["ge-0/0/1.0", "ge-0/0/2.0"], 1662s "screen": "test_screen", 1662s }, 1662s "zones": [ 1662s { 1662s "address_book": { 1662s "address_sets": [ 1662s { 1662s "addresses": [ 1662s "test_adr1", 1662s "test_adr2", 1662s ], 1662s "name": "test_adrset1", 1662s }, 1662s { 1662s "addresses": [ 1662s "test_adr3", 1662s "test_adr4", 1662s ], 1662s "name": "test_adrset2", 1662s }, 1662s { 1662s "address_sets": [ 1662s "test_adrset1", 1662s "test_adrset2", 1662s ], 1662s "addresses": ["test_adr5"], 1662s "description": "test description", 1662s "name": "test_adrset3", 1662s }, 1662s ], 1662s "addresses": [ 1662s { 1662s "description": "test desc", 1662s "ip_prefix": "10.0.0.0/24", 1662s "name": "test_adr1", 1662s }, 1662s { 1662s "dns_name": { 1662s "ipv6_only": True, 1662s "name": "1.1.1.1", 1662s }, 1662s "name": "test_adr2", 1662s }, 1662s { 1662s "name": "test_adr3", 1662s "range_address": { 1662s "from": "10.2.0.1", 1662s "to": "10.2.0.2", 1662s }, 1662s }, 1662s { 1662s "name": "test_adr4", 1662s "wildcard_address": "10.3.0.1/24", 1662s }, 1662s { 1662s "description": "test desc", 1662s "ip_prefix": "10.1.0.0/24", 1662s "name": "test_adr5", 1662s }, 1662s ], 1662s }, 1662s "advance_policy_based_routing_profile": "test_profile", 1662s "application_tracking": True, 1662s "description": "test description", 1662s "enable_reverse_reroute": True, 1662s "host_inbound_traffic": { 1662s "protocols": [ 1662s {"name": "all"}, 1662s {"except": True, "name": "bgp"}, 1662s ], 1662s "system_services": [ 1662s {"name": "all"}, 1662s {"except": True, "name": "dhcp"}, 1662s ], 1662s }, 1662s "interfaces": ["ge-0/0/3.0", "ge-0/0/4.0"], 1662s "name": "test_sec_zone1", 1662s "screen": "test_screen", 1662s "source_identity_log": True, 1662s "tcp_rst": True, 1662s }, 1662s ], 1662s }, 1662s state="overridden", 1662s ), 1662s ) 1662s > result = self.execute_module(changed=True) 1662s 1662s tests/unit/modules/network/junos/test_junos_security_zones.py:850: 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1662s result = self.changed(changed) 1662s tests/unit/modules/network/junos/junos_module.py:97: in changed 1662s self.module.main() 1662s plugins/modules/junos_security_zones.py:1997: in main 1662s result = Security_zones(module).execute_module() 1662s plugins/module_utils/network/junos/config/security_zones/security_zones.py:106: in execute_module 1662s config_xmls = self.set_config(existing_security_zones_facts) 1662s plugins/module_utils/network/junos/config/security_zones/security_zones.py:142: in set_config 1662s resp = self.set_state(want, have) 1662s plugins/module_utils/network/junos/config/security_zones/security_zones.py:154: in set_state 1662s self.root = build_root_xml_node("security") 1662s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1662s 1662s def build_root_xml_node(tag): 1662s > return new_ele(tag) 1662s E NameError: name 'new_ele' is not defined 1662s 1662s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1662s _____ TestJunosSecurity_zonesModule.test_junos_security_zones_replaced_01 ______ 1662s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1662s 1662s self = 1662s 1662s def test_junos_security_zones_replaced_01(self): 1662s set_module_args( 1662s dict( 1662s config={ 1662s "functional_zone_management": { 1662s "description": "test description 2", 1662s "host_inbound_traffic": { 1662s "protocols": [{"name": "all"}], 1662s "system_services": [{"name": "all"}], 1662s }, 1662s "interfaces": ["ge-0/0/1.0", "ge-0/0/2.0"], 1662s "screen": "test_screen", 1662s }, 1662s "zones": [ 1662s { 1662s "address_book": { 1662s "address_sets": [ 1662s { 1662s "addresses": [ 1662s "test_adr1", 1662s "test_adr2", 1662s ], 1662s "name": "test_adrset1", 1662s }, 1662s { 1662s "addresses": [ 1662s "test_adr3", 1662s "test_adr4", 1662s ], 1662s "name": "test_adrset2", 1662s }, 1662s { 1662s "address_sets": [ 1662s "test_adrset1", 1662s "test_adrset2", 1662s ], 1662s "addresses": ["test_adr5"], 1662s "description": "test description", 1662s "name": "test_adrset3", 1662s }, 1662s ], 1662s "addresses": [ 1662s { 1662s "description": "test desc", 1662s "ip_prefix": "10.0.0.0/24", 1662s "name": "test_adr1", 1662s }, 1662s { 1662s "dns_name": { 1662s "ipv6_only": True, 1662s "name": "1.1.1.1", 1662s }, 1662s "name": "test_adr2", 1662s }, 1662s { 1662s "name": "test_adr3", 1662s "range_address": { 1662s "from": "10.2.0.1", 1662s "to": "10.2.0.2", 1662s }, 1662s }, 1662s { 1662s "name": "test_adr4", 1662s "wildcard_address": "10.3.0.1/24", 1662s }, 1662s { 1662s "description": "test desc", 1662s "ip_prefix": "10.1.0.0/24", 1662s "name": "test_adr5", 1662s }, 1662s ], 1662s }, 1662s "advance_policy_based_routing_profile": "test_profile", 1662s "application_tracking": True, 1662s "description": "test description", 1662s "enable_reverse_reroute": True, 1662s "host_inbound_traffic": { 1662s "protocols": [ 1662s {"name": "all"}, 1662s {"except": True, "name": "bgp"}, 1662s ], 1662s "system_services": [ 1662s {"name": "all"}, 1662s {"except": True, "name": "dhcp"}, 1662s ], 1662s }, 1662s "interfaces": ["ge-0/0/3.0", "ge-0/0/4.0"], 1662s "name": "test_sec_zone1", 1662s "screen": "test_screen", 1662s "source_identity_log": True, 1662s "tcp_rst": True, 1662s }, 1662s ], 1663s }, 1663s state="replaced", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_security_zones.py:1217: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_security_zones.py:1997: in main 1663s result = Security_zones(module).execute_module() 1663s plugins/module_utils/network/junos/config/security_zones/security_zones.py:106: in execute_module 1663s config_xmls = self.set_config(existing_security_zones_facts) 1663s plugins/module_utils/network/junos/config/security_zones/security_zones.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/security_zones/security_zones.py:154: in set_state 1663s self.root = build_root_xml_node("security") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s _______ TestJunosSecurity_zonesModule.test_junos_security_zones_rendered _______ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_security_zones_rendered(self): 1663s set_module_args( 1663s dict( 1663s config={ 1663s "functional_zone_management": { 1663s "description": "test description", 1663s "host_inbound_traffic": { 1663s "protocols": [ 1663s {"name": "all"}, 1663s {"except": True, "name": "bgp"}, 1663s ], 1663s "system_services": [ 1663s {"name": "all"}, 1663s {"except": True, "name": "dhcp"}, 1663s ], 1663s }, 1663s "interfaces": ["ge-0/0/1.0", "ge-0/0/2.0"], 1663s "screen": "test_screen", 1663s }, 1663s "zones": [ 1663s { 1663s "address_book": { 1663s "address_sets": [ 1663s { 1663s "addresses": [ 1663s "test_adr1", 1663s "test_adr2", 1663s ], 1663s "name": "test_adrset1", 1663s }, 1663s { 1663s "addresses": [ 1663s "test_adr3", 1663s "test_adr4", 1663s ], 1663s "name": "test_adrset2", 1663s }, 1663s { 1663s "address_sets": [ 1663s "test_adrset1", 1663s "test_adrset2", 1663s ], 1663s "addresses": ["test_adr5"], 1663s "description": "test description", 1663s "name": "test_adrset3", 1663s }, 1663s ], 1663s "addresses": [ 1663s { 1663s "description": "test desc", 1663s "ip_prefix": "10.0.0.0/24", 1663s "name": "test_adr1", 1663s }, 1663s { 1663s "dns_name": { 1663s "ipv6_only": True, 1663s "name": "1.1.1.1", 1663s }, 1663s "name": "test_adr2", 1663s }, 1663s { 1663s "name": "test_adr3", 1663s "range_address": { 1663s "from": "10.2.0.1", 1663s "to": "10.2.0.2", 1663s }, 1663s }, 1663s { 1663s "name": "test_adr4", 1663s "wildcard_address": "10.3.0.1/24", 1663s }, 1663s { 1663s "description": "test desc", 1663s "ip_prefix": "10.1.0.0/24", 1663s "name": "test_adr5", 1663s }, 1663s ], 1663s }, 1663s "advance_policy_based_routing_profile": "test_profile", 1663s "application_tracking": True, 1663s "description": "test description", 1663s "enable_reverse_reroute": True, 1663s "host_inbound_traffic": { 1663s "protocols": [ 1663s {"name": "all"}, 1663s {"except": True, "name": "bgp"}, 1663s ], 1663s "system_services": [ 1663s {"name": "all"}, 1663s {"except": True, "name": "dhcp"}, 1663s ], 1663s }, 1663s "interfaces": ["ge-0/0/3.0", "ge-0/0/4.0"], 1663s "name": "test_sec_zone1", 1663s "screen": "test_screen", 1663s "source_identity_log": True, 1663s "tcp_rst": True, 1663s }, 1663s ], 1663s }, 1663s state="rendered", 1663s ), 1663s ) 1663s rendered = ( 1663s 't' 1663s "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" 1663s "_adr2test_adrset2test_adr3test_adr4test_adrset3test_adr5test_adrset1test_adrset2test descriptiontest_profiletest descriptionallbgpalldhcpge-0/0/3.0ge-0/0/4.0test_screen" 1663s ) 1663s > result = self.execute_module(changed=False) 1663s 1663s tests/unit/modules/network/junos/test_junos_security_zones.py:1114: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_security_zones.py:1997: in main 1663s result = Security_zones(module).execute_module() 1663s plugins/module_utils/network/junos/config/security_zones/security_zones.py:100: in execute_module 1663s config_xmls = self.set_config(existing_security_zones_facts) 1663s plugins/module_utils/network/junos/config/security_zones/security_zones.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/security_zones/security_zones.py:154: in set_state 1663s self.root = build_root_xml_node("security") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s __________ TestJunosSnmp_serverModule.test_junos_ntp_global_rendered ___________ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_ntp_global_rendered(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s client_lists=[ 1663s dict( 1663s name="cl2", 1663s addresses=[dict(address="192.16.4.0/24")], 1663s ), 1663s ], 1663s ), 1663s state="rendered", 1663s ), 1663s ) 1663s rendered = ( 1663s 'cl2' 1663s "192.16.4.0/24" 1663s "" 1663s ) 1663s > result = self.execute_module(changed=False) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:1082: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:98: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s _____ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_clients_03 ______ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_clients_03(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s client_lists=[ 1663s dict( 1663s name="cl3", 1663s addresses=[ 1663s dict(address="172.16.1.0/24"), 1663s dict(address="10.11.11.11", restrict=True), 1663s ], 1663s ), 1663s dict( 1663s name="cl4", 1663s addresses=[dict(address="172.16.4.0/24")], 1663s ), 1663s ], 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:353: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s _________ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_06 __________ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_06(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s communities=[ 1663s dict( 1663s name="comm1", 1663s clients=[ 1663s dict(address="24.0.0.0/32", restrict=True), 1663s dict(address="30.0.0.0/32", restrict=True), 1663s ], 1663s routing_instances=[ 1663s dict( 1663s name="clv1", 1663s clients=[ 1663s dict( 1663s address="13.13.13.13/24", 1663s restrict=True, 1663s ), 1663s dict(address="24.0.0.0/32"), 1663s dict(address="30.0.0.0/32"), 1663s ], 1663s ), 1663s dict( 1663s name="clv2", 1663s clients=[dict(address="15.15.15.15/24")], 1663s ), 1663s ], 1663s ), 1663s dict(name="comm2"), 1663s ], 1663s contact="rohitthakur2590", 1663s customization=dict(ether_stats_ifd_only=True), 1663s description="Local SNMP Server", 1663s engine_id=dict( 1663s local="local1", 1663s use_default_ip_address=True, 1663s use_mac_address=True, 1663s ), 1663s filter_duplicates=True, 1663s filter_interfaces=dict( 1663s all_internal_interfaces=True, 1663s interfaces=["eth1", "eth2"], 1663s ), 1663s health_monitor=dict( 1663s falling_threshold=50, 1663s idp=True, 1663s interval=100, 1663s rising_threshold=60, 1663s ), 1663s if_count_with_filter_interfaces=True, 1663s interfaces=["eth1", "eth2", "eth3"], 1663s location="inter_lab", 1663s logical_system_trap_filter=True, 1663s name="SNMP_LAB_SERVER", 1663s nonvolatile=dict(commit_delay=30), 1663s rmon=dict( 1663s alarms=[ 1663s dict( 1663s id=4, 1663s variable="1.x.y.z", 1663s sample_type="absolute-value", 1663s rising_threshold=1020, 1663s ), 1663s dict( 1663s id=5, 1663s variable="1.x.y.z", 1663s sample_type="absolute-value", 1663s rising_threshold=1020, 1663s ), 1663s ], 1663s events=[ 1663s dict(id=100, type="log"), 1663s dict(id=200, type="log"), 1663s ], 1663s ), 1663s routing_instance_access=dict( 1663s access_lists=["clv1", "clv2"], 1663s ), 1663s subagent=dict(tcp=dict(routing_instances_default=True)), 1663s snmp_v3=dict( 1663s notify=[dict(name="not1", type="inform", tag="tag2")], 1663s notify_filter=[ 1663s dict( 1663s name="not_fil_01", 1663s oids=[dict(include=True, oid="1.a.s.b.d")], 1663s ), 1663s dict( 1663s name="not_fil_02", 1663s oids=[ 1663s dict(include=True, oid="1.x.b.b.d"), 1663s dict(include=True, oid="1.a.c.b.d"), 1663s ], 1663s ), 1663s ], 1663s snmp_community=[ 1663s dict( 1663s community_index="v3_comm1", 1663s community_name="mycommu", 1663s security_name="sec101", 1663s context="cont1", 1663s tag="109", 1663s ), 1663s dict( 1663s community_index="v3_comm2", 1663s community_name="mycomm", 1663s security_name="sec102", 1663s context="cont1", 1663s tag="109", 1663s ), 1663s ], 1663s target_addresses=[ 1663s dict( 1663s name="tar201", 1663s address="162.12.10.2", 1663s port=23122, 1663s timeout=300, 1663s retry_count=200, 1663s tag_list="tag101", 1663s address_mask="24", 1663s routing_instance="clv2", 1663s target_parameters="tarparam2", 1663s ), 1663s dict( 1663s name="tar202", 1663s address="162.12.10.2", 1663s port=23122, 1663s timeout=300, 1663s retry_count=200, 1663s tag_list="tag101", 1663s address_mask="24", 1663s routing_instance="clv2", 1663s target_parameters="tarparam2", 1663s ), 1663s ], 1663s target_parameters=[ 1663s dict( 1663s name="param111", 1663s notify_filter="not121", 1663s parameters=dict( 1663s message_processing_model="v1", 1663s security_model="v1", 1663s security_level="none", 1663s security_name="secure111", 1663s ), 1663s ), 1663s ], 1663s ), 1663s traceoptions=dict( 1663s file=dict( 1663s files=20, 1663s match="snmp_cfg", 1663s no_world_readable=True, 1663s size=20000, 1663s ), 1663s flag=dict( 1663s all=True, 1663s general=True, 1663s interface_stats=True, 1663s nonvolatile_sets=True, 1663s pdu=True, 1663s protocol_timeouts=True, 1663s routing_socket=True, 1663s subagent=True, 1663s timer=True, 1663s varbind_error=True, 1663s ), 1663s memory_trace=dict(size=1350), 1663s ), 1663s trap_groups=[ 1663s dict( 1663s name="trgrp_01", 1663s destination_port=2346, 1663s categories=dict( 1663s authentication=True, 1663s chassis=True, 1663s otn_alarms=dict( 1663s oc_lof=True, 1663s otu_uas_threshold=True, 1663s ), 1663s ), 1663s targets=["11.11.11.11", "12.12.12.12"], 1663s routing_instance="clv1", 1663s ), 1663s ], 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:616: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s ___ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_communities_05 ____ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_communities_05(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s communities=[ 1663s dict( 1663s name="comm1", 1663s clients=[ 1663s dict(address="24.0.0.0/32", restrict=True), 1663s ], 1663s routing_instances=[ 1663s dict( 1663s name="clv1", 1663s clients=[ 1663s dict( 1663s address="13.13.13.13/24", 1663s restrict=True, 1663s ), 1663s ], 1663s ), 1663s ], 1663s ), 1663s ], 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:415: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s _______ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_arp_01 ________ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_arp_01(self): 1663s set_module_args( 1663s dict( 1663s config=dict(arp=dict(set=True, host_name_resolution=True)), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:97: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s __ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_routing_access_04 __ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_routing_access_04(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s routing_instance_access=dict( 1663s set=True, 1663s access_lists=["clv1"], 1663s ), 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:379: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s ______ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_client_02 ______ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_client_02(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s client_lists=[ 1663s dict( 1663s name="cl2", 1663s addresses=[dict(address="192.16.4.0/24")], 1663s ), 1663s ], 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:314: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s _____ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_groups _____ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_trap_groups(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s trap_groups=[ 1663s dict( 1663s categories=dict( 1663s authentication=True, 1663s ), 1663s name="egress", 1663s ), 1663s ], 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:179: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s ___ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_groups_02 ____ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_trap_groups_02(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s trap_groups=[ 1663s dict( 1663s categories=dict( 1663s chassis=True, 1663s chassis_cluster=True, 1663s configuration=True, 1663s dot3oam_events=True, 1663s link=True, 1663s ), 1663s name="monitor", 1663s ), 1663s ], 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:213: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s __ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_options_set ___ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_trap_options_set(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s trap_options=dict( 1663s set=True, 1663s ), 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:268: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s _ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_groups_otn_alrams _ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_trap_groups_otn_alrams(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s trap_groups=[ 1663s dict( 1663s categories=dict( 1663s otn_alarms=dict( 1663s oc_lof=True, 1663s oc_lom=True, 1663s oc_los=True, 1663s ), 1663s ), 1663s name="monitor", 1663s ), 1663s ], 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:243: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s ________ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_views ________ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_views(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s views=[ 1663s dict( 1663s name="all", 1663s oids=[dict(oid=".1")], 1663s ), 1663s ], 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:121: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s ____ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_options _____ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_trap_options(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s trap_options=dict( 1663s agent_address=dict( 1663s outgoing_interface=True, 1663s ), 1663s context_oid=True, 1663s ), 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:149: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s ________________ TestJunosVlansModule.test_junos_vlans_deleted _________________ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_vlans_deleted(self): 1663s """ 1663s :return: 1663s """ 1663s set_module_args(dict(config=[dict(name="vlan1")], state="deleted")) 1663s 1663s commands = [ 1663s '' 1663s 'vlan1', 1663s ] 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_vlans.py:193: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_vlans.py:462: in main 1663s result = Vlans(module).execute_module() 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1663s config_xmls = self.set_config(existing_vlans_facts) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1663s root = build_root_xml_node("vlans") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s ___ TestJunosSnmp_serverModule.test_junos_snmp_server_merged_trap_options_02 ___ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_snmp_server_merged_trap_options_02(self): 1663s set_module_args( 1663s dict( 1663s config=dict( 1663s trap_options=dict( 1663s enterprise_oid=True, 1663s source_address=dict( 1663s address="192.168.2.0", 1663s ), 1663s ), 1663s ), 1663s state="merged", 1663s ), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_snmp_server.py:286: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_snmp_server.py:1579: in main 1663s result = Snmp_server(module).execute_module() 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:104: in execute_module 1663s config_xmls = self.set_config(existing_snmp_server_facts) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:142: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/snmp_server/snmp_server.py:154: in set_state 1663s self.root = build_root_xml_node("configuration") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s _______________ TestJunosVlansModule.test_junos_vlans_deleted_01 _______________ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_vlans_deleted_01(self): 1663s """ 1663s :return: 1663s """ 1663s set_module_args(dict(config=[], state="deleted")) 1663s 1663s commands = [ 1663s '' 1663s 'vlan1', 1663s ] 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_vlans.py:206: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_vlans.py:462: in main 1663s result = Vlans(module).execute_module() 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1663s config_xmls = self.set_config(existing_vlans_facts) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1663s root = build_root_xml_node("vlans") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s _________________ TestJunosVlansModule.test_junos_vlans_merged _________________ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_vlans_merged(self): 1663s set_module_args( 1663s dict( 1663s config=[dict(name="vlan2", vlan_id=2, l3_interface="irb.12")], 1663s state="merged", 1663s ), 1663s ) 1663s commands = [ 1663s '' 1663s "vlan22" 1663s "irb.12", 1663s ] 1663s > result = self.execute_module(changed=True, commands=commands) 1663s 1663s tests/unit/modules/network/junos/test_junos_vlans.py:105: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_vlans.py:462: in main 1663s result = Vlans(module).execute_module() 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1663s config_xmls = self.set_config(existing_vlans_facts) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1663s root = build_root_xml_node("vlans") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s ___________ TestJunosVlansModule.test_junos_vlans_merged_idempotent ____________ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_vlans_merged_idempotent(self): 1663s set_module_args( 1663s dict(config=[dict(name="vlan1", vlan_id=1)], state="merged"), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_vlans.py:112: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_vlans.py:462: in main 1663s result = Vlans(module).execute_module() 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1663s config_xmls = self.set_config(existing_vlans_facts) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1663s root = build_root_xml_node("vlans") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s _______________ TestJunosVlansModule.test_junos_vlans_overridden _______________ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_vlans_overridden(self): 1663s """ 1663s :return: 1663s """ 1663s set_module_args( 1663s dict( 1663s config=[dict(name="vlan3", vlan_id=3, l3_interface="irb.13")], 1663s state="overridden", 1663s ), 1663s ) 1663s 1663s commands = [ 1663s '' 1663s 'vlan1' 1663s "vlan33" 1663s "irb.13", 1663s ] 1663s > result = self.execute_module(changed=True, commands=commands) 1663s 1663s tests/unit/modules/network/junos/test_junos_vlans.py:164: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_vlans.py:462: in main 1663s result = Vlans(module).execute_module() 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1663s config_xmls = self.set_config(existing_vlans_facts) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1663s root = build_root_xml_node("vlans") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s _________ TestJunosVlansModule.test_junos_vlans_overridden_idempotent __________ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_vlans_overridden_idempotent(self): 1663s set_module_args( 1663s dict(config=[dict(name="vlan1", vlan_id=1)], state="overridden"), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_vlans.py:171: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_vlans.py:462: in main 1663s result = Vlans(module).execute_module() 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1663s config_xmls = self.set_config(existing_vlans_facts) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1663s root = build_root_xml_node("vlans") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s ________________ TestJunosVlansModule.test_junos_vlans_replaced ________________ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_vlans_replaced(self): 1663s """ 1663s :return: 1663s """ 1663s set_module_args( 1663s dict( 1663s config=[ 1663s dict(name="vlan1", vlan_id=1, l3_interface="irb.10"), 1663s dict(name="vlan2", vlan_id=2), 1663s ], 1663s state="replaced", 1663s ), 1663s ) 1663s 1663s commands = [ 1663s '' 1663s 'vlan1' 1663s 'vlan2' 1663s "vlan11" 1663s "irb.10" 1663s "vlan22", 1663s ] 1663s > result = self.execute_module(changed=True, commands=commands) 1663s 1663s tests/unit/modules/network/junos/test_junos_vlans.py:137: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_vlans.py:462: in main 1663s result = Vlans(module).execute_module() 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1663s config_xmls = self.set_config(existing_vlans_facts) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1663s root = build_root_xml_node("vlans") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s ________________ TestJunosVlansModule.test_junos_vlans_rendered ________________ 1663s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_vlans_rendered(self): 1663s """ 1663s :return: 1663s """ 1663s set_module_args( 1663s dict( 1663s config=[ 1663s dict(name="vlan1", vlan_id=1), 1663s dict(name="vlan2", vlan_id=2, l3_interface="irb.12"), 1663s ], 1663s state="rendered", 1663s ), 1663s ) 1663s rendered = ( 1663s '' 1663s "vlan11" 1663s "vlan22" 1663s "irb.12" 1663s ) 1663s > result = self.execute_module(changed=False) 1663s 1663s tests/unit/modules/network/junos/test_junos_vlans.py:228: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_vlans.py:462: in main 1663s result = Vlans(module).execute_module() 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:102: in execute_module 1663s config_xmls = self.set_config(existing_vlans_facts) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1663s root = build_root_xml_node("vlans") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s __________ TestJunosVlansModule.test_junos_vlans_replaced_idempotent ___________ 1663s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1663s 1663s self = 1663s 1663s def test_junos_vlans_replaced_idempotent(self): 1663s set_module_args( 1663s dict(config=[dict(name="vlan1", vlan_id=1)], state="replaced"), 1663s ) 1663s > result = self.execute_module(changed=True) 1663s 1663s tests/unit/modules/network/junos/test_junos_vlans.py:144: 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s tests/unit/modules/network/junos/junos_module.py:82: in execute_module 1663s result = self.changed(changed) 1663s tests/unit/modules/network/junos/junos_module.py:97: in changed 1663s self.module.main() 1663s plugins/modules/junos_vlans.py:462: in main 1663s result = Vlans(module).execute_module() 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:109: in execute_module 1663s config_xmls = self.set_config(existing_vlans_facts) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:146: in set_config 1663s resp = self.set_state(want, have) 1663s plugins/module_utils/network/junos/config/vlans/vlans.py:158: in set_state 1663s root = build_root_xml_node("vlans") 1663s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1663s 1663s def build_root_xml_node(tag): 1663s > return new_ele(tag) 1663s E NameError: name 'new_ele' is not defined 1663s 1663s ../../ansible/netcommon/plugins/module_utils/network/common/netconf.py:140: NameError 1663s =============================== warnings summary =============================== 1663s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_confirm 1663s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_lines 1663s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_src_json 1663s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_src_set 1663s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_src_text 1663s tests/unit/modules/network/junos/test_junos_config.py::TestJunosConfigModule::test_junos_config_src_xml 1663s /tmp/autopkgtest.NviVNE/build.FtY/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. 1663s if diff: 1663s 1663s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1663s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/junipernetworks/junos/tests/output/junit/python3.13-controller-units.xml - 1663s =========================== short test summary info ============================ 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_001 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_002 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_delete 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_002_001 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_delete_purged 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_003 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merge_groups 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_004 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_005 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_advertise_bgp_static 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_005_001 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_advertise_external 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_bfd_liveness_detection 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_006 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_bgp_error_tolerance 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_007 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_bmp 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_007_001 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_bmp_2 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_008 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_egress_te 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_egress_te_backup_paths 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_009 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_groups_allow 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_010 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_011 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_optimal_route_reflection 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_merged_routing_options 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_012 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_013 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_013_001 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_rendered_empty 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_014 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_replaced 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_global.py::TestJunosBgp_globalModule::test_junos_bgp_global_replaced_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_015 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_016 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_017 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_018 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_019 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_020 1663s FAILED tests/unit/modules/network/junos/test_junos_hostname.py::TestJunosHostnameModule::test_junos_hostname_merged_01 1663s FAILED tests/unit/modules/network/junos/test_junos_hostname.py::TestJunosHostnameModule::test_junos_hostname_overridden_01 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_021 1663s FAILED tests/unit/modules/network/junos/test_junos_hostname.py::TestJunosHostnameModule::test_junos_hostname_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_022 1663s FAILED tests/unit/modules/network/junos/test_junos_hostname.py::TestJunosHostnameModule::test_junos_hostname_replaced 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_023 1663s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_delete 1663s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_delete_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_023_001 1663s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_merged 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_024 1663s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_merged_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_overridden 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_025 1663s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_overridden_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_026 1663s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_027 1663s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_replaced 1663s FAILED tests/unit/modules/network/junos/test_junos_interfaces.py::TestJunosInterfacesModule::test_junos_interfaces_replaced_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_028 1663s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_delete 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_029 1663s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_delete_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_030 1663s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_merged 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_config_033 1663s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_merged_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_deleted_031 1663s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_overridden 1663s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_overridden_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_bgp_address_family.py::TestJunosBgp_address_familyModule::test_junos_bgp_address_family_deleted_032 1663s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_merged 1663s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_replaced 1663s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_merged_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_l2_interfaces.py::TestJunosL2InterfacesModule::test_junos_l2_interfaces_replaced_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_overridden 1663s FAILED tests/unit/modules/network/junos/test_junos_ntp_global.py::TestJunosNtp_globalModule::test_junos_ntp_global_merged_01 1663s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_overridden_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_ntp_global.py::TestJunosNtp_globalModule::test_junos_ntp_global_merged_02 1663s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_ntp_global.py::TestJunosNtp_globalModule::test_junos_ntp_global_overridden_01 1663s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_replaced 1663s FAILED tests/unit/modules/network/junos/test_junos_l3_interfaces.py::TestJunosL3InterfacesModule::test_junos_l3_interfaces_replaced_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_ntp_global.py::TestJunosNtp_globalModule::test_junos_ntp_global_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_ntp_global.py::TestJunosNtp_globalModule::test_junos_ntp_global_replaced_01 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_deleted_user_11 1663s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_delete 1663s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_delete_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_07 1663s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_merged 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_archive_01 1663s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_merged_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_console_02 1663s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_overridden 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_files_03 1663s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_overridden_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_files_04 1663s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_hosts_05 1663s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_replaced 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_hosts_idempotent_06 1663s FAILED tests/unit/modules/network/junos/test_junos_ospf_interfaces.py::TestJunosOspfv3Module::test_junos_ospf_interfaces_replaced_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_merged_user_08 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_overridden_user_10 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_deleted 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_rendered_12 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_merged 1663s FAILED tests/unit/modules/network/junos/test_junos_logging_global.py::TestJunosLogging_globalModule::test_junos_logging_global_replaced_user_09 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_merged_areas 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_overridden 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_merged_01 1663s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_merged_idempotent_01 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv2.py::TestJunosOspfv2Module::test_junos_ospfv2_replaced 1663s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_overridden_01 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_delete 1663s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_overridden_idempotent_01 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_delete_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_rendered_01 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_merged 1663s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_replaced_01 1663s FAILED tests/unit/modules/network/junos/test_junos_prefix_lists.py::TestJunosPrefix_listsModule::test_junos_prefix_lists_replaced_idempotent_01 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_merged_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_deleted 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_overridden 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_delted_single_entry 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_overridden_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_domains_merged 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_merged 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_replaced 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_merged_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_overridden 1663s FAILED tests/unit/modules/network/junos/test_junos_ospfv3.py::TestJunosOspfv3Module::test_junos_ospfv3_replaced_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_options.py::TestJunosRouting_optionsModule::test_junos_routing_options_replaced_01 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_overridden_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_rendered_02 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies.py::TestJunosSecurity_policiesModule::test_junos_security_policies_merged_01 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_replaced 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_instances.py::TestJunosRouting_instancesModule::test_junos_routing_instances_replaced_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies.py::TestJunosSecurity_policiesModule::test_junos_security_policies_merged_02 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_options.py::TestJunosRouting_optionsModule::test_junos_routing_options_merged_01 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_options.py::TestJunosRouting_optionsModule::test_junos_routing_options_merged_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies.py::TestJunosSecurity_policiesModule::test_junos_security_policies_overridden_01 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_options.py::TestJunosRouting_optionsModule::test_junos_routing_options_overridden 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies.py::TestJunosSecurity_policiesModule::test_junos_security_policies_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_routing_options.py::TestJunosRouting_optionsModule::test_junos_routing_options_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies.py::TestJunosSecurity_policiesModule::test_junos_security_policies_replaced_01 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_merged_01 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_merged_02 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_merged_03 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_replaced_01 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_merged_04 1663s FAILED tests/unit/modules/network/junos/test_junos_security_policies_global.py::TestJunosSecurity_policies_globalModule::test_junos_security_policies_global_overridden_01 1663s FAILED tests/unit/modules/network/junos/test_junos_security_zones.py::TestJunosSecurity_zonesModule::test_junos_security_zones_merged_01 1663s FAILED tests/unit/modules/network/junos/test_junos_security_zones.py::TestJunosSecurity_zonesModule::test_junos_security_zones_overridden_01 1663s FAILED tests/unit/modules/network/junos/test_junos_security_zones.py::TestJunosSecurity_zonesModule::test_junos_security_zones_replaced_01 1663s FAILED tests/unit/modules/network/junos/test_junos_security_zones.py::TestJunosSecurity_zonesModule::test_junos_security_zones_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_ntp_global_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_clients_03 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_06 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_communities_05 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_arp_01 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_routing_access_04 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_client_02 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_groups 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_groups_02 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_options_set 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_groups_otn_alrams 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_views 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_options 1663s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_deleted 1663s FAILED tests/unit/modules/network/junos/test_junos_snmp_server.py::TestJunosSnmp_serverModule::test_junos_snmp_server_merged_trap_options_02 1663s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_deleted_01 1663s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_merged 1663s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_merged_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_overridden 1663s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_overridden_idempotent 1663s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_replaced 1663s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_rendered 1663s FAILED tests/unit/modules/network/junos/test_junos_vlans.py::TestJunosVlansModule::test_junos_vlans_replaced_idempotent 1663s ================= 190 failed, 115 passed, 6 warnings in 10.46s ================= 1663s 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.NviVNE/build.FtY/src/ansible_collections/junipernetworks/junos/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/junipernetworks/junos --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1663s ## return code is 1 1663s 1663s 1663s 1663s ############################################################ 1663s ############################################################ 1663s #### Running FLAKY tests in ansible_collections/netapp_eseries/santricity 1663s ############################################################ 1663s ############################################################ 1663s Unit test controller with Python 3.13 1664s ============================= test session starts ============================== 1664s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1664s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity 1664s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1664s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1664s created: 2/2 workers 1664s 2 workers [0 items] 1664s 1664s 1664s ==================================== ERRORS ==================================== 1664s _______ ERROR collecting tests/unit/modules/test_na_santricity_alerts.py _______ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_alerts.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_alerts.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ___ ERROR collecting tests/unit/modules/test_na_santricity_alerts_syslog.py ____ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_alerts_syslog.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_alerts_syslog.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ________ ERROR collecting tests/unit/modules/test_na_santricity_asup.py ________ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_asup.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_asup.py:8: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ______ ERROR collecting tests/unit/modules/test_na_santricity_auditlog.py ______ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_auditlog.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_auditlog.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ________ ERROR collecting tests/unit/modules/test_na_santricity_auth.py ________ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_auth.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_auth.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s _ ERROR collecting tests/unit/modules/test_na_santricity_client_certificate.py _ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_client_certificate.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_client_certificate.py:10: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ______ ERROR collecting tests/unit/modules/test_na_santricity_discover.py ______ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_discover.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_discover.py:9: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ___ ERROR collecting tests/unit/modules/test_na_santricity_drive_firmware.py ___ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_drive_firmware.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_drive_firmware.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s _______ ERROR collecting tests/unit/modules/test_na_santricity_facts.py ________ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_facts.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_facts.py:9: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ______ ERROR collecting tests/unit/modules/test_na_santricity_firmware.py ______ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_firmware.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_firmware.py:10: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s _______ ERROR collecting tests/unit/modules/test_na_santricity_global.py _______ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_global.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_global.py:9: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ________ ERROR collecting tests/unit/modules/test_na_santricity_host.py ________ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_host.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_host.py:9: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s _____ ERROR collecting tests/unit/modules/test_na_santricity_hostgroup.py ______ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_hostgroup.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_hostgroup.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s _ ERROR collecting tests/unit/modules/test_na_santricity_ib_iser_interface.py __ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_ib_iser_interface.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_ib_iser_interface.py:9: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s __ ERROR collecting tests/unit/modules/test_na_santricity_iscsi_interface.py ___ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_iscsi_interface.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_iscsi_interface.py:9: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ____ ERROR collecting tests/unit/modules/test_na_santricity_iscsi_target.py ____ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_iscsi_target.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_iscsi_target.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ________ ERROR collecting tests/unit/modules/test_na_santricity_ldap.py ________ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_ldap.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_ldap.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ____ ERROR collecting tests/unit/modules/test_na_santricity_lun_mapping.py _____ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_lun_mapping.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_lun_mapping.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collectionFATAL: 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.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1664s s.community.internal_test_tools' 1664s ___ ERROR collecting tests/unit/modules/test_na_santricity_mgmt_interface.py ___ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_mgmt_interface.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_mgmt_interface.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ___ ERROR collecting tests/unit/modules/test_na_santricity_nvme_interface.py ___ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_nvme_interface.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_nvme_interface.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s _ ERROR collecting tests/unit/modules/test_na_santricity_proxy_drive_firmware_upload.py _ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_proxy_drive_firmware_upload.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_proxy_drive_firmware_upload.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s _ ERROR collecting tests/unit/modules/test_na_santricity_proxy_firmware_upload.py _ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_proxy_firmware_upload.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_proxy_firmware_upload.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ___ ERROR collecting tests/unit/modules/test_na_santricity_proxy_systems.py ____ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_proxy_systems.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_proxy_systems.py:9: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s ____ ERROR collecting tests/unit/modules/test_na_santricity_storagepool.py _____ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_storagepool.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_storagepool.py:9: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s _______ ERROR collecting tests/unit/modules/test_na_santricity_syslog.py _______ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_syslog.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_syslog.py:7: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s _______ ERROR collecting tests/unit/modules/test_na_santricity_volume.py _______ 1664s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/unit/modules/test_na_santricity_volume.py'. 1664s Hint: make sure your test modules/packages have valid Python names. 1664s Traceback: 1664s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1664s return _bootstrap._gcd_import(name[level:], package, level) 1664s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1664s assertion_rewriting_hook.exec_module(module) 1664s tests/unit/modules/test_na_santricity_volume.py:9: in 1664s from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import ( 1664s E ModuleNotFoundError: No module named 'ansible_collections.community.internal_test_tools' 1664s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/output/junit/python3.13-controller-units.xml - 1664s =========================== short test summary info ============================ 1664s ERROR tests/unit/modules/test_na_santricity_alerts.py 1664s ERROR tests/unit/modules/test_na_santricity_alerts_syslog.py 1664s ERROR tests/unit/modules/test_na_santricity_asup.py 1664s ERROR tests/unit/modules/test_na_santricity_auditlog.py 1664s ERROR tests/unit/modules/test_na_santricity_auth.py 1664s ERROR tests/unit/modules/test_na_santricity_client_certificate.py 1664s ERROR tests/unit/modules/test_na_santricity_discover.py 1664s ERROR tests/unit/modules/test_na_santricity_drive_firmware.py 1664s ERROR tests/unit/modules/test_na_santricity_facts.py 1664s ERROR tests/unit/modules/test_na_santricity_firmware.py 1664s ERROR tests/unit/modules/test_na_santricity_global.py 1664s ERROR tests/unit/modules/test_na_santricity_host.py 1664s ERROR tests/unit/modules/test_na_santricity_hostgroup.py 1664s ERROR tests/unit/modules/test_na_santricity_ib_iser_interface.py 1664s ERROR tests/unit/modules/test_na_santricity_iscsi_interface.py 1664s ERROR tests/unit/modules/test_na_santricity_iscsi_target.py 1664s ERROR tests/unit/modules/test_na_santricity_ldap.py 1664s ERROR tests/unit/modules/test_na_santricity_lun_mapping.py 1664s ERROR tests/unit/modules/test_na_santricity_mgmt_interface.py 1664s ERROR tests/unit/modules/test_na_santricity_nvme_interface.py 1664s ERROR tests/unit/modules/test_na_santricity_proxy_drive_firmware_upload.py 1664s ERROR tests/unit/modules/test_na_santricity_proxy_firmware_upload.py 1664s ERROR tests/unit/modules/test_na_santricity_proxy_systems.py 1664s ERROR tests/unit/modules/test_na_santricity_storagepool.py 1664s ERROR tests/unit/modules/test_na_santricity_syslog.py 1664s ERROR tests/unit/modules/test_na_santricity_volume.py 1664s ============================== 26 errors in 1.73s ============================== 1664s ## return code is 1 1664s 1664s 1664s 1664s ############################################################ 1664s ############################################################ 1664s #### Running FLAKY tests in ansible_collections/netapp/ontap 1664s ############################################################ 1664s ############################################################ 1664s Unit test modules with Python 3.13 1674s ============================= test session starts ============================== 1674s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1674s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/ontap 1674s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1674s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1674s created: 2/2 workers 1674s 2 workers [3004 items] 1674s 1674s ss.s.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 2%] 1675s sssssssssssssssssssssssssssssssssssssssssssssss.ss.ss.ss.ss.ss.ss.ss.ss. [ 4%] 1675s ss.s.ss.ss.................ss.ss.s.ss.ss.ss.ss.ss.ss.ss.ss.s.ss.sss.s.ss [ 7%] 1676s .ss.ss.ss.s.sss.sssssssssssssssssssss.sss.sssssssF...................... [ 9%] 1676s ........................sss.ss.s.ss.ss.sss.sss.ss.ss.ss.ss.s.ss.ss.ss.ss [ 11%] 1677s .s.......s.s.s.ss.ss.ss.ss.ss.ss.ss.s.sssssssssssssssssssssss.sss.s.s.ss [ 14%] 1677s .sss.ss.s.ss.sss.ss.ss.s.ss.ss.ss.ss.s.ss.ss.ss.s.s.s.ss.s.ss.s.s.s.ss.s [ 16%] 1678s s.s.s.ss.ssssssss.ssss.ss.ss.sss.ss.ss.....................s.ss.sss.ss.s [ 19%] 1678s s.ss.....s.s.ss.ss.ss.ss.s.ss.s.ss.ss.ss.sssssssssssssssssssssssssssssss [ 21%] 1678s sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.ss [ 23%] 1679s .ss.ss.ss.ss.sss.ss.ss.ss.s.ss.ss.ss.s.sssssssssssssssssssssssssssssssss [ 26%] 1679s ssssssssssssssss.ss.ss.s.sssssssssssssssssssssssssssssssssssssssssssssss [ 28%] 1680s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 31%] 1680s sssssssssssssssssssssssssssssssssss.ss.s.s.ss.ss.ss.ss.ss.s.ssssssssssss [ 33%] 1680s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 35%] 1681s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 38%] 1681s sssssssssssssssssssssssssssssss.ss.sss.ss.s.ss.s.ss.s.ss.ss.ss.ss.ss.s.s [ 40%] 1681s .ss.s.ss.ss.ss.ss.ss.s...............ss.s.ss.ss.ss.sssssssssssssssss.ss. [ 43%] 1682s ss.sss.s.ss.ss.s.ss.ss.ss.ss.ss.ss.sssssssssssssssssssssssssssssssssssss [ 45%] 1682s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 47%] 1683s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.s.ss.ss...... [ 50%] 1683s ...........s.ss.ss.ss.s.s.ss.sss.sss.ss.ss.ss.ss.ss.s.ss.sss.ss.s.ss.ss. [ 52%] 1684s ss.ss.ssssssssssssssssssssssssssssssssssssssssssssssssss.s.ss.ss.ss.s.s. [ 55%] 1684s ss.s.ss.ss.ss.ssssssssssssssssssssssssssss.s.ss.ss.ss.ss.ss.ss.ss.ss.s.s [ 57%] 1684s s.ss.ss.ss.ssss.s.ss.ss.s.ss.ss.ss.s.ss.ss.ss.s......................... [ 59%] 1685s ........................................................................ [ 62%] 1686s .........s.sssssssssssssssssssss.ss.s................................... [ 64%] 1686s .........ss.ss.ss.s.s.ss.s.ss.ss.s.sss.s.ss.ss.s.ss.s.ss.s.ss.s..s.ss.s. [ 67%] 1686s ss.ss.ss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 69%] 1687s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 71%] 1687s ssssssssssssssssssssssssssssssssssssssssssssssssssssss.s.ss.ss.ss.s.s.ss [ 74%] 1688s .ss.ss.s.sss.ss.s.ss.sssssssssssssssssssssssssssssssssssssssssssssssssss [ 76%] 1688s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 79%] 1688s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 81%] 1689s sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.sss. [ 83%] 1689s ss.ss.ss.s.s.ss.ss.ss.ss.ss.ss.sss.ss.ss.ss.ss.s.ss.s.ss.ss.s.ss.ss.ss.s [ 86%] 1689s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 88%] 1690s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 91%] 1690s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 93%] 1690s ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 95%] 1691s s.ss.ss.ss.....ss.ss.s.sssssssssssssssssssssssssssssssssssssssss.ss..... [ 98%] 1691s ..s.s.ss.ss.ssssssssssssss.....s.s.sssssssssss...... [100%] 1691s =================================== FAILURES =================================== 1691s ______________________ TestMyModule.test_zapi_send_error _______________________ 1691s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1691s 1691s self = 1691s 1691s def test_zapi_send_error(self): 1691s '''Test rest send error''' 1691s data = self.mock_args() 1691s data['use_rest'] = 'Never' 1691s set_module_args(data) 1691s with pytest.raises(AnsibleFailJson) as exc: 1691s self.get_invoke_mock_object(use_rest=False).apply() 1691s msg = "Error on sending autosupport message to node %s: NetApp API failed. Reason - test:Expected error." % data['name'] 1691s > assert exc.value.args[0]['msg'] == msg 1691s E assert "Error: the p... 'netapp_lib'" == 'Error on sen...pected error.' 1691s E 1691s E - Error on sending autosupport message to node test_node: NetApp API failed. Reason - test:Expected error. 1691s E + Error: the python NetApp-Lib module is required. Import error: No module named 'netapp_lib' 1691s 1691s tests/unit/plugins/modules/test_na_ontap_autosupport_invoke.py:103: AssertionError 1691s ----------------------------- Captured stdout call ----------------------------- 1691s WARNING: Error: "message" option conflicts with Ansible internal variable - please use "autosupport_message". 1691s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/ontap/tests/output/junit/python3.13-modules-units.xml - 1691s =========================== short test summary info ============================ 1691s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_active_directory.py: skipping as missing required netapp_lib 1691s SKIPPED [27] tests/unit/plugins/modules/test_na_ontap_cluster.py: skipping as missing required netapp_lib 1691s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_active_directory_domain_controllers.py: skipping as missing required netapp_lib 1691s SKIPPED [39] tests/unit/plugins/modules/test_na_ontap_aggregate.py: skipping as missing required netapp_lib 1691s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_cluster_ha.py: skipping as missing required netapp_lib 1691s SKIPPED [19] tests/unit/plugins/modules/test_na_ontap_cluster_peer.py: skipping as missing required netapp_lib 1691s SKIPPED [12] tests/unit/plugins/modules/test_na_ontap_command.py: skipping as missing required netapp_lib 1691s SKIPPED [15] tests/unit/plugins/modules/test_na_ontap_debug.py: skipping as missing required netapp_lib 1691s SKIPPED [9] tests/unit/plugins/modules/test_na_ontap_disks.py: skipping as missing required netapp_lib 1691s SKIPPED [17] tests/unit/plugins/modules/test_na_ontap_dns.py: skipping as missing required netapp_lib 1691s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_domain_tunnel.py: skipping as missing required netapp_lib 1691s SKIPPED [29] tests/unit/plugins/modules/test_na_ontap_efficiency_policy.py: skipping as missing required netapp_lib 1691s SKIPPED [10] tests/unit/plugins/modules/test_na_ontap_autosupport.py: skipping as missing required netapp_lib 1691s SKIPPED [32] tests/unit/plugins/modules/test_na_ontap_broadcast_domain.py: skipping as missing required netapp_lib 1691s SKIPPED [2] tests/unit/plugins/modules/test_na_ontap_cg_snapshot.py: skipping as missing required netapp_lib 1691s SKIPPED [11] tests/unit/plugins/modules/test_na_ontap_export_policy.py: skipping as missing required netapp_lib 1691s SKIPPED [18] tests/unit/plugins/modules/test_na_ontap_export_policy_rule.py: skipping as missing required netapp_lib 1691s SKIPPED [34] tests/unit/plugins/modules/test_na_ontap_cifs.py: skipping as missing required netapp_lib 1691s SKIPPED [25] tests/unit/plugins/modules/test_na_ontap_cifs_acl.py: skipping as missing required netapp_lib 1691s SKIPPED [12] tests/unit/plugins/modules/test_na_ontap_cifs_local_group.py: skipping as missing required netapp_lib 1691s SKIPPED [3] tests/unit/plugins/modules/test_na_ontap_file_directory_policy.py: skipping as missing required netapp_lib 1691s SKIPPED [18] tests/unit/plugins/modules/test_na_ontap_cifs_local_group_member.py: skipping as missing required netapp_lib 1691s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_cifs_local_user_modify.py: skipping as missing required netapp_lib 1691s SKIPPED [4] tests/unit/plugins/modules/test_na_ontap_cifs_local_user_set_password.py: skipping as missing required netapp_lib 1691s SKIPPED [16] tests/unit/plugins/modules/test_na_ontap_firewall_policy.py: skipping as missing required netapp_lib 1691s SKIPPED [40] tests/unit/plugins/modules/test_na_ontap_firmware_upgrade.py: skipping as missing required netapp_lib 1691s SKIPPED [49] tests/unit/plugins/modules/test_na_ontap_cifs_server.py: skipping as missing required netapp_lib 1691s SKIPPED [43] tests/unit/plugins/modules/test_na_ontap_flexcache.py: skipping as missing required netapp_lib 1691s SKIPPED [30] tests/unit/plugins/modules/test_na_ontap_job_schedule.py: skipping as missing required netapp_lib 1691s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_fpolicy_event.py: skipping as missing required netapp_lib 1691s SKIPPED [13] tests/unit/plugins/modules/test_na_ontap_fpolicy_ext_engine.py: skipping as missing required netapp_lib 1691s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_fpolicy_policy.py: skipping as missing required netapp_lib 1691s SKIPPED [12] tests/unit/plugins/modules/test_na_ontap_kerberos_realm.py: skipping as missing required netapp_lib 1691s SKIPPED [13] tests/unit/plugins/modules/test_na_ontap_fpolicy_scope.py: skipping as missing required netapp_lib 1691s SKIPPED [30] tests/unit/plugins/modules/test_na_ontap_ldap_client.py: skipping as missing required netapp_lib 1691s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_fpolicy_status.py: skipping as missing required netapp_lib 1691s SKIPPED [27] tests/unit/plugins/modules/test_na_ontap_igroup.py: skipping as missing required netapp_lib 1691s SKIPPED [19] tests/unit/plugins/modules/test_na_ontap_license.py: skipping as missing required netapp_lib 1691s SKIPPED [17] tests/unit/plugins/modules/test_na_ontap_igroup_initiator.py: skipping as missing required netapp_lib 1691s SKIPPED [15] tests/unit/plugins/modules/test_na_ontap_license_nlf.py: skipping as missing required netapp_lib 1691s SKIPPED [48] tests/unit/plugins/modules/test_na_ontap_info.py: skipping as missing required netapp_lib 1691s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_log_forward.py: skipping as missing required netapp_lib 1691s SKIPPED [15] tests/unit/plugins/modules/test_na_ontap_login_messages.py: skipping as missing required netapp_lib 1691s SKIPPED [77] tests/unit/plugins/modules/test_na_ontap_interface.py: skipping as missing required netapp_lib 1691s SKIPPED [13] tests/unit/plugins/modules/test_na_ontap_lun.py: skipping as missing required netapp_lib 1691s SKIPPED [20] tests/unit/plugins/modules/test_na_ontap_lun_app_rest.py: skipping as missing required netapp_lib 1691s SKIPPED [5] tests/unit/plugins/modules/test_na_ontap_lun_copy.py: skipping as missing required netapp_lib 1691s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_lun_map.py: skipping as missing required netapp_lib 1691s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_lun_map_reporting_nodes.py: skipping as missing required netapp_lib 1691s SKIPPED [12] tests/unit/plugins/modules/test_na_ontap_lun_map_rest.py: skipping as missing required netapp_lib 1691s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_ipspace.py: skipping as missing required netapp_lib 1691s SKIPPED [21] tests/unit/plugins/modules/test_na_ontap_iscsi.py: skipping as missing required netapp_lib 1691s SKIPPED [11] tests/unit/plugins/modules/test_na_ontap_nvme_subsystem.py: skipping as missing required netapp_lib 1691s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_motd.py: skipping as missing required netapp_lib 1691s SKIPPED [15] tests/unit/plugins/modules/test_na_ontap_name_mappings.py: skipping as missing required netapp_lib 1691s SKIPPED [11] tests/unit/plugins/modules/test_na_ontap_name_service_switch.py: skipping as missing required netapp_lib 1691s SKIPPED [4] tests/unit/plugins/modules/test_na_ontap_ndmp.py: skipping as missing required netapp_lib 1691s SKIPPED [20] tests/unit/plugins/modules/test_na_ontap_object_store.py: skipping as missing required netapp_lib 1691s SKIPPED [32] tests/unit/plugins/modules/test_na_ontap_net_ifgrp.py: skipping as missing required netapp_lib 1691s SKIPPED [10] tests/unit/plugins/modules/test_na_ontap_partitions.py: skipping as missing required netapp_lib 1691s SKIPPED [30] tests/unit/plugins/modules/test_na_ontap_ports.py: skipping as missing required netapp_lib 1691s SKIPPED [17] tests/unit/plugins/modules/test_na_ontap_net_port.py: skipping as missing required netapp_lib 1691s SKIPPED [23] tests/unit/plugins/modules/test_na_ontap_net_routes.py: skipping as missing required netapp_lib 1691s SKIPPED [23] tests/unit/plugins/modules/test_na_ontap_portset.py: skipping as missing required netapp_lib 1691s SKIPPED [13] tests/unit/plugins/modules/test_na_ontap_net_subnet.py: skipping as missing required netapp_lib 1691s SKIPPED [12] tests/unit/plugins/modules/test_na_ontap_nfs.py: skipping as missing required netapp_lib 1691s SKIPPED [16] tests/unit/plugins/modules/test_na_ontap_qos_adaptive_policy_group.py: skipping as missing required netapp_lib 1691s SKIPPED [39] tests/unit/plugins/modules/test_na_ontap_qos_policy_group.py: skipping as missing required netapp_lib 1691s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_node.py: skipping as missing required netapp_lib 1692s SKIPPED [9] tests/unit/plugins/modules/test_na_ontap_ntfs_dacl.py: skipping as missing required netapp_lib 1692s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_ntfs_sd.py: skipping as missing required netapp_lib 1692s SKIPPED [29] tests/unit/plugins/modules/test_na_ontap_qtree.py: skipping as missing required netapp_lib 1692s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_nvme.py: skipping as missing required netapp_lib 1692s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_nvme_namespace.py: skipping as missing required netapp_lib 1692s SKIPPED [9] tests/unit/plugins/modules/test_na_ontap_quota_policy.py: skipping as missing required netapp_lib 1692s SKIPPED [47] tests/unit/plugins/modules/test_na_ontap_quotas.py: skipping as missing required netapp_lib 1692s SKIPPED [11] tests/unit/plugins/modules/test_na_ontap_restit.py: skipping as missing required netapp_lib 1692s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_security_config.py: skipping as missing required netapp_lib 1692s SKIPPED [27] tests/unit/plugins/modules/test_na_ontap_security_key_manager.py: skipping as missing required netapp_lib 1692s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_security_ssh.py: skipping as missing required netapp_lib 1692s SKIPPED [17] tests/unit/plugins/modules/test_na_ontap_service_processor_network.py: skipping as missing required netapp_lib 1692s SKIPPED [33] tests/unit/plugins/modules/test_na_ontap_snapmirror_policy.py: skipping as missing required netapp_lib 1692s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_snaplock_clock.py: skipping as missing required netapp_lib 1692s SKIPPED [79] tests/unit/plugins/modules/test_na_ontap_snapmirror.py: skipping as missing required netapp_lib 1692s SKIPPED [19] tests/unit/plugins/modules/test_na_ontap_snapshot.py: skipping as missing required netapp_lib 1692s SKIPPED [20] tests/unit/plugins/modules/test_na_ontap_snapshot_policy.py: skipping as missing required netapp_lib 1692s SKIPPED [30] tests/unit/plugins/modules/test_na_ontap_snapshot_policy_rest.py: skipping as missing required netapp_lib 1692s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_snmp_traphosts.py: skipping as missing required netapp_lib 1692s SKIPPED [44] tests/unit/plugins/modules/test_na_ontap_software_update.py: skipping as missing required netapp_lib 1692s SKIPPED [83] tests/unit/plugins/modules/test_na_ontap_svm.py: skipping as missing required netapp_lib 1692s SKIPPED [10] tests/unit/plugins/modules/test_na_ontap_storage_auto_giveback.py: skipping as missing required netapp_lib 1692s SKIPPED [15] tests/unit/plugins/modules/test_na_ontap_storage_failover.py: skipping as missing required netapp_lib 1692s SKIPPED [2] tests/unit/plugins/modules/test_na_ontap_template.py: skipping as missing required netapp_lib 1692s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_ucadapter.py: skipping as missing required netapp_lib 1692s SKIPPED [35] tests/unit/plugins/modules/test_na_ontap_unix_group.py: skipping as missing required netapp_lib 1692s SKIPPED [39] tests/unit/plugins/modules/test_na_ontap_user.py: skipping as missing required netapp_lib 1692s SKIPPED [25] tests/unit/plugins/modules/test_na_ontap_user_dicts.py: skipping as missing required netapp_lib 1692s SKIPPED [26] tests/unit/plugins/modules/test_na_ontap_unix_user.py: skipping as missing required netapp_lib 1692s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_user_role.py: skipping as missing required netapp_lib 1692s SKIPPED [111] tests/unit/plugins/modules/test_na_ontap_volume.py: skipping as missing required netapp_lib 1692s SKIPPED [20] tests/unit/plugins/modules/test_na_ontap_volume_autosize.py: skipping as missing required netapp_lib 1692s SKIPPED [11] tests/unit/plugins/modules/test_na_ontap_volume_clone.py: skipping as missing required netapp_lib 1692s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_volume_clone_rest.py: skipping as missing required netapp_lib 1692s SKIPPED [16] tests/unit/plugins/modules/test_na_ontap_volume_efficiency.py: skipping as missing required netapp_lib 1692s SKIPPED [94] tests/unit/plugins/modules/test_na_ontap_volume_rest.py: skipping as missing required netapp_lib 1692s SKIPPED [4] tests/unit/plugins/modules/test_na_ontap_volume_snaplock.py: skipping as missing required netapp_lib 1692s SKIPPED [10] tests/unit/plugins/modules/test_na_ontap_vscan.py: skipping as missing required netapp_lib 1692s SKIPPED [21] tests/unit/plugins/modules/test_na_ontap_vscan_on_access_policy.py: skipping as missing required netapp_lib 1692s SKIPPED [7] tests/unit/plugins/modules/test_na_ontap_vscan_on_demand_task.py: skipping as missing required netapp_lib 1692s SKIPPED [9] tests/unit/plugins/modules/test_na_ontap_vscan_on_demand_task_rest.py: skipping as missing required netapp_lib 1692s SKIPPED [8] tests/unit/plugins/modules/test_na_ontap_vscan_scanner_pool.py: skipping as missing required netapp_lib 1692s SKIPPED [14] tests/unit/plugins/modules/test_na_ontap_vserver_audit.py: skipping as missing required netapp_lib 1692s SKIPPED [28] tests/unit/plugins/modules/test_na_ontap_vserver_peer.py: skipping as missing required netapp_lib 1692s SKIPPED [6] tests/unit/plugins/modules/test_na_ontap_vserver_cifs_security.py: skipping as missing required netapp_lib 1692s SKIPPED [20] tests/unit/plugins/modules/test_na_ontap_wait_for_condition.py: skipping as missing required netapp_lib 1692s SKIPPED [13] tests/unit/plugins/modules/test_na_ontap_zapit.py: skipping as missing required netapp_lib 1692s FAILED tests/unit/plugins/modules/test_na_ontap_autosupport_invoke.py::TestMyModule::test_zapi_send_error 1692s ================= 1 failed, 645 passed, 2358 skipped in 26.42s ================= 1692s 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.NviVNE/build.FtY/src/ansible_collections/netapp/ontap/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/ontap --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1692s ## return code is 1 1692s 1692s 1692s 1692s ############################################################ 1692s ############################################################ 1692s #### Running FLAKY tests in ansible_collections/ngine_io/cloudstack 1692s ############################################################ 1692s ############################################################ 1692s Unit test controller with Python 3.13 1693s ============================= test session starts ============================== 1693s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1693s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ngine_io/cloudstack 1693s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1693s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1693s created: 2/2 workers 1693s 2 workers [0 items] 1693s 1693s 1693s ==================================== ERRORS ==================================== 1693s _________ ERROR collecting tests/unit/modules/test_cs_traffic_type.py __________ 1693s ImportError while importing test module '/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ngine_io/cloudstack/tests/unit/modules/test_cs_traffic_type.py'. 1693s Hint: make sure your test modules/packages have valid Python names. 1693s Traceback: 1693s /usr/lib/python3.13/importlib/__init__.py:88: in import_module 1693s return _bootstrap._gcd_import(name[level:], package, level) 1693s /usr/lib/python3/dist-packages/ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py:65: in exec_module 1693s assertion_rewriting_hook.exec_module(module) 1693s tests/unit/modules/test_cs_traffic_type.py:4: in 1693s from units.compat import unittest 1693s E ModuleNotFoundError: No module named 'units' 1693s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ngine_io/cloudstack/tests/output/junit/python3.13-controller-units.xml - 1693s =========================== short test summary info ============================ 1693s ERROR tests/unit/modules/test_cs_traffic_type.py 1693s =============================== 1 error in 0.51s =============================== 1693s 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.NviVNE/build.FtY/src/ansible_collections/ngine_io/cloudstack/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ngine_io/cloudstack --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ngine_io/cloudstack tests/unit/modules/test_cs_traffic_type.py" returned exit status 1. 1693s ## return code is 1 1693s 1693s 1693s 1693s ############################################################ 1693s ############################################################ 1693s #### Running FLAKY tests in ansible_collections/sensu/sensu_go 1693s ############################################################ 1693s ############################################################ 1693s Unit test modules with Python 3.13 1695s ============================= test session starts ============================== 1695s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1695s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go 1695s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1695s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1695s created: 2/2 workers 1695s 2 workers [346 items] 1695s 1696s ........................................................................ [ 20%] 1696s ......................................................F................. [ 41%] 1697s ........................................................................ [ 62%] 1697s ........................................................................ [ 83%] 1698s .......................................................... [100%] 1698s =================================== FAILURES =================================== 1698s _ TestDatastoreParams.test_parameters_datastore[my_resource-absent--None-None-None-None-None-None-False-True-expected_payload2] _ 1698s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1698s 1698s self = 1698s mocker = 1698s name = 'my_resource', state = 'absent', dsn = '', pool_size = None 1698s max_conn_lifetime = None, max_idle_conns = None, batch_workers = None 1698s batch_buffer = None, batch_size = None, enable_round_robin = False 1698s strict = True 1698s expected_payload = {'api_version': 'store/v1', 'metadata': {'name': 'my_resource'}, 'spec': {'dsn': '', 'enable_round_robin': False, 'strict': True}, 'type': 'PostgresConfig'} 1698s 1698s @pytest.mark.parametrize( 1698s # name ... Resource name 1698s # state ... Prefered resource state (Present/Absent) 1698s # dsn ... url or postgre connection string 1698s # pool_size ... max number of connections 1698s # max_conn_lifetime ... max time a connection can persist 1698s # max_idle_conns ... max number of idle connections 1698s # batch_workers ... number of GOroutines 1698s # batch_buffer ... max requests to buffer in memory 1698s # batch_size ... number of requests in each transaction 1698s # enable_round_robin ... round robin (True/False) 1698s # strict ... strict (True/False) 1698s # expected_payload ... expected payload 1698s ("name", "state", "dsn", "pool_size", "max_conn_lifetime", "max_idle_conns", "batch_workers", 1698s "batch_buffer", "batch_size", "enable_round_robin", "strict", "expected_payload"), 1698s [ 1698s # Present 1698s ("my_resource", "present", "postgresql://user:secret@host:port/dbname", 2, 1, 1, 1, 1, 1, 1698s False, True, 1698s {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'my_resource'}, 1698s 'spec': 1698s { 1698s 'dsn': 'postgresql://user:secret@host:port/dbname', 'pool_size': 2, 'max_conn_lifetime': '1', 1698s 'max_idle_conns': 1, 'batch_workers': 1, 'batch_buffer': 1, 'batch_size': 1, 1698s 'enable_round_robin': False, 'strict': True}}), 1698s 1698s ("another_resource", "present", "postgresql://user:secret@host:port/dbname", 0, 0, 0, 0, 0, 0, 1698s False, False, 1698s {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'another_resource'}, 1698s 'spec': 1698s { 1698s 'dsn': 'postgresql://user:secret@host:port/dbname', 'pool_size': 0, 'max_conn_lifetime': '0', 1698s 'max_idle_conns': 0, 'batch_workers': 0, 'batch_buffer': 0, 'batch_size': 0, 1698s 'enable_round_robin': False, 'strict': False}}), 1698s # Absent 1698s ("my_resource", "absent", "", None, None, None, None, None, None, 1698s False, True, 1698s {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'my_resource'}, 1698s 'spec': 1698s { 1698s 'dsn': '', 'enable_round_robin': False, 'strict': True}}), 1698s 1698s ("my_resource", "absent", "postgresql://user:secret@host:port/dbname", 2, 1, 1, 1, 2, 3, 1698s False, True, 1698s {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'my_resource'}, 1698s 'spec': 1698s { 1698s 'dsn': 'postgresql://user:secret@host:port/dbname', 'pool_size': 2, 'max_conn_lifetime': '1', 1698s 'max_idle_conns': 1, 'batch_workers': 1, 'batch_buffer': 2, 'batch_size': 3, 1698s 'enable_round_robin': False, 'strict': True}}), 1698s ], 1698s ) 1698s def test_parameters_datastore(self, mocker, name, state, dsn, pool_size, max_conn_lifetime, max_idle_conns, batch_workers, 1698s batch_buffer, batch_size, enable_round_robin, strict, expected_payload): 1698s sync_mock = mocker.patch.object(datastore, "sync") 1698s sync_mock.return_value = True, {} 1698s set_module_args( 1698s name=name, 1698s dsn=dsn, 1698s state=state, 1698s pool_size=pool_size, 1698s max_conn_lifetime=max_conn_lifetime, 1698s max_idle_conns=max_idle_conns, 1698s batch_workers=batch_workers, 1698s batch_buffer=batch_buffer, 1698s batch_size=batch_size, 1698s enable_round_robin=enable_round_robin, 1698s strict=strict, 1698s ) 1698s with pytest.raises(AnsibleExitJson): 1698s > datastore.main() 1698s 1698s tests/unit/plugins/modules/test_datastore.py:343: 1698s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1698s plugins/modules/datastore.py:184: in main 1698s module = AnsibleModule( 1698s /tmp/ansible-test-4md8l0jj/ansible/module_utils/basic.py:445: in __init__ 1698s self.fail_json(msg=msg) 1698s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1698s 1698s args = (,) 1698s 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'} 1698s 1698s def fail_json(*args, **kwargs): 1698s kwargs['failed'] = True 1698s > raise AnsibleFailJson(kwargs) 1698s 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} 1698s 1698s tests/unit/plugins/modules/common/utils.py:38: AnsibleFailJson 1698s =============================== warnings summary =============================== 1698s tests/unit/plugins/modules/test_user.py::TestUpdatePasswordHash::test_sensu_go_older_than_5_21_0[False] 1698s tests/unit/plugins/modules/test_user.py::TestUpdatePasswordHash::test_sensu_go_older_than_5_21_0[True] 1698s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:120: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1698s client.version = version.StrictVersion("5.20.0") 1698s 1698s tests/unit/plugins/modules/test_user.py::TestUpdatePassword::test_password_is_invalid_older_than_5_21_0 1698s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:39: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1698s client.version = version.StrictVersion("5.20.2") 1698s 1698s tests/unit/plugins/modules/test_user.py::TestUpdatePasswordHash::test_sensu_go_newer_than_5_21_0 1698s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:129: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1698s client.version = version.StrictVersion("5.21.0") 1698s 1698s tests/unit/plugins/modules/test_user.py::TestUpdatePasswordHash::test_sensu_go_newer_than_5_21_0_check_mode 1698s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:146: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1698s client.version = version.StrictVersion("5.21.0") 1698s 1698s tests/unit/plugins/modules/test_user.py::TestUpdatePassword::test_password_is_invalid_5_21_0_or_newer 1698s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:53: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1698s client.version = version.StrictVersion("5.21.0") 1698s 1698s tests/unit/plugins/modules/test_user.py::TestUpdatePassword::test_missing_bcrypt_library[True-False-True] 1698s tests/unit/plugins/modules/test_user.py::TestUpdatePassword::test_missing_bcrypt_library[False-True-None] 1698s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py:105: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. 1698s client.version = version.StrictVersion("5.21.1") 1698s 1698s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1698s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go/tests/output/junit/python3.13-modules-units.xml - 1698s =========================== short test summary info ============================ 1698s 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] 1698s ================== 1 failed, 345 passed, 8 warnings in 4.52s =================== 1698s 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.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1698s ## return code is 1 1698s 1698s 1698s 1698s ############################################################ 1698s ############################################################ 1698s #### Running FLAKY tests in ansible_collections/splunk/es 1698s ############################################################ 1698s ############################################################ 1698s Unit test controller with Python 3.13 1700s ============================= test session starts ============================== 1700s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1700s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/splunk/es 1700s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1700s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1700s created: 2/2 workers 1700s 2 workers [31 items] 1700s 1700s ...............F............... [100%] 1700s =================================== FAILURES =================================== 1700s _ TestSplunkEsCorrelationSearches.test_es_correlation_searches_replaced_idempotent _ 1700s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1700s 1700s self = 1700s conn = 1700s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x6227934e43e0> 1700s 1700s @patch("ansible.module_utils.connection.Connection.__rpc__") 1700s def test_es_correlation_searches_replaced_idempotent( 1700s self, 1700s conn, 1700s monkeypatch, 1700s ): 1700s self._plugin._connection.socket_path = tempfile.NamedTemporaryFile().name 1700s self._plugin._connection._shell = MagicMock() 1700s 1700s def create_update(self, rest_path, data=None): 1700s return RESPONSE_PAYLOAD 1700s 1700s def get_by_path(self, path): 1700s return RESPONSE_PAYLOAD 1700s 1700s def delete_by_path(self, path): 1700s return {} 1700s 1700s monkeypatch.setattr(SplunkRequest, "create_update", create_update) 1700s monkeypatch.setattr(SplunkRequest, "get_by_path", get_by_path) 1700s monkeypatch.setattr(SplunkRequest, "delete_by_path", delete_by_path) 1700s 1700s self._plugin._task.args = { 1700s "state": "replaced", 1700s "config": [REQUEST_PAYLOAD[0]], 1700s } 1700s result = self._plugin.run(task_vars=self._task_vars) 1700s 1700s > assert result["changed"] is True 1700s E assert False is True 1700s 1700s tests/unit/plugins/action/test_es_correlation_searches.py:309: AssertionError 1700s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/splunk/es/tests/output/junit/python3.13-controller-units.xml - 1700s =========================== short test summary info ============================ 1700s FAILED tests/unit/plugins/action/test_es_correlation_searches.py::TestSplunkEsCorrelationSearches::test_es_correlation_searches_replaced_idempotent 1700s ========================= 1 failed, 30 passed in 1.39s ========================= 1700s 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.NviVNE/build.FtY/src/ansible_collections/splunk/es/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/splunk/es --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1700s ## return code is 1 1700s 1700s 1700s 1700s ############################################################ 1700s ############################################################ 1700s #### Running FLAKY tests in ansible_collections/vmware/vmware 1700s ############################################################ 1700s ############################################################ 1700s Unit test modules with Python 3.13 1702s ============================= test session starts ============================== 1702s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 1702s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vmware/vmware 1702s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini 1702s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0 1702s created: 2/2 workers 1702s 2 workers [18 items] 1702s 1702s ............FF...F [100%] 1702s =================================== FAILURES =================================== 1702s ____________________ TestModuleRestBase.test_get_vm_by_name ____________________ 1702s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1702s 1702s self = 1702s mocker = 1702s 1702s def test_get_vm_by_name(self, mocker): 1702s > self.__prepare(mocker) 1702s 1702s tests/unit/plugins/modules/test_utils_module_rest_base.py:21: 1702s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1702s tests/unit/plugins/modules/test_utils_module_rest_base.py:16: in __prepare 1702s self.base = ModuleRestBase( 1702s plugins/module_utils/_module_rest_base.py:29: in __init__ 1702s super().__init__(connection_params=module.params) 1702s plugins/module_utils/clients/_rest.py:48: in __init__ 1702s self.check_requirements() 1702s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1702s 1702s self = 1702s 1702s def check_requirements(self): 1702s """ 1702s Check all requirements for this client are satisfied 1702s """ 1702s if REQUESTS_IMP_ERR: 1702s raise MissingLibError('requests', REQUESTS_IMP_ERR) 1702s if VSPHERE_IMP_ERR: 1702s > raise MissingLibError( 1702s 'vSphere Automation SDK', VSPHERE_IMP_ERR, 1702s url='https://code.vmware.com/web/sdk/7.0/vsphere-automation-python' 1702s ) 1702s 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 1702s 1702s plugins/module_utils/clients/_rest.py:65: MissingLibError 1702s _______________ TestModuleRestBase.test_get_content_library_ids ________________ 1702s [gw0] linux -- Python 3.13.3 /usr/bin/python3 1702s 1702s self = 1702s mocker = 1702s 1702s def test_get_content_library_ids(self, mocker): 1702s > self.__prepare(mocker) 1702s 1702s tests/unit/plugins/modules/test_utils_module_rest_base.py:29: 1702s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1702s tests/unit/plugins/modules/test_utils_module_rest_base.py:16: in __prepare 1702s self.base = ModuleRestBase( 1702s plugins/module_utils/_module_rest_base.py:29: in __init__ 1702s super().__init__(connection_params=module.params) 1702s plugins/module_utils/clients/_rest.py:48: in __init__ 1702s self.check_requirements() 1702s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1702s 1702s self = 1702s 1702s def check_requirements(self): 1702s """ 1702s Check all requirements for this client are satisfied 1702s """ 1702s if REQUESTS_IMP_ERR: 1702s raise MissingLibError('requests', REQUESTS_IMP_ERR) 1702s if VSPHERE_IMP_ERR: 1702s > raise MissingLibError( 1702s 'vSphere Automation SDK', VSPHERE_IMP_ERR, 1702s url='https://code.vmware.com/web/sdk/7.0/vsphere-automation-python' 1702s ) 1702s 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 1702s 1702s plugins/module_utils/clients/_rest.py:65: MissingLibError 1702s _____________________ TestRestClient.test_get_tags_by_moid _____________________ 1702s [gw1] linux -- Python 3.13.3 /usr/bin/python3 1702s 1702s self = 1702s mocker = 1702s 1702s def test_get_tags_by_moid(self, mocker): 1702s > self.__prepare(mocker) 1702s 1702s tests/unit/plugins/modules/test_utils_rest_client.py:21: 1702s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1702s tests/unit/plugins/modules/test_utils_rest_client.py:10: in __prepare 1702s client_mock = mocker.patch('ansible_collections.vmware.vmware.plugins.module_utils.clients._rest.create_vsphere_client') 1702s /usr/lib/python3/dist-packages/pytest_mock/plugin.py:440: in __call__ 1702s return self._start_patch( 1702s /usr/lib/python3/dist-packages/pytest_mock/plugin.py:258: in _start_patch 1702s mocked: MockType = p.start() 1702s /usr/lib/python3.13/unittest/mock.py:1654: in start 1702s result = self.__enter__() 1702s /usr/lib/python3.13/unittest/mock.py:1497: in __enter__ 1702s original, local = self.get_original() 1702s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1702s 1702s self = 1702s 1702s def get_original(self): 1702s target = self.getter() 1702s name = self.attribute 1702s 1702s original = DEFAULT 1702s local = False 1702s 1702s try: 1702s original = target.__dict__[name] 1702s except (AttributeError, KeyError): 1702s original = getattr(target, name, DEFAULT) 1702s else: 1702s local = True 1702s 1702s if name in _builtins and isinstance(target, ModuleType): 1702s self.create = True 1702s 1702s if not self.create and original is DEFAULT: 1702s > raise AttributeError( 1702s "%s does not have the attribute %r" % (target, name) 1702s ) 1702s E AttributeError: does not have the attribute 'create_vsphere_client' 1702s 1702s /usr/lib/python3.13/unittest/mock.py:1467: AttributeError 1702s =============================== warnings summary =============================== 1702s tests/unit/plugins/modules/test_utils_pyvmomi_client.py::TestPyvmomiClient::test_get_all_objs_by_type 1702s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vmware/vmware/plugins/module_utils/clients/_pyvmomi.py:130: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 1702s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) 1702s 1702s tests/unit/plugins/modules/test_utils_pyvmomi_client.py::TestPyvmomiClient::test_class_init 1702s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vmware/vmware/plugins/module_utils/clients/_pyvmomi.py:125: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 1702s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) 1702s 1702s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1702s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vmware/vmware/tests/output/junit/python3.13-modules-units.xml - 1702s =========================== short test summary info ============================ 1702s FAILED tests/unit/plugins/modules/test_utils_module_rest_base.py::TestModuleRestBase::test_get_vm_by_name 1702s FAILED tests/unit/plugins/modules/test_utils_module_rest_base.py::TestModuleRestBase::test_get_content_library_ids 1702s FAILED tests/unit/plugins/modules/test_utils_rest_client.py::TestRestClient::test_get_tags_by_moid 1702s =================== 3 failed, 15 passed, 2 warnings in 1.15s =================== 1702s 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.NviVNE/build.FtY/src/ansible_collections/vmware/vmware/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vmware/vmware --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1702s ## return code is 1 1702s ############################################################ 1702s ############################################################ 1702s #### failed tests are: 1702s #### ansible_collections/ansible/utils 1702s #### ansible_collections/cisco/aci 1702s #### ansible_collections/cisco/dnac 1702s #### ansible_collections/community/dns 1702s #### ansible_collections/community/general 1702s #### ansible_collections/community/hrobot 1702s #### ansible_collections/community/library_inventory_filtering_v1 1702s #### ansible_collections/infoblox/nios_modules 1702s #### ansible_collections/junipernetworks/junos 1702s #### ansible_collections/netapp_eseries/santricity 1702s #### ansible_collections/netapp/ontap 1702s #### ansible_collections/ngine_io/cloudstack 1702s #### ansible_collections/sensu/sensu_go 1702s #### ansible_collections/splunk/es 1702s #### ansible_collections/vmware/vmware 1702s ############################################################ 1702s ############################################################ 1702s autopkgtest [08:18:04]: test unit-tests-flaky.py: -----------------------] 1705s autopkgtest [08:18:07]: test unit-tests-flaky.py: - - - - - - - - - - results - - - - - - - - - - 1705s unit-tests-flaky.py FLAKY non-zero exit status 1 1705s autopkgtest [08:18:07]: test unit-tests-flaky.py: - - - - - - - - - - stderr - - - - - - - - - - 1705s 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.NviVNE/build.FtY/src/ansible_collections/ansible/utils/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/utils --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1705s 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.NviVNE/build.FtY/src/ansible_collections/cisco/aci/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/aci --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/aci tests/unit/module_utils/test_aci.py" returned exit status 1. 1705s 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.NviVNE/build.FtY/src/ansible_collections/cisco/dnac/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/dnac --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1705s 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.NviVNE/build.FtY/src/ansible_collections/community/dns/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/dns --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1705s 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.NviVNE/build.FtY/src/ansible_collections/community/general/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/general --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1705s 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.NviVNE/build.FtY/src/ansible_collections/community/hrobot/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hrobot --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1705s 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.NviVNE/build.FtY/src/ansible_collections/community/library_inventory_filtering_v1/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/library_inventory_filtering_v1 --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/library_inventory_filtering_v1 tests/unit/plugins/plugin_utils/test_inventory_filter.py" returned exit status 1. 1705s 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.NviVNE/build.FtY/src/ansible_collections/infoblox/nios_modules/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/infoblox/nios_modules --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1705s 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.NviVNE/build.FtY/src/ansible_collections/junipernetworks/junos/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/junipernetworks/junos --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1705s 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.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp_eseries/santricity --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1705s 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.NviVNE/build.FtY/src/ansible_collections/netapp/ontap/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/ontap --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1705s 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.NviVNE/build.FtY/src/ansible_collections/ngine_io/cloudstack/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ngine_io/cloudstack --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ngine_io/cloudstack tests/unit/modules/test_cs_traffic_type.py" returned exit status 1. 1705s 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.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/sensu/sensu_go --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1705s 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.NviVNE/build.FtY/src/ansible_collections/splunk/es/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/splunk/es --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1705s 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.NviVNE/build.FtY/src/ansible_collections/vmware/vmware/tests/output/junit/python3.13-modules-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vmware/vmware --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/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. 1706s autopkgtest [08:18:08]: @@@@@@@@@@@@@@@@@@@@ summary 1706s unit-tests-stable.py PASS 1706s unit-tests-flaky.py FLAKY non-zero exit status 1 1726s nova [W] Using flock in prodstack6-ppc64el 1726s Creating nova instance adt-questing-ppc64el-ansible-20250502-074942-juju-7f2275-prod-proposed-migration-environment-15-8bce4135-85bd-47b8-a8d3-ee686d46594b from image adt/ubuntu-questing-ppc64el-server-20250502.img (UUID 7a0939ac-dfd3-4678-92e9-ba08dcd47f5c)... 1726s nova [W] Timed out waiting for 4a5c1809-2c4f-43bc-a7ab-6a65706ddd3d to get deleted. 1726s nova [W] Using flock in prodstack6-ppc64el 1726s Creating nova instance adt-questing-ppc64el-ansible-20250502-074942-juju-7f2275-prod-proposed-migration-environment-15-8bce4135-85bd-47b8-a8d3-ee686d46594b from image adt/ubuntu-questing-ppc64el-server-20250502.img (UUID 7a0939ac-dfd3-4678-92e9-ba08dcd47f5c)... 1726s nova [W] Timed out waiting for 460f8c56-a84d-4f03-bfb7-b5c8c98d841d to get deleted.