0s autopkgtest [04:43:33]: starting date and time: 2025-05-03 04:43:33+0000
0s autopkgtest [04:43:33]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production'
0s autopkgtest [04:43:33]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.stsf3u3y/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:python-redis --apt-upgrade ansible --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python-redis/5.2.1-1 -- lxd -r lxd-armhf-10.145.243.229 lxd-armhf-10.145.243.229:autopkgtest/ubuntu/questing/armhf
19s autopkgtest [04:43:52]: testbed dpkg architecture: armhf
21s autopkgtest [04:43:54]: testbed apt version: 3.0.0
25s autopkgtest [04:43:58]: @@@@@@@@@@@@@@@@@@@@ test bed setup
27s autopkgtest [04:44:00]: testbed release detected to be: None
34s autopkgtest [04:44:07]: updating testbed package index (apt update)
36s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB]
36s Get:2 http://ftpmaster.internal/ubuntu questing InRelease [110 kB]
36s Get:3 http://ftpmaster.internal/ubuntu questing-updates InRelease [110 kB]
36s Get:4 http://ftpmaster.internal/ubuntu questing-security InRelease [110 kB]
36s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [162 kB]
36s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [43.3 kB]
36s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [1839 kB]
36s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main armhf Packages [197 kB]
36s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe armhf Packages [1341 kB]
37s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse armhf Packages [12.2 kB]
37s Get:11 http://ftpmaster.internal/ubuntu questing/universe Sources [21.1 MB]
37s Get:12 http://ftpmaster.internal/ubuntu questing/multiverse Sources [299 kB]
37s Get:13 http://ftpmaster.internal/ubuntu questing/main Sources [1395 kB]
37s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf Packages [1358 kB]
37s Get:15 http://ftpmaster.internal/ubuntu questing/universe armhf Packages [15.4 MB]
38s Get:16 http://ftpmaster.internal/ubuntu questing/multiverse armhf Packages [173 kB]
41s Fetched 43.7 MB in 5s (8153 kB/s)
42s Reading package lists...
48s autopkgtest [04:44:21]: upgrading testbed (apt dist-upgrade and autopurge)
49s Reading package lists...
49s Building dependency tree...
49s Reading state information...
50s Calculating upgrade...Starting pkgProblemResolver with broken count: 0
50s Starting 2 pkgProblemResolver with broken count: 0
50s Done
51s Entering ResolveByKeep
51s
51s Calculating upgrade...
52s The following packages will be upgraded:
52s base-files distro-info-data dpkg dpkg-dev ed fwupd htop libdpkg-perl
52s libftdi1-2 libfwupd3 libnpth0t64 libnvme1t64 libsensors-config libsensors5
52s liburcu8t64 motd-news-config nano ubuntu-pro-client ubuntu-pro-client-l10n
52s usb.ids
52s 20 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
52s Need to get 5431 kB of archives.
52s After this operation, 3722 kB disk space will be freed.
52s Get:1 http://ftpmaster.internal/ubuntu questing/main armhf motd-news-config all 13.7ubuntu1 [5260 B]
52s Get:2 http://ftpmaster.internal/ubuntu questing/main armhf base-files armhf 13.7ubuntu1 [75.4 kB]
52s Get:3 http://ftpmaster.internal/ubuntu questing/main armhf dpkg armhf 1.22.18ubuntu3 [1254 kB]
52s Get:4 http://ftpmaster.internal/ubuntu questing/main armhf libnpth0t64 armhf 1.8-3 [7716 B]
52s Get:5 http://ftpmaster.internal/ubuntu questing/main armhf distro-info-data all 0.64 [6664 B]
52s Get:6 http://ftpmaster.internal/ubuntu questing/main armhf ubuntu-pro-client-l10n armhf 35.1ubuntu0 [19.7 kB]
52s Get:7 http://ftpmaster.internal/ubuntu questing/main armhf ubuntu-pro-client armhf 35.1ubuntu0 [258 kB]
52s Get:8 http://ftpmaster.internal/ubuntu questing/main armhf ed armhf 1.21.1-1 [53.0 kB]
52s Get:9 http://ftpmaster.internal/ubuntu questing/main armhf libsensors-config all 1:3.6.2-2 [6756 B]
52s Get:10 http://ftpmaster.internal/ubuntu questing/main armhf libsensors5 armhf 1:3.6.2-2 [26.8 kB]
52s Get:11 http://ftpmaster.internal/ubuntu questing/main armhf liburcu8t64 armhf 0.15.2-2 [57.3 kB]
53s Get:12 http://ftpmaster.internal/ubuntu questing/main armhf nano armhf 8.4-1 [278 kB]
53s Get:13 http://ftpmaster.internal/ubuntu questing/main armhf usb.ids all 2025.04.01-1 [223 kB]
53s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf dpkg-dev all 1.22.18ubuntu3 [1089 kB]
53s Get:15 http://ftpmaster.internal/ubuntu questing/main armhf libdpkg-perl all 1.22.18ubuntu3 [281 kB]
53s Get:16 http://ftpmaster.internal/ubuntu questing/main armhf fwupd armhf 2.0.8-3 [1414 kB]
53s Get:17 http://ftpmaster.internal/ubuntu questing/main armhf libfwupd3 armhf 2.0.8-3 [126 kB]
53s Get:18 http://ftpmaster.internal/ubuntu questing/main armhf htop armhf 3.4.1-4 [147 kB]
53s Get:19 http://ftpmaster.internal/ubuntu questing/main armhf libftdi1-2 armhf 1.5-10 [27.8 kB]
53s Get:20 http://ftpmaster.internal/ubuntu questing/main armhf libnvme1t64 armhf 1.13-2 [74.3 kB]
53s Fetched 5431 kB in 1s (7161 kB/s)
53s (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 ... 63953 files and directories currently installed.)
53s Preparing to unpack .../motd-news-config_13.7ubuntu1_all.deb ...
53s Unpacking motd-news-config (13.7ubuntu1) over (13.6ubuntu2) ...
53s Preparing to unpack .../base-files_13.7ubuntu1_armhf.deb ...
53s Unpacking base-files (13.7ubuntu1) over (13.6ubuntu2) ...
53s Setting up base-files (13.7ubuntu1) ...
53s Installing new version of config file /etc/issue ...
53s Installing new version of config file /etc/issue.net ...
53s Installing new version of config file /etc/lsb-release ...
54s motd-news.service is a disabled or a static unit not running, not starting it.
54s (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 ... 63953 files and directories currently installed.)
54s Preparing to unpack .../dpkg_1.22.18ubuntu3_armhf.deb ...
54s Unpacking dpkg (1.22.18ubuntu3) over (1.22.18ubuntu2) ...
54s Setting up dpkg (1.22.18ubuntu3) ...
55s (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 ... 63953 files and directories currently installed.)
55s Preparing to unpack .../libnpth0t64_1.8-3_armhf.deb ...
55s Unpacking libnpth0t64:armhf (1.8-3) over (1.8-2) ...
55s Setting up libnpth0t64:armhf (1.8-3) ...
55s (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 ... 63953 files and directories currently installed.)
55s Preparing to unpack .../00-distro-info-data_0.64_all.deb ...
55s Unpacking distro-info-data (0.64) over (0.63) ...
55s Preparing to unpack .../01-ubuntu-pro-client-l10n_35.1ubuntu0_armhf.deb ...
55s Unpacking ubuntu-pro-client-l10n (35.1ubuntu0) over (35) ...
55s Preparing to unpack .../02-ubuntu-pro-client_35.1ubuntu0_armhf.deb ...
55s Unpacking ubuntu-pro-client (35.1ubuntu0) over (35) ...
55s Preparing to unpack .../03-ed_1.21.1-1_armhf.deb ...
55s Unpacking ed (1.21.1-1) over (1.21-1) ...
55s Preparing to unpack .../04-libsensors-config_1%3a3.6.2-2_all.deb ...
55s Unpacking libsensors-config (1:3.6.2-2) over (1:3.6.0-10) ...
55s Preparing to unpack .../05-libsensors5_1%3a3.6.2-2_armhf.deb ...
55s Unpacking libsensors5:armhf (1:3.6.2-2) over (1:3.6.0-10) ...
55s Preparing to unpack .../06-liburcu8t64_0.15.2-2_armhf.deb ...
55s Unpacking liburcu8t64:armhf (0.15.2-2) over (0.15.1-1) ...
55s Preparing to unpack .../07-nano_8.4-1_armhf.deb ...
55s Unpacking nano (8.4-1) over (8.3-1) ...
55s Preparing to unpack .../08-usb.ids_2025.04.01-1_all.deb ...
55s Unpacking usb.ids (2025.04.01-1) over (2025.01.14-1) ...
55s Preparing to unpack .../09-dpkg-dev_1.22.18ubuntu3_all.deb ...
55s Unpacking dpkg-dev (1.22.18ubuntu3) over (1.22.18ubuntu2) ...
55s Preparing to unpack .../10-libdpkg-perl_1.22.18ubuntu3_all.deb ...
55s Unpacking libdpkg-perl (1.22.18ubuntu3) over (1.22.18ubuntu2) ...
55s Preparing to unpack .../11-fwupd_2.0.8-3_armhf.deb ...
56s Unpacking fwupd (2.0.8-3) over (2.0.7-1) ...
56s dpkg: warning: unable to delete old directory '/etc/grub.d': Directory not empty
56s Preparing to unpack .../12-libfwupd3_2.0.8-3_armhf.deb ...
56s Unpacking libfwupd3:armhf (2.0.8-3) over (2.0.7-1) ...
56s Preparing to unpack .../13-htop_3.4.1-4_armhf.deb ...
56s Unpacking htop (3.4.1-4) over (3.4.0-2) ...
56s Preparing to unpack .../14-libftdi1-2_1.5-10_armhf.deb ...
56s Unpacking libftdi1-2:armhf (1.5-10) over (1.5-8build1) ...
56s Preparing to unpack .../15-libnvme1t64_1.13-2_armhf.deb ...
56s Unpacking libnvme1t64 (1.13-2) over (1.11.1-2) ...
56s Setting up motd-news-config (13.7ubuntu1) ...
56s Setting up liburcu8t64:armhf (0.15.2-2) ...
56s Setting up distro-info-data (0.64) ...
56s Setting up htop (3.4.1-4) ...
56s Setting up libsensors-config (1:3.6.2-2) ...
56s Installing new version of config file /etc/sensors3.conf ...
56s Setting up libfwupd3:armhf (2.0.8-3) ...
56s Setting up libftdi1-2:armhf (1.5-10) ...
56s Setting up libnvme1t64 (1.13-2) ...
56s Setting up ed (1.21.1-1) ...
56s Setting up usb.ids (2025.04.01-1) ...
56s Setting up libsensors5:armhf (1:3.6.2-2) ...
56s Setting up libdpkg-perl (1.22.18ubuntu3) ...
56s Setting up nano (8.4-1) ...
56s Installing new version of config file /etc/nanorc ...
56s Setting up ubuntu-pro-client (35.1ubuntu0) ...
56s apparmor_parser: Unable to replace "ubuntu_pro_apt_news". apparmor_parser: Access denied. You need policy admin privileges to manage profiles.
56s
56s apparmor_parser: Unable to replace "apt_methods". apparmor_parser: Access denied. You need policy admin privileges to manage profiles.
56s
56s apparmor_parser: Unable to replace "ubuntu_pro_esm_cache". apparmor_parser: Access denied. You need policy admin privileges to manage profiles.
56s
58s Setting up fwupd (2.0.8-3) ...
58s fwupd-refresh.service is a disabled or a static unit not running, not starting it.
58s fwupd.service is a disabled or a static unit not running, not starting it.
58s Setting up ubuntu-pro-client-l10n (35.1ubuntu0) ...
58s Setting up dpkg-dev (1.22.18ubuntu3) ...
58s Processing triggers for dbus (1.16.2-2ubuntu1) ...
58s Processing triggers for install-info (7.1.1-1) ...
58s Processing triggers for libc-bin (2.41-6ubuntu1) ...
59s Processing triggers for man-db (2.13.0-1) ...
60s Processing triggers for plymouth-theme-ubuntu-text (24.004.60-2ubuntu7) ...
60s Processing triggers for initramfs-tools (0.147ubuntu1) ...
62s Reading package lists...
63s Building dependency tree...
63s Reading state information...
64s Starting pkgProblemResolver with broken count: 0
64s Starting 2 pkgProblemResolver with broken count: 0
64s Done
65s Solving dependencies...
66s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
67s autopkgtest [04:44:40]: rebooting testbed after setup commands that affected boot
106s autopkgtest [04:45:19]: testbed running kernel: Linux 6.8.0-58-generic #60~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 28 14:48:37 UTC 2
130s autopkgtest [04:45:43]: @@@@@@@@@@@@@@@@@@@@ apt-source ansible
141s Get:1 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (dsc) [3353 B]
141s Get:2 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (tar) [26.7 MB]
141s Get:3 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (diff) [32.9 kB]
141s gpgv: Signature made Thu Feb 27 17:38:46 2025 UTC
141s gpgv: using RSA key D847C62510A9C2FF242CE02CD604A1C4823EE0F8
141s gpgv: Can't check signature: No public key
141s dpkg-source: warning: cannot verify inline signature for ./ansible_11.2.0+dfsg-1.dsc: no acceptable signature found
146s autopkgtest [04:45:59]: testing package ansible version 11.2.0+dfsg-1
148s autopkgtest [04:46:01]: build not needed
159s autopkgtest [04:46:12]: test unit-tests-stable.py: preparing testbed
161s Reading package lists...
161s Building dependency tree...
162s Reading state information...
162s Starting pkgProblemResolver with broken count: 0
162s Starting 2 pkgProblemResolver with broken count: 0
162s Done
163s The following NEW packages will be installed:
163s ansible ansible-core fontconfig-config fonts-dejavu-core fonts-dejavu-mono
163s gir1.2-secret-1 git git-man ieee-data libcairo-gobject2 libcairo2
163s liberror-perl libfontconfig1 libfreetype6 libpixman-1-0 libsecret-1-0
163s libsecret-common libsodium23 libxcb-render0 libxcb-shm0 libxrender1
163s libxslt1.1 python3-adal python3-aiohappyeyeballs python3-aiohttp
163s python3-aiosignal python3-async-timeout python3-avro python3-azure
163s python3-azure-storage python3-cachetools python3-cairo python3-click
163s python3-colorama python3-dnspython python3-execnet python3-flake8
163s python3-freezegun python3-frozenlist python3-gi-cairo python3-gitlab
163s python3-google-auth python3-httmock python3-hvac python3-iniconfig
163s python3-isodate python3-joblib python3-kubernetes python3-lxml
163s python3-marshmallow python3-mccabe python3-mock python3-msal
163s python3-msal-extensions python3-msrest python3-msrestazure python3-multidict
163s python3-nacl python3-netaddr python3-nltk python3-paramiko python3-pathspec
163s python3-pluggy python3-portalocker python3-proxmoxer python3-psutil
163s python3-py python3-pyasn1 python3-pyasn1-modules python3-pycodestyle
163s python3-pydash python3-pyflakes python3-pyhcl python3-pytest
163s python3-pytest-forked python3-pytest-mock python3-pytest-xdist python3-pyu2f
163s python3-pyvmomi python3-redis python3-regex python3-requests-oauthlib
163s python3-requests-toolbelt python3-resolvelib python3-responses python3-rsa
163s python3-ruamel.yaml python3-ruamel.yaml.clib python3-strictyaml
163s python3-textfsm python3-tqdm python3-websocket python3-xmltodict
163s python3-yarl yamllint
163s 0 upgraded, 95 newly installed, 0 to remove and 0 not upgraded.
163s Need to get 54.6 MB of archives.
163s After this operation, 903 MB of additional disk space will be used.
163s Get:1 http://ftpmaster.internal/ubuntu questing/universe armhf python3-resolvelib all 1.1.0-1 [25.8 kB]
163s Get:2 http://ftpmaster.internal/ubuntu questing/main armhf libsodium23 armhf 1.0.18-1build3 [139 kB]
163s Get:3 http://ftpmaster.internal/ubuntu questing/main armhf python3-nacl armhf 1.5.0-7 [54.8 kB]
163s Get:4 http://ftpmaster.internal/ubuntu questing/main armhf python3-paramiko all 3.5.1-2ubuntu1 [147 kB]
163s Get:5 http://ftpmaster.internal/ubuntu questing/main armhf python3-dnspython all 2.7.0-1ubuntu1 [167 kB]
163s Get:6 http://ftpmaster.internal/ubuntu questing/main armhf ieee-data all 20240722 [2300 kB]
164s Get:7 http://ftpmaster.internal/ubuntu questing/main armhf python3-netaddr all 1.3.0-1 [363 kB]
164s Get:8 http://ftpmaster.internal/ubuntu questing/universe armhf ansible-core all 2.18.1-4ubuntu1 [1273 kB]
164s Get:9 http://ftpmaster.internal/ubuntu questing/universe armhf ansible all 11.2.0+dfsg-1 [18.1 MB]
165s Get:10 http://ftpmaster.internal/ubuntu questing/main armhf fonts-dejavu-mono all 2.37-8 [502 kB]
165s Get:11 http://ftpmaster.internal/ubuntu questing/main armhf fonts-dejavu-core all 2.37-8 [835 kB]
165s Get:12 http://ftpmaster.internal/ubuntu questing/main armhf fontconfig-config armhf 2.15.0-2.2ubuntu1 [37.9 kB]
165s Get:13 http://ftpmaster.internal/ubuntu questing/main armhf libsecret-common all 0.21.7-1 [5160 B]
165s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf libsecret-1-0 armhf 0.21.7-1 [105 kB]
165s Get:15 http://ftpmaster.internal/ubuntu questing/main armhf gir1.2-secret-1 armhf 0.21.7-1 [9392 B]
165s Get:16 http://ftpmaster.internal/ubuntu questing/main armhf liberror-perl all 0.17030-1 [23.5 kB]
165s Get:17 http://ftpmaster.internal/ubuntu questing/main armhf git-man all 1:2.48.1-0ubuntu1 [1148 kB]
165s Get:18 http://ftpmaster.internal/ubuntu questing/main armhf git armhf 1:2.48.1-0ubuntu1 [4561 kB]
165s Get:19 http://ftpmaster.internal/ubuntu questing/main armhf libfreetype6 armhf 2.13.3+dfsg-1 [330 kB]
165s Get:20 http://ftpmaster.internal/ubuntu questing/main armhf libfontconfig1 armhf 2.15.0-2.2ubuntu1 [114 kB]
165s Get:21 http://ftpmaster.internal/ubuntu questing/main armhf libpixman-1-0 armhf 0.44.0-3 [183 kB]
165s Get:22 http://ftpmaster.internal/ubuntu questing/main armhf libxcb-render0 armhf 1.17.0-2 [15.3 kB]
165s Get:23 http://ftpmaster.internal/ubuntu questing/main armhf libxcb-shm0 armhf 1.17.0-2 [5774 B]
165s Get:24 http://ftpmaster.internal/ubuntu questing/main armhf libxrender1 armhf 1:0.9.10-1.1build1 [16.0 kB]
165s Get:25 http://ftpmaster.internal/ubuntu questing/main armhf libcairo2 armhf 1.18.4-1 [483 kB]
165s Get:26 http://ftpmaster.internal/ubuntu questing/main armhf libcairo-gobject2 armhf 1.18.4-1 [126 kB]
165s Get:27 http://ftpmaster.internal/ubuntu questing/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu4 [151 kB]
165s Get:28 http://ftpmaster.internal/ubuntu questing/universe armhf python3-adal all 1.2.7-5 [33.0 kB]
165s Get:29 http://ftpmaster.internal/ubuntu questing/universe armhf python3-aiohappyeyeballs all 2.6.1-1 [11.1 kB]
165s Get:30 http://ftpmaster.internal/ubuntu questing/universe armhf python3-multidict armhf 6.2.0-2 [32.8 kB]
165s Get:31 http://ftpmaster.internal/ubuntu questing/universe armhf python3-yarl armhf 1.13.1-1build2 [91.4 kB]
165s Get:32 http://ftpmaster.internal/ubuntu questing/universe armhf python3-async-timeout all 5.0.1-1 [6830 B]
165s Get:33 http://ftpmaster.internal/ubuntu questing/universe armhf python3-frozenlist armhf 1.5.0-1build2 [47.0 kB]
165s Get:34 http://ftpmaster.internal/ubuntu questing/universe armhf python3-aiosignal all 1.3.2-1 [5182 B]
165s Get:35 http://ftpmaster.internal/ubuntu questing/universe armhf python3-aiohttp armhf 3.10.11-1build1 [289 kB]
165s Get:36 http://ftpmaster.internal/ubuntu questing/universe armhf python3-avro all 1.12.0+dfsg-1 [75.3 kB]
165s Get:37 http://ftpmaster.internal/ubuntu questing/universe armhf python3-isodate all 0.7.0-1 [18.6 kB]
165s Get:38 http://ftpmaster.internal/ubuntu questing/universe armhf python3-requests-oauthlib all 1.3.1-1 [18.8 kB]
165s Get:39 http://ftpmaster.internal/ubuntu questing/universe armhf python3-msrest all 0.6.21-5 [48.7 kB]
165s Get:40 http://ftpmaster.internal/ubuntu questing/universe armhf python3-msrestazure all 0.6.4-4 [27.1 kB]
165s Get:41 http://ftpmaster.internal/ubuntu questing/universe armhf python3-azure-storage all 20250304+git-1 [300 kB]
165s Get:42 http://ftpmaster.internal/ubuntu questing/universe armhf python3-colorama all 0.4.6-4 [32.1 kB]
165s Get:43 http://ftpmaster.internal/ubuntu questing/universe armhf python3-marshmallow all 3.26.1-0.2 [47.5 kB]
165s Get:44 http://ftpmaster.internal/ubuntu questing/universe armhf python3-msal all 1.32.0-1 [100 kB]
165s Get:45 http://ftpmaster.internal/ubuntu questing/main armhf python3-cairo armhf 1.27.0-2 [115 kB]
165s Get:46 http://ftpmaster.internal/ubuntu questing/main armhf python3-gi-cairo armhf 3.50.0-4build1 [7306 B]
165s Get:47 http://ftpmaster.internal/ubuntu questing/universe armhf python3-portalocker all 2.2.1-1 [17.2 kB]
165s Get:48 http://ftpmaster.internal/ubuntu questing/universe armhf python3-msal-extensions all 1.3.1-1 [18.2 kB]
165s Get:49 http://ftpmaster.internal/ubuntu questing/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB]
165s Get:50 http://ftpmaster.internal/ubuntu questing/universe armhf python3-joblib all 1.4.2-3 [205 kB]
165s Get:51 http://ftpmaster.internal/ubuntu questing/universe armhf python3-regex armhf 0.1.20241106-1build1 [270 kB]
165s Get:52 http://ftpmaster.internal/ubuntu questing/universe armhf python3-tqdm all 4.67.1-3 [91.6 kB]
165s Get:53 http://ftpmaster.internal/ubuntu questing/universe armhf python3-nltk all 3.9.1-2 [1006 kB]
165s Get:54 http://ftpmaster.internal/ubuntu questing/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB]
165s Get:55 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pydash all 8.0.3-3 [93.0 kB]
165s Get:56 http://ftpmaster.internal/ubuntu questing/universe armhf python3-ruamel.yaml.clib armhf 0.2.12+ds-1build1 [130 kB]
165s Get:57 http://ftpmaster.internal/ubuntu questing/universe armhf python3-ruamel.yaml all 0.18.10+ds-1 [127 kB]
165s Get:58 http://ftpmaster.internal/ubuntu questing/universe armhf python3-strictyaml all 1.6.1-3 [89.1 kB]
165s Get:59 http://ftpmaster.internal/ubuntu questing/universe armhf python3-websocket all 1.8.0-2 [38.5 kB]
165s Get:60 http://ftpmaster.internal/ubuntu questing/universe armhf python3-azure all 20250304+git-1 [15.9 MB]
166s Get:61 http://ftpmaster.internal/ubuntu questing/main armhf python3-cachetools all 5.3.3-1 [10.3 kB]
166s Get:62 http://ftpmaster.internal/ubuntu questing/universe armhf python3-execnet all 2.1.1-1 [33.4 kB]
166s Get:63 http://ftpmaster.internal/ubuntu questing/universe armhf python3-mccabe all 0.7.0-1 [8678 B]
166s Get:64 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pycodestyle all 2.12.1-2 [30.2 kB]
166s Get:65 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pyflakes all 3.2.0-3 [53.0 kB]
166s Get:66 http://ftpmaster.internal/ubuntu questing/universe armhf python3-flake8 all 7.1.1-3 [44.0 kB]
166s Get:67 http://ftpmaster.internal/ubuntu questing/universe armhf python3-freezegun all 1.5.1-1.2 [15.9 kB]
166s Get:68 http://ftpmaster.internal/ubuntu questing/universe armhf python3-requests-toolbelt all 1.0.0-4 [37.0 kB]
166s Get:69 http://ftpmaster.internal/ubuntu questing/universe armhf python3-gitlab all 1:4.9.0-1 [75.0 kB]
166s Get:70 http://ftpmaster.internal/ubuntu questing/main armhf python3-pyasn1 all 0.6.1-1 [56.4 kB]
166s Get:71 http://ftpmaster.internal/ubuntu questing/main armhf python3-pyasn1-modules all 0.4.1-2 [80.3 kB]
166s Get:72 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pyu2f all 0.1.5-4 [22.9 kB]
166s Get:73 http://ftpmaster.internal/ubuntu questing/universe armhf python3-responses all 0.25.6-1 [40.5 kB]
166s Get:74 http://ftpmaster.internal/ubuntu questing/universe armhf python3-rsa all 4.9-2 [28.2 kB]
166s Get:75 http://ftpmaster.internal/ubuntu questing/universe armhf python3-google-auth all 2.28.2-3 [91.0 kB]
166s Get:76 http://ftpmaster.internal/ubuntu questing/universe armhf python3-httmock all 1.4.0-5 [6544 B]
166s Get:77 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pyhcl all 0.4.4-6 [43.1 kB]
166s Get:78 http://ftpmaster.internal/ubuntu questing/universe armhf python3-hvac all 2.3.0-3 [88.1 kB]
166s Get:79 http://ftpmaster.internal/ubuntu questing/universe armhf python3-iniconfig all 1.1.1-2 [6024 B]
166s Get:80 http://ftpmaster.internal/ubuntu questing/universe armhf python3-kubernetes all 30.1.0-2 [385 kB]
166s Get:81 http://ftpmaster.internal/ubuntu questing/main armhf python3-lxml armhf 5.3.2-1 [1281 kB]
166s Get:82 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pathspec all 0.12.1-1 [24.5 kB]
166s Get:83 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB]
166s Get:84 http://ftpmaster.internal/ubuntu questing/universe armhf python3-proxmoxer all 2.2.0-1 [16.2 kB]
166s Get:85 http://ftpmaster.internal/ubuntu questing/universe armhf python3-py all 1.11.0-4 [72.7 kB]
166s Get:86 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pytest all 8.3.5-1 [252 kB]
166s Get:87 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pytest-forked all 1.6.0-3 [7470 B]
166s Get:88 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pytest-mock all 3.14.0-2 [11.7 kB]
166s Get:89 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pytest-xdist all 3.6.1-1 [33.8 kB]
166s Get:90 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pyvmomi all 8.0.3.0.1-1 [532 kB]
166s Get:91 http://ftpmaster.internal/ubuntu questing-proposed/universe armhf python3-redis all 5.2.1-1 [221 kB]
166s Get:92 http://ftpmaster.internal/ubuntu questing/universe armhf python3-textfsm all 1.1.3-3 [29.3 kB]
166s Get:93 http://ftpmaster.internal/ubuntu questing/main armhf python3-xmltodict all 0.13.0-1 [13.4 kB]
166s Get:94 http://ftpmaster.internal/ubuntu questing/universe armhf yamllint all 1.35.1-2 [43.6 kB]
166s Get:95 http://ftpmaster.internal/ubuntu questing/universe armhf python3-mock all 5.1.0-1 [64.1 kB]
167s Fetched 54.6 MB in 3s (17.6 MB/s)
167s Selecting previously unselected package python3-resolvelib.
167s (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 ... 63951 files and directories currently installed.)
167s Preparing to unpack .../00-python3-resolvelib_1.1.0-1_all.deb ...
167s Unpacking python3-resolvelib (1.1.0-1) ...
167s Selecting previously unselected package libsodium23:armhf.
167s Preparing to unpack .../01-libsodium23_1.0.18-1build3_armhf.deb ...
167s Unpacking libsodium23:armhf (1.0.18-1build3) ...
167s Selecting previously unselected package python3-nacl.
167s Preparing to unpack .../02-python3-nacl_1.5.0-7_armhf.deb ...
167s Unpacking python3-nacl (1.5.0-7) ...
167s Selecting previously unselected package python3-paramiko.
167s Preparing to unpack .../03-python3-paramiko_3.5.1-2ubuntu1_all.deb ...
167s Unpacking python3-paramiko (3.5.1-2ubuntu1) ...
167s Selecting previously unselected package python3-dnspython.
167s Preparing to unpack .../04-python3-dnspython_2.7.0-1ubuntu1_all.deb ...
167s Unpacking python3-dnspython (2.7.0-1ubuntu1) ...
167s Selecting previously unselected package ieee-data.
167s Preparing to unpack .../05-ieee-data_20240722_all.deb ...
167s Unpacking ieee-data (20240722) ...
167s Selecting previously unselected package python3-netaddr.
167s Preparing to unpack .../06-python3-netaddr_1.3.0-1_all.deb ...
167s Unpacking python3-netaddr (1.3.0-1) ...
167s Selecting previously unselected package ansible-core.
167s Preparing to unpack .../07-ansible-core_2.18.1-4ubuntu1_all.deb ...
167s Unpacking ansible-core (2.18.1-4ubuntu1) ...
167s Selecting previously unselected package ansible.
167s Preparing to unpack .../08-ansible_11.2.0+dfsg-1_all.deb ...
167s Unpacking ansible (11.2.0+dfsg-1) ...
171s Selecting previously unselected package fonts-dejavu-mono.
171s Preparing to unpack .../09-fonts-dejavu-mono_2.37-8_all.deb ...
171s Unpacking fonts-dejavu-mono (2.37-8) ...
171s Selecting previously unselected package fonts-dejavu-core.
171s Preparing to unpack .../10-fonts-dejavu-core_2.37-8_all.deb ...
171s Unpacking fonts-dejavu-core (2.37-8) ...
171s Selecting previously unselected package fontconfig-config.
171s Preparing to unpack .../11-fontconfig-config_2.15.0-2.2ubuntu1_armhf.deb ...
171s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ...
171s Selecting previously unselected package libsecret-common.
171s Preparing to unpack .../12-libsecret-common_0.21.7-1_all.deb ...
171s Unpacking libsecret-common (0.21.7-1) ...
171s Selecting previously unselected package libsecret-1-0:armhf.
171s Preparing to unpack .../13-libsecret-1-0_0.21.7-1_armhf.deb ...
171s Unpacking libsecret-1-0:armhf (0.21.7-1) ...
171s Selecting previously unselected package gir1.2-secret-1:armhf.
171s Preparing to unpack .../14-gir1.2-secret-1_0.21.7-1_armhf.deb ...
171s Unpacking gir1.2-secret-1:armhf (0.21.7-1) ...
171s Selecting previously unselected package liberror-perl.
171s Preparing to unpack .../15-liberror-perl_0.17030-1_all.deb ...
171s Unpacking liberror-perl (0.17030-1) ...
171s Selecting previously unselected package git-man.
171s Preparing to unpack .../16-git-man_1%3a2.48.1-0ubuntu1_all.deb ...
171s Unpacking git-man (1:2.48.1-0ubuntu1) ...
171s Selecting previously unselected package git.
171s Preparing to unpack .../17-git_1%3a2.48.1-0ubuntu1_armhf.deb ...
171s Unpacking git (1:2.48.1-0ubuntu1) ...
171s Selecting previously unselected package libfreetype6:armhf.
171s Preparing to unpack .../18-libfreetype6_2.13.3+dfsg-1_armhf.deb ...
171s Unpacking libfreetype6:armhf (2.13.3+dfsg-1) ...
171s Selecting previously unselected package libfontconfig1:armhf.
172s Preparing to unpack .../19-libfontconfig1_2.15.0-2.2ubuntu1_armhf.deb ...
172s Unpacking libfontconfig1:armhf (2.15.0-2.2ubuntu1) ...
172s Selecting previously unselected package libpixman-1-0:armhf.
172s Preparing to unpack .../20-libpixman-1-0_0.44.0-3_armhf.deb ...
172s Unpacking libpixman-1-0:armhf (0.44.0-3) ...
172s Selecting previously unselected package libxcb-render0:armhf.
172s Preparing to unpack .../21-libxcb-render0_1.17.0-2_armhf.deb ...
172s Unpacking libxcb-render0:armhf (1.17.0-2) ...
172s Selecting previously unselected package libxcb-shm0:armhf.
172s Preparing to unpack .../22-libxcb-shm0_1.17.0-2_armhf.deb ...
172s Unpacking libxcb-shm0:armhf (1.17.0-2) ...
172s Selecting previously unselected package libxrender1:armhf.
172s Preparing to unpack .../23-libxrender1_1%3a0.9.10-1.1build1_armhf.deb ...
172s Unpacking libxrender1:armhf (1:0.9.10-1.1build1) ...
172s Selecting previously unselected package libcairo2:armhf.
172s Preparing to unpack .../24-libcairo2_1.18.4-1_armhf.deb ...
172s Unpacking libcairo2:armhf (1.18.4-1) ...
172s Selecting previously unselected package libcairo-gobject2:armhf.
172s Preparing to unpack .../25-libcairo-gobject2_1.18.4-1_armhf.deb ...
172s Unpacking libcairo-gobject2:armhf (1.18.4-1) ...
172s Selecting previously unselected package libxslt1.1:armhf.
172s Preparing to unpack .../26-libxslt1.1_1.1.39-0exp1ubuntu4_armhf.deb ...
172s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ...
172s Selecting previously unselected package python3-adal.
172s Preparing to unpack .../27-python3-adal_1.2.7-5_all.deb ...
172s Unpacking python3-adal (1.2.7-5) ...
172s Selecting previously unselected package python3-aiohappyeyeballs.
172s Preparing to unpack .../28-python3-aiohappyeyeballs_2.6.1-1_all.deb ...
172s Unpacking python3-aiohappyeyeballs (2.6.1-1) ...
172s Selecting previously unselected package python3-multidict.
172s Preparing to unpack .../29-python3-multidict_6.2.0-2_armhf.deb ...
172s Unpacking python3-multidict (6.2.0-2) ...
172s Selecting previously unselected package python3-yarl.
172s Preparing to unpack .../30-python3-yarl_1.13.1-1build2_armhf.deb ...
172s Unpacking python3-yarl (1.13.1-1build2) ...
172s Selecting previously unselected package python3-async-timeout.
172s Preparing to unpack .../31-python3-async-timeout_5.0.1-1_all.deb ...
172s Unpacking python3-async-timeout (5.0.1-1) ...
172s Selecting previously unselected package python3-frozenlist.
172s Preparing to unpack .../32-python3-frozenlist_1.5.0-1build2_armhf.deb ...
172s Unpacking python3-frozenlist (1.5.0-1build2) ...
172s Selecting previously unselected package python3-aiosignal.
172s Preparing to unpack .../33-python3-aiosignal_1.3.2-1_all.deb ...
172s Unpacking python3-aiosignal (1.3.2-1) ...
172s Selecting previously unselected package python3-aiohttp.
172s Preparing to unpack .../34-python3-aiohttp_3.10.11-1build1_armhf.deb ...
172s Unpacking python3-aiohttp (3.10.11-1build1) ...
172s Selecting previously unselected package python3-avro.
172s Preparing to unpack .../35-python3-avro_1.12.0+dfsg-1_all.deb ...
172s Unpacking python3-avro (1.12.0+dfsg-1) ...
172s Selecting previously unselected package python3-isodate.
172s Preparing to unpack .../36-python3-isodate_0.7.0-1_all.deb ...
172s Unpacking python3-isodate (0.7.0-1) ...
172s Selecting previously unselected package python3-requests-oauthlib.
172s Preparing to unpack .../37-python3-requests-oauthlib_1.3.1-1_all.deb ...
172s Unpacking python3-requests-oauthlib (1.3.1-1) ...
172s Selecting previously unselected package python3-msrest.
172s Preparing to unpack .../38-python3-msrest_0.6.21-5_all.deb ...
172s Unpacking python3-msrest (0.6.21-5) ...
172s Selecting previously unselected package python3-msrestazure.
172s Preparing to unpack .../39-python3-msrestazure_0.6.4-4_all.deb ...
172s Unpacking python3-msrestazure (0.6.4-4) ...
172s Selecting previously unselected package python3-azure-storage.
172s Preparing to unpack .../40-python3-azure-storage_20250304+git-1_all.deb ...
172s Unpacking python3-azure-storage (20250304+git-1) ...
172s Selecting previously unselected package python3-colorama.
172s Preparing to unpack .../41-python3-colorama_0.4.6-4_all.deb ...
172s Unpacking python3-colorama (0.4.6-4) ...
172s Selecting previously unselected package python3-marshmallow.
173s Preparing to unpack .../42-python3-marshmallow_3.26.1-0.2_all.deb ...
173s Unpacking python3-marshmallow (3.26.1-0.2) ...
173s Selecting previously unselected package python3-msal.
173s Preparing to unpack .../43-python3-msal_1.32.0-1_all.deb ...
173s Unpacking python3-msal (1.32.0-1) ...
173s Selecting previously unselected package python3-cairo.
173s Preparing to unpack .../44-python3-cairo_1.27.0-2_armhf.deb ...
173s Unpacking python3-cairo (1.27.0-2) ...
173s Selecting previously unselected package python3-gi-cairo.
173s Preparing to unpack .../45-python3-gi-cairo_3.50.0-4build1_armhf.deb ...
173s Unpacking python3-gi-cairo (3.50.0-4build1) ...
173s Selecting previously unselected package python3-portalocker.
173s Preparing to unpack .../46-python3-portalocker_2.2.1-1_all.deb ...
173s Unpacking python3-portalocker (2.2.1-1) ...
173s Selecting previously unselected package python3-msal-extensions.
173s Preparing to unpack .../47-python3-msal-extensions_1.3.1-1_all.deb ...
173s Unpacking python3-msal-extensions (1.3.1-1) ...
173s Selecting previously unselected package python3-click.
173s Preparing to unpack .../48-python3-click_8.2.0+0.really.8.1.8-1_all.deb ...
173s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ...
173s Selecting previously unselected package python3-joblib.
173s Preparing to unpack .../49-python3-joblib_1.4.2-3_all.deb ...
173s Unpacking python3-joblib (1.4.2-3) ...
173s Selecting previously unselected package python3-regex.
173s Preparing to unpack .../50-python3-regex_0.1.20241106-1build1_armhf.deb ...
173s Unpacking python3-regex (0.1.20241106-1build1) ...
173s Selecting previously unselected package python3-tqdm.
173s Preparing to unpack .../51-python3-tqdm_4.67.1-3_all.deb ...
173s Unpacking python3-tqdm (4.67.1-3) ...
173s Selecting previously unselected package python3-nltk.
173s Preparing to unpack .../52-python3-nltk_3.9.1-2_all.deb ...
173s Unpacking python3-nltk (3.9.1-2) ...
173s Selecting previously unselected package python3-psutil.
173s Preparing to unpack .../53-python3-psutil_5.9.8-2build3_armhf.deb ...
173s Unpacking python3-psutil (5.9.8-2build3) ...
173s Selecting previously unselected package python3-pydash.
173s Preparing to unpack .../54-python3-pydash_8.0.3-3_all.deb ...
173s Unpacking python3-pydash (8.0.3-3) ...
173s Selecting previously unselected package python3-ruamel.yaml.clib.
173s Preparing to unpack .../55-python3-ruamel.yaml.clib_0.2.12+ds-1build1_armhf.deb ...
173s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ...
173s Selecting previously unselected package python3-ruamel.yaml.
173s Preparing to unpack .../56-python3-ruamel.yaml_0.18.10+ds-1_all.deb ...
173s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ...
173s Selecting previously unselected package python3-strictyaml.
173s Preparing to unpack .../57-python3-strictyaml_1.6.1-3_all.deb ...
173s Unpacking python3-strictyaml (1.6.1-3) ...
174s Selecting previously unselected package python3-websocket.
174s Preparing to unpack .../58-python3-websocket_1.8.0-2_all.deb ...
174s Unpacking python3-websocket (1.8.0-2) ...
174s Selecting previously unselected package python3-azure.
174s Preparing to unpack .../59-python3-azure_20250304+git-1_all.deb ...
174s Unpacking python3-azure (20250304+git-1) ...
178s Selecting previously unselected package python3-cachetools.
178s Preparing to unpack .../60-python3-cachetools_5.3.3-1_all.deb ...
178s Unpacking python3-cachetools (5.3.3-1) ...
178s Selecting previously unselected package python3-execnet.
178s Preparing to unpack .../61-python3-execnet_2.1.1-1_all.deb ...
178s Unpacking python3-execnet (2.1.1-1) ...
178s Selecting previously unselected package python3-mccabe.
178s Preparing to unpack .../62-python3-mccabe_0.7.0-1_all.deb ...
178s Unpacking python3-mccabe (0.7.0-1) ...
178s Selecting previously unselected package python3-pycodestyle.
178s Preparing to unpack .../63-python3-pycodestyle_2.12.1-2_all.deb ...
178s Unpacking python3-pycodestyle (2.12.1-2) ...
178s Selecting previously unselected package python3-pyflakes.
178s Preparing to unpack .../64-python3-pyflakes_3.2.0-3_all.deb ...
178s Unpacking python3-pyflakes (3.2.0-3) ...
178s Selecting previously unselected package python3-flake8.
178s Preparing to unpack .../65-python3-flake8_7.1.1-3_all.deb ...
178s Unpacking python3-flake8 (7.1.1-3) ...
178s Selecting previously unselected package python3-freezegun.
179s Preparing to unpack .../66-python3-freezegun_1.5.1-1.2_all.deb ...
179s Unpacking python3-freezegun (1.5.1-1.2) ...
179s Selecting previously unselected package python3-requests-toolbelt.
179s Preparing to unpack .../67-python3-requests-toolbelt_1.0.0-4_all.deb ...
179s Unpacking python3-requests-toolbelt (1.0.0-4) ...
179s Selecting previously unselected package python3-gitlab.
179s Preparing to unpack .../68-python3-gitlab_1%3a4.9.0-1_all.deb ...
179s Unpacking python3-gitlab (1:4.9.0-1) ...
179s Selecting previously unselected package python3-pyasn1.
179s Preparing to unpack .../69-python3-pyasn1_0.6.1-1_all.deb ...
179s Unpacking python3-pyasn1 (0.6.1-1) ...
179s Selecting previously unselected package python3-pyasn1-modules.
179s Preparing to unpack .../70-python3-pyasn1-modules_0.4.1-2_all.deb ...
179s Unpacking python3-pyasn1-modules (0.4.1-2) ...
179s Selecting previously unselected package python3-pyu2f.
179s Preparing to unpack .../71-python3-pyu2f_0.1.5-4_all.deb ...
179s Unpacking python3-pyu2f (0.1.5-4) ...
179s Selecting previously unselected package python3-responses.
179s Preparing to unpack .../72-python3-responses_0.25.6-1_all.deb ...
179s Unpacking python3-responses (0.25.6-1) ...
179s Selecting previously unselected package python3-rsa.
179s Preparing to unpack .../73-python3-rsa_4.9-2_all.deb ...
179s Unpacking python3-rsa (4.9-2) ...
179s Selecting previously unselected package python3-google-auth.
179s Preparing to unpack .../74-python3-google-auth_2.28.2-3_all.deb ...
179s Unpacking python3-google-auth (2.28.2-3) ...
179s Selecting previously unselected package python3-httmock.
179s Preparing to unpack .../75-python3-httmock_1.4.0-5_all.deb ...
179s Unpacking python3-httmock (1.4.0-5) ...
179s Selecting previously unselected package python3-pyhcl.
179s Preparing to unpack .../76-python3-pyhcl_0.4.4-6_all.deb ...
179s Unpacking python3-pyhcl (0.4.4-6) ...
179s Selecting previously unselected package python3-hvac.
179s Preparing to unpack .../77-python3-hvac_2.3.0-3_all.deb ...
179s Unpacking python3-hvac (2.3.0-3) ...
179s Selecting previously unselected package python3-iniconfig.
179s Preparing to unpack .../78-python3-iniconfig_1.1.1-2_all.deb ...
179s Unpacking python3-iniconfig (1.1.1-2) ...
179s Selecting previously unselected package python3-kubernetes.
179s Preparing to unpack .../79-python3-kubernetes_30.1.0-2_all.deb ...
179s Unpacking python3-kubernetes (30.1.0-2) ...
179s Selecting previously unselected package python3-lxml:armhf.
179s Preparing to unpack .../80-python3-lxml_5.3.2-1_armhf.deb ...
179s Unpacking python3-lxml:armhf (5.3.2-1) ...
179s Selecting previously unselected package python3-pathspec.
179s Preparing to unpack .../81-python3-pathspec_0.12.1-1_all.deb ...
179s Unpacking python3-pathspec (0.12.1-1) ...
179s Selecting previously unselected package python3-pluggy.
179s Preparing to unpack .../82-python3-pluggy_1.5.0-1_all.deb ...
179s Unpacking python3-pluggy (1.5.0-1) ...
179s Selecting previously unselected package python3-proxmoxer.
179s Preparing to unpack .../83-python3-proxmoxer_2.2.0-1_all.deb ...
179s Unpacking python3-proxmoxer (2.2.0-1) ...
179s Selecting previously unselected package python3-py.
179s Preparing to unpack .../84-python3-py_1.11.0-4_all.deb ...
179s Unpacking python3-py (1.11.0-4) ...
180s Selecting previously unselected package python3-pytest.
180s Preparing to unpack .../85-python3-pytest_8.3.5-1_all.deb ...
180s Unpacking python3-pytest (8.3.5-1) ...
180s Selecting previously unselected package python3-pytest-forked.
180s Preparing to unpack .../86-python3-pytest-forked_1.6.0-3_all.deb ...
180s Unpacking python3-pytest-forked (1.6.0-3) ...
180s Selecting previously unselected package python3-pytest-mock.
180s Preparing to unpack .../87-python3-pytest-mock_3.14.0-2_all.deb ...
180s Unpacking python3-pytest-mock (3.14.0-2) ...
180s Selecting previously unselected package python3-pytest-xdist.
180s Preparing to unpack .../88-python3-pytest-xdist_3.6.1-1_all.deb ...
180s Unpacking python3-pytest-xdist (3.6.1-1) ...
180s Selecting previously unselected package python3-pyvmomi.
180s Preparing to unpack .../89-python3-pyvmomi_8.0.3.0.1-1_all.deb ...
180s Unpacking python3-pyvmomi (8.0.3.0.1-1) ...
180s Selecting previously unselected package python3-redis.
180s Preparing to unpack .../90-python3-redis_5.2.1-1_all.deb ...
180s Unpacking python3-redis (5.2.1-1) ...
180s Selecting previously unselected package python3-textfsm.
180s Preparing to unpack .../91-python3-textfsm_1.1.3-3_all.deb ...
180s Unpacking python3-textfsm (1.1.3-3) ...
180s Selecting previously unselected package python3-xmltodict.
180s Preparing to unpack .../92-python3-xmltodict_0.13.0-1_all.deb ...
180s Unpacking python3-xmltodict (0.13.0-1) ...
180s Selecting previously unselected package yamllint.
180s Preparing to unpack .../93-yamllint_1.35.1-2_all.deb ...
180s Unpacking yamllint (1.35.1-2) ...
180s Selecting previously unselected package python3-mock.
180s Preparing to unpack .../94-python3-mock_5.1.0-1_all.deb ...
180s Unpacking python3-mock (5.1.0-1) ...
180s Setting up python3-iniconfig (1.1.1-2) ...
180s Setting up libpixman-1-0:armhf (0.44.0-3) ...
180s Setting up libsodium23:armhf (1.0.18-1build3) ...
180s Setting up python3-requests-toolbelt (1.0.0-4) ...
181s Setting up libxrender1:armhf (1:0.9.10-1.1build1) ...
181s Setting up python3-py (1.11.0-4) ...
181s Setting up python3-joblib (1.4.2-3) ...
181s Setting up python3-cachetools (5.3.3-1) ...
181s Setting up python3-colorama (0.4.6-4) ...
181s Setting up libxcb-render0:armhf (1.17.0-2) ...
181s Setting up python3-tqdm (4.67.1-3) ...
181s Setting up python3-pyflakes (3.2.0-3) ...
182s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ...
182s Setting up python3-resolvelib (1.1.0-1) ...
182s Setting up python3-marshmallow (3.26.1-0.2) ...
182s Setting up python3-msal (1.32.0-1) ...
182s Setting up libxcb-shm0:armhf (1.17.0-2) ...
182s Setting up python3-httmock (1.4.0-5) ...
182s Setting up python3-click (8.2.0+0.really.8.1.8-1) ...
182s Setting up python3-psutil (5.9.8-2build3) ...
183s Setting up python3-multidict (6.2.0-2) ...
183s Setting up python3-frozenlist (1.5.0-1build2) ...
183s Setting up python3-aiosignal (1.3.2-1) ...
183s Setting up python3-mock (5.1.0-1) ...
183s Setting up python3-async-timeout (5.0.1-1) ...
183s Setting up liberror-perl (0.17030-1) ...
183s Setting up python3-responses (0.25.6-1) ...
183s Setting up python3-pyvmomi (8.0.3.0.1-1) ...
184s Setting up python3-isodate (0.7.0-1) ...
184s Setting up python3-pycodestyle (2.12.1-2) ...
184s Setting up python3-xmltodict (0.13.0-1) ...
184s Setting up python3-pyu2f (0.1.5-4) ...
184s Setting up libfreetype6:armhf (2.13.3+dfsg-1) ...
184s Setting up python3-avro (1.12.0+dfsg-1) ...
185s Setting up fonts-dejavu-mono (2.37-8) ...
185s Setting up fonts-dejavu-core (2.37-8) ...
185s Setting up python3-redis (5.2.1-1) ...
185s Setting up python3-aiohappyeyeballs (2.6.1-1) ...
185s Setting up python3-regex (0.1.20241106-1build1) ...
185s Setting up python3-pluggy (1.5.0-1) ...
185s Setting up python3-ruamel.yaml (0.18.10+ds-1) ...
186s Setting up ieee-data (20240722) ...
186s Setting up python3-adal (1.2.7-5) ...
186s Setting up python3-dnspython (2.7.0-1ubuntu1) ...
186s Setting up python3-portalocker (2.2.1-1) ...
186s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ...
186s Setting up python3-pyasn1 (0.6.1-1) ...
186s Setting up python3-proxmoxer (2.2.0-1) ...
187s Setting up git-man (1:2.48.1-0ubuntu1) ...
187s Setting up python3-textfsm (1.1.3-3) ...
187s Setting up python3-mccabe (0.7.0-1) ...
187s Setting up python3-execnet (2.1.1-1) ...
187s Setting up python3-pathspec (0.12.1-1) ...
187s Setting up python3-pydash (8.0.3-3) ...
187s Setting up python3-nltk (3.9.1-2) ...
188s Setting up python3-yarl (1.13.1-1build2) ...
188s Setting up python3-pyhcl (0.4.4-6) ...
188s Setting up python3-gitlab (1:4.9.0-1) ...
189s Setting up python3-websocket (1.8.0-2) ...
189s Setting up libsecret-common (0.21.7-1) ...
189s Setting up python3-freezegun (1.5.1-1.2) ...
189s Setting up python3-nacl (1.5.0-7) ...
189s Setting up python3-requests-oauthlib (1.3.1-1) ...
189s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ...
190s Setting up python3-pytest (8.3.5-1) ...
190s Setting up python3-aiohttp (3.10.11-1build1) ...
190s Setting up python3-flake8 (7.1.1-3) ...
190s Setting up python3-msrest (0.6.21-5) ...
191s Setting up python3-pytest-forked (1.6.0-3) ...
191s Setting up python3-strictyaml (1.6.1-3) ...
191s Setting up libsecret-1-0:armhf (0.21.7-1) ...
191s Setting up yamllint (1.35.1-2) ...
191s Setting up gir1.2-secret-1:armhf (0.21.7-1) ...
191s Setting up python3-pyasn1-modules (0.4.1-2) ...
191s Setting up python3-hvac (2.3.0-3) ...
192s Setting up git (1:2.48.1-0ubuntu1) ...
192s Setting up python3-netaddr (1.3.0-1) ...
192s Setting up python3-pytest-mock (3.14.0-2) ...
192s Setting up python3-lxml:armhf (5.3.2-1) ...
192s Setting up python3-rsa (4.9-2) ...
192s Setting up libfontconfig1:armhf (2.15.0-2.2ubuntu1) ...
192s Setting up python3-msrestazure (0.6.4-4) ...
192s Setting up python3-paramiko (3.5.1-2ubuntu1) ...
192s Setting up python3-pytest-xdist (3.6.1-1) ...
193s Setting up ansible-core (2.18.1-4ubuntu1) ...
194s Setting up libcairo2:armhf (1.18.4-1) ...
194s Setting up python3-google-auth (2.28.2-3) ...
194s Setting up libcairo-gobject2:armhf (1.18.4-1) ...
194s Setting up ansible (11.2.0+dfsg-1) ...
217s Setting up python3-cairo (1.27.0-2) ...
217s Setting up python3-kubernetes (30.1.0-2) ...
218s Setting up python3-gi-cairo (3.50.0-4build1) ...
218s Setting up python3-msal-extensions (1.3.1-1) ...
219s Setting up python3-azure-storage (20250304+git-1) ...
220s Setting up python3-azure (20250304+git-1) ...
233s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:80: SyntaxWarning: invalid escape sequence '\ '
233s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example,
233s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:405: SyntaxWarning: invalid escape sequence '\ '
233s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example,
235s /usr/lib/python3/dist-packages/azure/appconfiguration/_generated/models/_models.py:238: SyntaxWarning: invalid escape sequence '\ '
235s """An error, available when the status is ``Failed``\ , describing why the operation
236s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9067: SyntaxWarning: invalid escape sequence '\ '
236s """The source port ranges to match for the rule. Valid values are '\ *' (for all ports 0 - 65535),
236s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9235: SyntaxWarning: invalid escape sequence '\ '
236s using brackets (for example abc[\ *] would match a file named abc*\ ). Note that both and / are
237s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2326: SyntaxWarning: invalid escape sequence '\ '
237s payload to scoring rule. If not set, a job's labels (sent in the payload as ``job``\ ) and a
237s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2346: SyntaxWarning: invalid escape sequence '\ '
237s If not set, a job's labels (sent in the payload as ``job``\ ) and a job's worker selectors
240s /usr/lib/python3/dist-packages/azure/mgmt/advisor/aio/operations/_recommendations_operations.py:190: SyntaxWarning: invalid escape sequence '\ '
240s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category
240s /usr/lib/python3/dist-packages/azure/mgmt/advisor/operations/_recommendations_operations.py:303: SyntaxWarning: invalid escape sequence '\ '
240s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category
241s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:3917: SyntaxWarning: invalid escape sequence '\ '
241s Possible Values::code:`
`:code:`
` **Standard**\ :code:`
`:code:`
`
241s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10212: SyntaxWarning: invalid escape sequence '\ '
241s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
241s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10255: SyntaxWarning: invalid escape sequence '\ '
241s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
241s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10284: SyntaxWarning: invalid escape sequence '\ '
241s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
241s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10320: SyntaxWarning: invalid escape sequence '\ '
241s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
241s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10342: SyntaxWarning: invalid escape sequence '\ '
241s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
241s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10375: SyntaxWarning: invalid escape sequence '\ '
241s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
241s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10396: SyntaxWarning: invalid escape sequence '\ '
241s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
241s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10429: SyntaxWarning: invalid escape sequence '\ '
241s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
241s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14746: SyntaxWarning: invalid escape sequence '\ '
241s :ivar allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ ,
241s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14771: SyntaxWarning: invalid escape sequence '\ '
241s :keyword allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ ,
245s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:1420: SyntaxWarning: invalid escape sequence '\ '
245s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\
245s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:2310: SyntaxWarning: invalid escape sequence '\ '
245s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\
245s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:1547: SyntaxWarning: invalid escape sequence '\ '
245s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\
245s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:2524: SyntaxWarning: invalid escape sequence '\ '
245s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\
250s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:624: SyntaxWarning: invalid escape sequence '\ '
250s and Screenshot to diagnose VM status. **NOTE**\ : If storageUri is being
250s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:3707: SyntaxWarning: invalid escape sequence '\W'
250s characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_])
255s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16843: SyntaxWarning: invalid escape sequence '\S'
255s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required.
255s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16916: SyntaxWarning: invalid escape sequence '\S'
255s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required.
257s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:63: SyntaxWarning: invalid escape sequence '\w'
257s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
257s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:130: SyntaxWarning: invalid escape sequence '\w'
257s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
257s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:224: SyntaxWarning: invalid escape sequence '\w'
257s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
257s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:312: SyntaxWarning: invalid escape sequence '\w'
257s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
257s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:398: SyntaxWarning: invalid escape sequence '\w'
257s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
257s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:543: SyntaxWarning: invalid escape sequence '\w'
257s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
257s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:612: SyntaxWarning: invalid escape sequence '\w'
257s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
257s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:675: SyntaxWarning: invalid escape sequence '\w'
257s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
257s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:738: SyntaxWarning: invalid escape sequence '\w'
257s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
257s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:807: SyntaxWarning: invalid escape sequence '\w'
257s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
260s /usr/lib/python3/dist-packages/azure/mgmt/hybridnetwork/models/_models_py3.py:6032: SyntaxWarning: invalid escape sequence '\ '
260s :ivar provisioning_state: The provisioning state of the site resource. **TODO**\ : Confirm if
262s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3866: SyntaxWarning: invalid escape sequence '\ '
262s pattern set glob-style pattern (e.g., '\ *', 'clients/*\ '). Required."""
262s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3868: SyntaxWarning: invalid escape sequence '\ '
262s """Give access for ``Read``\ , ``Write`` and ``ReadWrite`` access level. Required. Known values
265s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:169: SyntaxWarning: invalid escape sequence '\ '
265s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\
265s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:1032: SyntaxWarning: invalid escape sequence '\ '
265s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2542: SyntaxWarning: invalid escape sequence '\R'
273s """Execute Reverse Replication\Reprotect.
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2583: SyntaxWarning: invalid escape sequence '\R'
273s """Execute Reverse Replication\Reprotect.
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2622: SyntaxWarning: invalid escape sequence '\R'
273s """Execute Reverse Replication\Reprotect.
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5397: SyntaxWarning: invalid escape sequence '\L'
273s :ivar lun_id: Ordinal\LunId of the disk for the Azure VM.
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5448: SyntaxWarning: invalid escape sequence '\L'
273s :keyword lun_id: Ordinal\LunId of the disk for the Azure VM.
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8836: SyntaxWarning: invalid escape sequence '\S'
273s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8978: SyntaxWarning: invalid escape sequence '\S'
273s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9510: SyntaxWarning: invalid escape sequence '\S'
273s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9675: SyntaxWarning: invalid escape sequence '\S'
273s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11412: SyntaxWarning: invalid escape sequence '\S'
273s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11541: SyntaxWarning: invalid escape sequence '\S'
273s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12193: SyntaxWarning: invalid escape sequence '\S'
273s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12516: SyntaxWarning: invalid escape sequence '\S'
273s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26323: SyntaxWarning: invalid escape sequence '\S'
273s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26382: SyntaxWarning: invalid escape sequence '\S'
273s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3476: SyntaxWarning: invalid escape sequence '\R'
273s """Execute Reverse Replication\Reprotect.
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3517: SyntaxWarning: invalid escape sequence '\R'
273s """Execute Reverse Replication\Reprotect.
273s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3556: SyntaxWarning: invalid escape sequence '\R'
273s """Execute Reverse Replication\Reprotect.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_azure_reservation_api_operations.py:163: SyntaxWarning: invalid escape sequence '\ '
274s """Get list of applicable ``Reservation``\ s.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:377: SyntaxWarning: invalid escape sequence '\ '
274s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:407: SyntaxWarning: invalid escape sequence '\ '
274s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:437: SyntaxWarning: invalid escape sequence '\ '
274s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:583: SyntaxWarning: invalid escape sequence '\ '
274s """Merges two ``Reservation``\ s.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:614: SyntaxWarning: invalid escape sequence '\ '
274s """Merges two ``Reservation``\ s.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:645: SyntaxWarning: invalid escape sequence '\ '
274s """Merges two ``Reservation``\ s.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:721: SyntaxWarning: invalid escape sequence '\ '
274s """Get ``Reservation``\ s in a given reservation Order.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_order_operations.py:183: SyntaxWarning: invalid escape sequence '\ '
274s """Get all ``ReservationOrder``\ s.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3172: SyntaxWarning: invalid escape sequence '\ '
274s """List of ``Reservation``\ s.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3288: SyntaxWarning: invalid escape sequence '\ '
274s """List of ``ReservationOrder``\ s.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_azure_reservation_api_operations.py:239: SyntaxWarning: invalid escape sequence '\ '
274s """Get list of applicable ``Reservation``\ s.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:662: SyntaxWarning: invalid escape sequence '\ '
274s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:692: SyntaxWarning: invalid escape sequence '\ '
274s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:722: SyntaxWarning: invalid escape sequence '\ '
274s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:868: SyntaxWarning: invalid escape sequence '\ '
274s """Merges two ``Reservation``\ s.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:899: SyntaxWarning: invalid escape sequence '\ '
274s """Merges two ``Reservation``\ s.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:930: SyntaxWarning: invalid escape sequence '\ '
274s """Merges two ``Reservation``\ s.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:1006: SyntaxWarning: invalid escape sequence '\ '
274s """Get ``Reservation``\ s in a given reservation Order.
274s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_order_operations.py:299: SyntaxWarning: invalid escape sequence '\ '
274s """Get all ``ReservationOrder``\ s.
278s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:68: SyntaxWarning: invalid escape sequence '\ '
278s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end``
278s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:90: SyntaxWarning: invalid escape sequence '\ '
278s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after
278s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1141: SyntaxWarning: invalid escape sequence '\ '
278s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end``
278s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1163: SyntaxWarning: invalid escape sequence '\ '
278s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after
282s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2858: SyntaxWarning: invalid escape sequence '\ '
282s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client
282s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2925: SyntaxWarning: invalid escape sequence '\ '
282s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client
285s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_functions_operations.py:595: SyntaxWarning: invalid escape sequence '\ '
285s properties to include in the response, or "\ *" to include all properties. By default, all
285s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_inputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ '
285s properties to include in the response, or "\ *" to include all properties. By default, all
285s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_outputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ '
285s properties to include in the response, or "\ *" to include all properties. By default, all
285s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/models/_stream_analytics_management_client_enums.py:14: SyntaxWarning: invalid escape sequence '\ '
285s """Authentication Mode. Valid modes are ``ConnectionString``\ , ``Msi`` and 'UserToken'."""
285s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_functions_operations.py:859: SyntaxWarning: invalid escape sequence '\ '
285s properties to include in the response, or "\ *" to include all properties. By default, all
285s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_inputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ '
285s properties to include in the response, or "\ *" to include all properties. By default, all
285s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_outputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ '
285s properties to include in the response, or "\ *" to include all properties. By default, all
285s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_no_subscription_operations.py:193: SyntaxWarning: invalid escape sequence '\ '
285s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
285s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_operations.py:194: SyntaxWarning: invalid escape sequence '\ '
285s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
285s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:177: SyntaxWarning: invalid escape sequence '\ '
285s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the
285s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:540: SyntaxWarning: invalid escape sequence '\ '
285s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
285s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:582: SyntaxWarning: invalid escape sequence '\ '
285s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
285s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:622: SyntaxWarning: invalid escape sequence '\ '
285s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
285s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_no_subscription_operations.py:308: SyntaxWarning: invalid escape sequence '\ '
285s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
285s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_operations.py:326: SyntaxWarning: invalid escape sequence '\ '
285s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
285s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:319: SyntaxWarning: invalid escape sequence '\ '
285s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the
285s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:681: SyntaxWarning: invalid escape sequence '\ '
285s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
285s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:723: SyntaxWarning: invalid escape sequence '\ '
285s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
285s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:763: SyntaxWarning: invalid escape sequence '\ '
285s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
285s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6232: SyntaxWarning: invalid escape sequence '\ '
285s :ivar maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60},
285s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6288: SyntaxWarning: invalid escape sequence '\ '
285s :keyword maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60},
291s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2909: SyntaxWarning: invalid escape sequence '\W'
291s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
291s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2954: SyntaxWarning: invalid escape sequence '\W'
291s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
291s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:1980: SyntaxWarning: invalid escape sequence '\W'
291s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
291s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:2025: SyntaxWarning: invalid escape sequence '\W'
291s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
291s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:2732: SyntaxWarning: invalid escape sequence '\:'
291s attr:\:code:``=:code:``.
291s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:3537: SyntaxWarning: invalid escape sequence '\:'
291s attr:\:code:``=\:code:``.
291s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:4216: SyntaxWarning: invalid escape sequence '\:'
291s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:``
292s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:6219: SyntaxWarning: invalid escape sequence '\:'
292s attr:\:code:``=:code:``.
292s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7024: SyntaxWarning: invalid escape sequence '\:'
292s attr:\:code:``=\:code:``.
292s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7703: SyntaxWarning: invalid escape sequence '\:'
292s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:``
293s /usr/lib/python3/dist-packages/azure/servicemanagement/schedulermanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m'
293s CURRENT_USER\my\CertificateName format.
293s /usr/lib/python3/dist-packages/azure/servicemanagement/servicebusmanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m'
293s CURRENT_USER\my\CertificateName format.
293s /usr/lib/python3/dist-packages/azure/servicemanagement/servicemanagementservice.py:81: SyntaxWarning: invalid escape sequence '\m'
293s CURRENT_USER\my\CertificateName format.
293s /usr/lib/python3/dist-packages/azure/servicemanagement/sqldatabasemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m'
293s CURRENT_USER\my\CertificateName format.
293s /usr/lib/python3/dist-packages/azure/servicemanagement/websitemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m'
293s CURRENT_USER\my\CertificateName format.
293s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:110: SyntaxWarning: invalid escape sequence '\d'
293s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
293s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:1328: SyntaxWarning: invalid escape sequence '\d'
293s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..).
293s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4218: SyntaxWarning: invalid escape sequence '\d'
293s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
293s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4280: SyntaxWarning: invalid escape sequence '\d'
293s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
293s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:18198: SyntaxWarning: invalid escape sequence '\d'
293s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
293s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19096: SyntaxWarning: invalid escape sequence '\d'
293s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with
293s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19185: SyntaxWarning: invalid escape sequence '\d'
293s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
293s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19749: SyntaxWarning: invalid escape sequence '\d'
293s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
294s Processing triggers for libc-bin (2.41-6ubuntu1) ...
294s Processing triggers for man-db (2.13.0-1) ...
302s autopkgtest [04:48:35]: test unit-tests-stable.py: [-----------------------
305s
305s
305s
305s ############################################################
305s ############################################################
305s #### Running tests in ansible_collections/amazon/aws
305s ############################################################
305s ############################################################
305s Unit test modules 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.xgVBhN/build.Qr2/src/ansible_collections/amazon/aws
307s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
307s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
307s created: 8/8 workers
307s 8 workers [348 items]
307s
308s ........................................................................ [ 20%]
308s ........................................................................ [ 41%]
308s ........................................................................ [ 62%]
308s ........................................................................ [ 82%]
309s ............................................................ [100%]
309s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/amazon/aws/tests/output/junit/python3.13-modules-units.xml -
309s =========================== short test summary info ============================
309s SKIPPED [1] tests/unit/utils/amazon_placebo_fixtures.py:16: could not import 'placebo': No module named 'placebo'
309s ======================== 348 passed, 1 skipped in 3.47s ========================
309s 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.xgVBhN/build.Qr2/src/ansible_collections/amazon/aws
312s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
312s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
312s created: 8/8 workers
312s 8 workers [1252 items]
312s
313s ........................................................................ [ 5%]
313s ........................................................................ [ 11%]
313s ........................................................................ [ 17%]
313s ........................................................................ [ 23%]
313s ........................................................................ [ 28%]
314s ........................................................................ [ 34%]
314s ........................................................................ [ 40%]
314s ........................................................................ [ 46%]
314s ........................................................................ [ 51%]
315s ........................................................................ [ 57%]
315s ........................................................................ [ 63%]
315s ........................................................................ [ 69%]
315s ........................................................................ [ 74%]
316s ........................................................................ [ 80%]
316s ........................................................................ [ 86%]
316s ........................................................................ [ 92%]
331s ........................................................................ [ 97%]
447s ............................ [100%]
447s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/amazon/aws/tests/output/junit/python3.13-controller-units.xml -
447s ======================= 1252 passed in 137.33s (0:02:17) =======================
447s
447s
447s
447s ############################################################
447s ############################################################
447s #### Running tests in ansible_collections/ansible/netcommon
447s ############################################################
447s ############################################################
447s Unit test controller with Python 3.13
449s ============================= test session starts ==============================
449s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
449s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ansible/netcommon
449s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
449s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
449s created: 8/8 workers
449s 8 workers [162 items]
449s
449s ........................................................................ [ 44%]
450s ...........................................x.....x...................... [ 88%]
450s ..............x... [100%]
450s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ansible/netcommon/tests/output/junit/python3.13-controller-units.xml -
450s =========================== short test summary info ============================
450s SKIPPED [1] tests/unit/plugins/cli_parsers/test_pyats_parser.py:21: could not import 'pyats': No module named 'pyats'
450s SKIPPED [1] tests/unit/plugins/connection/test_libssh.py:23: could not import 'pylibsshext': No module named 'pylibsshext'
450s SKIPPED [1] tests/unit/plugins/connection/test_netconf.py:19: could not import 'ncclient': No module named 'ncclient'
450s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[libssh-response2]
450s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[paramiko-response2]
450s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[auto-response2]
450s ================== 159 passed, 3 skipped, 3 xfailed in 2.80s ===================
451s
451s
451s
451s ############################################################
451s ############################################################
451s #### Running tests in ansible_collections/ansible/posix
451s ############################################################
451s ############################################################
451s Unit test controller with Python 3.13
452s ============================= test session starts ==============================
452s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
452s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ansible/posix
452s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
452s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
452s created: 8/8 workers
452s 8 workers [14 items]
452s
453s .............. [100%]
453s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ansible/posix/tests/output/junit/python3.13-controller-units.xml -
453s ============================== 14 passed in 1.39s ==============================
453s Skipping ansible_collections/ansible/utils
453s
453s
453s
453s ############################################################
453s ############################################################
453s #### Running tests in ansible_collections/ansible/windows
453s ############################################################
453s ############################################################
453s Unit test controller with Python 3.13
455s ============================= test session starts ==============================
455s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
455s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ansible/windows
455s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
455s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
455s created: 8/8 workers
455s 8 workers [50 items]
455s
455s .................................................. [100%]
455s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ansible/windows/tests/output/junit/python3.13-controller-units.xml -
455s ============================== 50 passed in 1.62s ==============================
455s
455s
455s
455s ############################################################
455s ############################################################
455s #### Running tests in ansible_collections/arista/eos
455s ############################################################
455s ############################################################
455s Unit test controller with Python 3.13
457s ============================= test session starts ==============================
457s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
457s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/arista/eos
457s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
457s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
457s created: 8/8 workers
457s 8 workers [307 items]
457s
458s ........................................................................ [ 23%]
458s ........................................................................ [ 46%]
459s ........................................................................ [ 70%]
460s ........................................................................ [ 93%]
460s ................... [100%]
460s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/arista/eos/tests/output/junit/python3.13-controller-units.xml -
460s ============================= 307 passed in 4.56s ==============================
461s Skipping ansible_collections/cisco/aci
461s
461s
461s
461s ############################################################
461s ############################################################
461s #### Running tests in ansible_collections/cisco/asa
461s ############################################################
461s ############################################################
461s Unit test controller with Python 3.13
463s ============================= test session starts ==============================
463s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
463s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/asa
463s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
463s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
463s created: 8/8 workers
463s 8 workers [21 items]
463s
466s ..................... [100%]
466s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/asa/tests/output/junit/python3.13-controller-units.xml -
466s ============================== 21 passed in 4.15s ==============================
466s Skipping ansible_collections/cisco/dnac
466s
466s
466s
466s ############################################################
466s ############################################################
466s #### Running tests in ansible_collections/cisco/ios
466s ############################################################
466s ############################################################
466s Unit test controller with Python 3.13
469s ============================= test session starts ==============================
469s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
469s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/ios
469s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
469s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
469s created: 8/8 workers
469s 8 workers [425 items]
469s
469s ........................................................................ [ 16%]
470s ........................................................................ [ 33%]
471s ........................................................................ [ 50%]
473s ........................................................................ [ 67%]
473s ........................................................................ [ 84%]
497s ................................................................. [100%]
497s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/ios/tests/output/junit/python3.13-controller-units.xml -
497s ============================= 425 passed in 30.25s =============================
497s
497s
497s
497s ############################################################
497s ############################################################
497s #### Running tests in ansible_collections/cisco/iosxr
497s ############################################################
497s ############################################################
497s Unit test controller with Python 3.13
499s ============================= test session starts ==============================
499s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
499s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/iosxr
499s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
499s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
499s created: 8/8 workers
499s 8 workers [310 items]
499s
500s ........................................................................ [ 23%]
500s ........................................................................ [ 46%]
501s ........................................................................ [ 69%]
502s ........................................................................ [ 92%]
502s ...................... [100%]
502s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/iosxr/tests/output/junit/python3.13-controller-units.xml -
502s ============================= 310 passed in 4.68s ==============================
502s
502s
502s
502s ############################################################
502s ############################################################
502s #### Running tests in ansible_collections/cisco/nxos
502s ############################################################
502s ############################################################
503s Unit test controller with Python 3.13
505s ============================= test session starts ==============================
505s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
505s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/nxos
505s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
505s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
505s created: 8/8 workers
505s 8 workers [773 items]
505s
506s ........................................................................ [ 9%]
506s ........................................................................ [ 18%]
507s ........................................................................ [ 27%]
507s ........................................................................ [ 37%]
508s ........................................................................ [ 46%]
509s ........................................................................ [ 55%]
510s ........................................................................ [ 65%]
511s ........................................................................ [ 74%]
512s ........................................................................ [ 83%]
513s ........................................................................ [ 93%]
515s ..................................................... [100%]
515s =============================== warnings summary ===============================
515s tests/unit/modules/network/nxos/test_nxos_acls.py: 91 warnings
515s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:270: DeprecationWarning: 'count' is passed as positional argument
515s ace = re.sub(seq, "", ace, 1)
515s
515s tests/unit/modules/network/nxos/test_nxos_acls.py: 84 warnings
515s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:279: DeprecationWarning: 'count' is passed as positional argument
515s ace = re.sub(grant, "", ace, 1)
515s
515s tests/unit/modules/network/nxos/test_nxos_acls.py: 84 warnings
515s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:287: DeprecationWarning: 'count' is passed as positional argument
515s ace = re.sub(pro, "", ace, 1)
515s
515s tests/unit/modules/network/nxos/test_nxos_acls.py: 168 warnings
515s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:117: DeprecationWarning: 'count' is passed as positional argument
515s ace = re.sub(option, "", ace, 1)
515s
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered
515s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:142: DeprecationWarning: 'count' is passed as positional argument
515s ace = re.sub(range_substring, "", ace, 1)
515s
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered
515s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:126: DeprecationWarning: 'count' is passed as positional argument
515s ace = re.sub(port_pro.group(1), "", ace, 1)
515s
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered
515s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:127: DeprecationWarning: 'count' is passed as positional argument
515s ace = re.sub(port_pro.group(2), "", ace, 1)
515s
515s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered
515s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:116: DeprecationWarning: 'count' is passed as positional argument
515s ace = re.sub("{0}".format(wb), "", ace, 1)
515s
515s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
515s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/nxos/tests/output/junit/python3.13-controller-units.xml -
515s ====================== 773 passed, 440 warnings in 12.08s ======================
515s
515s
515s
515s ############################################################
515s ############################################################
515s #### Running tests in ansible_collections/cloud/common
515s ############################################################
515s ############################################################
515s Unit test module_utils with Python 3.13
517s ============================= test session starts ==============================
517s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
517s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cloud/common
517s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
517s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
517s created: 8/8 workers
517s 8 workers [19 items]
517s
519s ................... [100%]
519s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cloud/common/tests/output/junit/python3.13-module_utils-units.xml -
519s ============================== 19 passed in 2.65s ==============================
519s
519s
519s
519s ############################################################
519s ############################################################
519s #### Running tests in ansible_collections/community/aws
519s ############################################################
519s ############################################################
519s Unit test modules with Python 3.13
522s ============================= test session starts ==============================
522s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
522s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/aws
522s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
522s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
522s created: 8/8 workers
522s 8 workers [33 items]
522s
522s ................................. [100%]
522s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/aws/tests/output/junit/python3.13-modules-units.xml -
522s =========================== short test summary info ============================
522s SKIPPED [1] ../../amazon/aws/tests/unit/utils/amazon_placebo_fixtures.py:16: could not import 'placebo': No module named 'placebo'
522s ======================== 33 passed, 1 skipped in 2.69s =========================
522s Unit test controller with Python 3.13
524s ============================= test session starts ==============================
524s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
524s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/aws
524s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
524s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
524s created: 8/8 workers
524s 8 workers [52 items]
524s
525s .................................................... [100%]
525s =============================== warnings summary ===============================
525s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_post_process
525s /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`?
525s warnings.warn(
525s
525s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_start_session
525s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:85: PytestUnraisableExceptionWarning: Exception ignored in:
525s
525s Traceback (most recent call last):
525s File "/tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/aws/plugins/connection/aws_ssm.py", line 496, in __del__
525s self.close()
525s ~~~~~~~~~~^^
525s File "/tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/aws/plugins/connection/aws_ssm.py", line 961, in close
525s self._vvv(f"CLOSING SSM CONNECTION TO: {self.instance_id}")
525s ^^^^^^^^^^^^^^^^
525s AttributeError: 'Connection' object has no attribute 'instance_id'
525s
525s warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
525s
525s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_wrap_command
525s /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`?
525s warnings.warn(
525s
525s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_exec_command
525s /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`?
525s warnings.warn(
525s
525s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
525s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/aws/tests/output/junit/python3.13-controller-units.xml -
525s ======================== 52 passed, 4 warnings in 2.34s ========================
525s
525s
525s
525s ############################################################
525s ############################################################
525s #### Running tests in ansible_collections/community/ciscosmb
525s ############################################################
525s ############################################################
525s Unit test modules with Python 3.13
527s ============================= test session starts ==============================
527s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
527s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/ciscosmb
527s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
527s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
527s created: 8/8 workers
527s 8 workers [56 items]
527s
527s ........................................................ [100%]
527s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/ciscosmb/tests/output/junit/python3.13-modules-units.xml -
527s ============================== 56 passed in 1.33s ==============================
527s
527s
527s
527s ############################################################
527s ############################################################
527s #### Running tests in ansible_collections/community/crypto
527s ############################################################
527s ############################################################
528s Unit test modules with Python 3.13
529s ============================= test session starts ==============================
529s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
529s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/crypto
529s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
529s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
529s created: 8/8 workers
529s 8 workers [76 items]
529s
529s ........................................................................ [ 94%]
529s .... [100%]
529s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/crypto/tests/output/junit/python3.13-modules-units.xml -
529s ============================== 76 passed in 1.33s ==============================
529s Unit test module_utils with Python 3.13
531s ============================= test session starts ==============================
531s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
531s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/crypto
531s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
531s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
531s created: 8/8 workers
531s 8 workers [520 items]
531s
532s ........................................................................ [ 13%]
532s ........................................................................ [ 27%]
533s .....................................................................s.. [ 41%]
533s ...s..s..s......s....s......s....s...................................... [ 55%]
533s .s....s.s....s...s..s...s............................................... [ 69%]
534s ........................................................................ [ 83%]
536s ........................................................................ [ 96%]
542s ................ [100%]
542s =============================== warnings summary ===============================
542s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_valid_user_key_params[dsa-1024-change_me-comment]
542s /tmp/autopkgtest.xgVBhN/build.Qr2/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
542s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment)
542s
542s tests/unit/plugins/module_utils/test_time.py: 16 warnings
542s /tmp/autopkgtest.xgVBhN/build.Qr2/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).
542s return datetime.datetime.utcfromtimestamp(timestamp)
542s
542s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_default_key_params[dsa-None-None-None]
542s /tmp/autopkgtest.xgVBhN/build.Qr2/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
542s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment)
542s
542s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_default_key_params[dsa-None-None-None]
542s /tmp/autopkgtest.xgVBhN/build.Qr2/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
542s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment)
542s
542s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
542s /tmp/autopkgtest.xgVBhN/build.Qr2/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
542s assert OpensshKeypair.generate() != OpensshKeypair.generate(keytype='dsa')
542s
542s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
542s /tmp/autopkgtest.xgVBhN/build.Qr2/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
542s 'pair': OpensshKeypair.generate(keytype='dsa', passphrase='change_me'.encode('UTF-8')),
542s
542s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
542s /tmp/autopkgtest.xgVBhN/build.Qr2/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.
542s privatekey = privatekey_loader(
542s
542s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
542s /tmp/autopkgtest.xgVBhN/build.Qr2/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.
542s publickey = publickey_loader(
542s
542s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
542s /tmp/autopkgtest.xgVBhN/build.Qr2/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
542s loaded_dsa_key = OpensshKeypair.load(path=keys['dsa']['filename'], passphrase='change_me'.encode('UTF-8'))
542s
542s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
542s /tmp/autopkgtest.xgVBhN/build.Qr2/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
542s loaded_dsa_key.update_passphrase('change_me_again'.encode('UTF-8'))
542s
542s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
542s /tmp/autopkgtest.xgVBhN/build.Qr2/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
542s loaded_dsa_key.update_passphrase('change_me'.encode('UTF-8'))
542s
542s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
542s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/crypto/tests/output/junit/python3.13-module_utils-units.xml -
542s =========================== short test summary info ============================
542s SKIPPED [15] tests/unit/plugins/module_utils/crypto/test_asn1.py:78: unconditional skip
542s ================ 505 passed, 15 skipped, 26 warnings in 12.21s =================
542s
542s
542s
542s ############################################################
542s ############################################################
542s #### Running tests in ansible_collections/community/digitalocean
542s ############################################################
542s ############################################################
542s Unit test modules with Python 3.13
544s ============================= test session starts ==============================
544s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
544s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/digitalocean
544s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
544s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
544s created: 8/8 workers
544s 8 workers [32 items]
544s
544s ................................ [100%]
544s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/digitalocean/tests/output/junit/python3.13-modules-units.xml -
544s ============================== 32 passed in 1.34s ==============================
544s Unit test controller with Python 3.13
546s ============================= test session starts ==============================
546s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
546s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/digitalocean
546s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
546s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
546s created: 8/8 workers
546s 8 workers [14 items]
546s
546s .............. [100%]
546s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/digitalocean/tests/output/junit/python3.13-controller-units.xml -
546s ============================== 14 passed in 1.37s ==============================
546s Skipping ansible_collections/community/dns
546s
546s
546s
546s ############################################################
546s ############################################################
546s #### Running tests in ansible_collections/community/docker
546s ############################################################
546s ############################################################
546s Unit test modules with Python 3.13
548s ============================= test session starts ==============================
548s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
548s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/docker
548s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
548s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
548s created: 8/8 workers
548s 8 workers [27 items]
548s
550s ........................... [100%]
550s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/docker/tests/output/junit/python3.13-modules-units.xml -
550s ============================== 27 passed in 3.62s ==============================
550s Unit test module_utils with Python 3.13
552s ============================= test session starts ==============================
552s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
552s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/docker
552s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
552s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
552s created: 8/8 workers
552s 8 workers [551 items]
552s
552s s...................................s.......s....s........s.......s...s. [ 13%]
553s .s.s......s.s....s...s......s.................................s......... [ 26%]
553s ........................................................................ [ 39%]
553s .s....................s................................................. [ 52%]
553s ........................................................................ [ 65%]
553s ........................................................................ [ 78%]
554s ........................................................................ [ 91%]
554s ............................................... [100%]
554s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/docker/tests/output/junit/python3.13-module_utils-units.xml -
554s =========================== short test summary info ============================
554s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_build.py:254: Backslash patterns only on Windows
554s 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.
554s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:99: match_hostname is not available
554s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:92: match_hostname is not available
554s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:95: match_hostname is not available
554s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:86: match_hostname is not available
554s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:89: match_hostname is not available
554s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_config.py:76: condition: sys.platform != 'win32'
554s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_build.py:276: Backslash patterns only on Windows
554s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_utils.py:471: shlex doesn't support bytes in py3
554s ======================= 534 passed, 17 skipped in 3.38s ========================
554s Unit test controller with Python 3.13
556s ============================= test session starts ==============================
556s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
556s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/docker
556s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
556s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
556s created: 8/8 workers
556s 8 workers [16 items]
556s
557s ................ [100%]
557s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/docker/tests/output/junit/python3.13-controller-units.xml -
557s ============================== 16 passed in 2.22s ==============================
557s Skipping ansible_collections/community/general
557s
557s
557s
557s ############################################################
557s ############################################################
557s #### Running tests in ansible_collections/community/grafana
557s ############################################################
557s ############################################################
557s Unit test controller with Python 3.13
559s ============================= test session starts ==============================
559s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
559s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/grafana
559s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
559s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
559s created: 8/8 workers
559s 8 workers [31 items]
559s
560s ............................... [100%]
560s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/grafana/tests/output/junit/python3.13-controller-units.xml -
560s ============================== 31 passed in 1.54s ==============================
560s
560s
560s
560s ############################################################
560s ############################################################
560s #### Running tests in ansible_collections/community/hashi_vault
560s ############################################################
560s ############################################################
560s Unit test modules with Python 3.13
562s ============================= test session starts ==============================
562s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
562s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/hashi_vault
562s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
562s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
562s created: 8/8 workers
562s 8 workers [281 items]
562s
562s ........................................................................ [ 25%]
562s ........................................................................ [ 51%]
563s ........................................................................ [ 76%]
563s ................................................................. [100%]
563s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-modules-units.xml -
563s ============================= 281 passed in 2.57s ==============================
563s Unit test module_utils with Python 3.13
565s ============================= test session starts ==============================
565s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
565s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/hashi_vault
565s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
565s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
565s created: 8/8 workers
565s 8 workers [1436 items]
565s
565s ........................................................................ [ 5%]
565s ........................................................................ [ 10%]
566s ........................................................................ [ 15%]
566s ........................................................................ [ 20%]
566s ........................................................................ [ 25%]
566s ........................................................................ [ 30%]
566s ........................................................................ [ 35%]
567s ........................................................................ [ 40%]
567s ........................................................................ [ 45%]
567s ........................................................................ [ 50%]
567s ........................................................................ [ 55%]
567s ........................................................................ [ 60%]
568s ........................................................................ [ 65%]
568s ........................................................................ [ 70%]
568s ........................................................................ [ 75%]
568s ........................................................................ [ 80%]
568s ........................................................................ [ 85%]
568s ........................................................................ [ 90%]
569s ........................................................................ [ 95%]
569s .................................................................... [100%]
569s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-module_utils-units.xml -
569s ============================= 1436 passed in 5.24s =============================
569s Unit test controller with Python 3.13
571s ============================= test session starts ==============================
571s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
571s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/hashi_vault
571s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
571s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
571s created: 8/8 workers
571s 8 workers [619 items]
571s
571s ........................................................................ [ 11%]
572s ........................................................................ [ 23%]
572s ........................................................................ [ 34%]
573s ........................................................................ [ 46%]
573s ........................................................................ [ 58%]
573s ........................................................................ [ 69%]
574s ........................................................................ [ 81%]
574s ........................................................................ [ 93%]
574s ........................................... [100%]
574s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-controller-units.xml -
574s ============================= 619 passed in 4.44s ==============================
574s Skipping ansible_collections/community/hrobot
574s Skipping ansible_collections/community/library_inventory_filtering_v1
574s
574s
574s
574s ############################################################
574s ############################################################
574s #### Running tests in ansible_collections/community/libvirt
574s ############################################################
574s ############################################################
575s Unit test controller with Python 3.13
576s ============================= test session starts ==============================
576s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
576s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/libvirt
576s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
576s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
576s created: 8/8 workers
576s 8 workers [4 items]
576s
576s .... [100%]
576s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/libvirt/tests/output/junit/python3.13-controller-units.xml -
576s ============================== 4 passed in 1.02s ===============================
576s
576s
576s
576s ############################################################
576s ############################################################
576s #### Running tests in ansible_collections/community/mysql
576s ############################################################
576s ############################################################
576s Unit test modules with Python 3.13
578s ============================= test session starts ==============================
578s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
578s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/mysql
578s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
578s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
578s created: 8/8 workers
578s 8 workers [43 items]
578s
578s ........................................... [100%]
578s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/mysql/tests/output/junit/python3.13-modules-units.xml -
578s ============================== 43 passed in 1.11s ==============================
578s Unit test module_utils with Python 3.13
579s ============================= test session starts ==============================
579s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
579s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/mysql
579s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
579s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
579s created: 8/8 workers
579s 8 workers [84 items]
579s
579s ........................................................................ [ 85%]
580s ............ [100%]
580s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/mysql/tests/output/junit/python3.13-module_utils-units.xml -
580s ============================== 84 passed in 1.22s ==============================
580s
580s
580s
580s ############################################################
580s ############################################################
580s #### Running tests in ansible_collections/community/network
580s ############################################################
580s ############################################################
580s Unit test modules with Python 3.13
585s ============================= test session starts ==============================
585s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
585s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/network
585s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
585s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
585s created: 8/8 workers
585s 8 workers [930 items]
585s
585s ........................................................................ [ 7%]
585s ........................................................................ [ 15%]
585s ........................................................................ [ 23%]
586s ........................................................................ [ 30%]
586s ........................................................................ [ 38%]
586s ........................................................................ [ 46%]
587s ........................................................................ [ 54%]
587s ........................................................................ [ 61%]
588s .......................................................s....s..s.s.s...s [ 69%]
588s .sss...s.sssssss..ss..ssssss...ssss.sss.s.ssss..sss.s.s.ss....ss...s.s.s [ 77%]
588s .....s..s..s..s.s...s.s.....s.....s.....s...s......s.................... [ 85%]
589s ........................................................................ [ 92%]
589s .................................................................. [100%]
589s =============================== warnings summary ===============================
589s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_absent
589s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_absent
589s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_present
589s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_present
589s /tmp/autopkgtest.xgVBhN/build.Qr2/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.
589s if glb:
589s
589s tests/unit/plugins/modules/test_ce_is_is_instance.py::TestCloudEngineLacpModule::test_isis_instance_present
589s tests/unit/plugins/modules/test_ce_is_is_instance.py::TestCloudEngineLacpModule::test_isis_instance_present
589s /tmp/autopkgtest.xgVBhN/build.Qr2/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.
589s if glb:
589s
589s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
589s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/network/tests/output/junit/python3.13-modules-units.xml -
589s =========================== short test summary info ============================
589s SKIPPED [61] tests/unit/plugins/modules/test_nuage_vspk.py: Nuage Ansible modules requires Python 2.7
589s ================= 869 passed, 61 skipped, 6 warnings in 8.80s ==================
589s Unit test module_utils with Python 3.13
591s ============================= test session starts ==============================
591s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
591s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/network
591s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
591s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
591s created: 8/8 workers
591s 8 workers [172 items]
591s
591s ........................................................................ [ 41%]
591s ........................................................................ [ 83%]
592s ............................ [100%]
592s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/network/tests/output/junit/python3.13-module_utils-units.xml -
592s ============================= 172 passed in 1.98s ==============================
592s Unit test controller with Python 3.13
593s ============================= test session starts ==============================
593s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
593s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/network
593s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
593s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
593s created: 8/8 workers
593s 8 workers [50 items]
593s
594s .................................................. [100%]
594s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/network/tests/output/junit/python3.13-controller-units.xml -
594s ============================== 50 passed in 1.59s ==============================
594s
594s
594s
594s ############################################################
594s ############################################################
594s #### Running tests in ansible_collections/community/okd
594s ############################################################
594s ############################################################
594s Unit test modules with Python 3.13
596s ============================= test session starts ==============================
596s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
596s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/okd
596s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
596s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
596s created: 8/8 workers
596s 8 workers [13 items]
596s
596s ............. [100%]
596s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/okd/tests/output/junit/python3.13-modules-units.xml -
596s ============================== 13 passed in 1.68s ==============================
596s Unit test module_utils with Python 3.13
597s ============================= test session starts ==============================
597s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
597s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/okd
597s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
597s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
597s created: 8/8 workers
597s 8 workers [15 items]
597s
598s .s.........s... [100%]
598s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/okd/tests/output/junit/python3.13-module_utils-units.xml -
598s =========================== short test summary info ============================
598s SKIPPED [2] tests/unit/plugins/module_utils/test_ldap_dn.py: This test requires the python-ldap library
598s ======================== 13 passed, 2 skipped in 1.01s =========================
598s
598s
598s
598s ############################################################
598s ############################################################
598s #### Running tests in ansible_collections/community/postgresql
598s ############################################################
598s ############################################################
598s Unit test modules with Python 3.13
599s ============================= test session starts ==============================
599s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
599s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/postgresql
599s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
599s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
599s created: 8/8 workers
599s 8 workers [30 items]
599s
599s .............................. [100%]
599s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/postgresql/tests/output/junit/python3.13-modules-units.xml -
599s ============================== 30 passed in 1.10s ==============================
599s Unit test module_utils with Python 3.13
601s ============================= test session starts ==============================
601s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
601s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/postgresql
601s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
601s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
601s created: 8/8 workers
601s 8 workers [41 items]
601s
601s ......................................... [100%]
601s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/postgresql/tests/output/junit/python3.13-module_utils-units.xml -
601s ============================== 41 passed in 1.12s ==============================
601s
601s
601s
601s ############################################################
601s ############################################################
601s #### Running tests in ansible_collections/community/rabbitmq
601s ############################################################
601s ############################################################
601s Unit test controller with Python 3.13
603s ============================= test session starts ==============================
603s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
603s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/rabbitmq
603s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
603s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
603s created: 8/8 workers
603s 8 workers [30 items]
603s
603s .............................. [100%]
603s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/rabbitmq/tests/output/junit/python3.13-controller-units.xml -
603s ============================== 30 passed in 1.41s ==============================
603s
603s
603s
603s ############################################################
603s ############################################################
603s #### Running tests in ansible_collections/community/routeros
603s ############################################################
603s ############################################################
604s Unit test modules with Python 3.13
605s ============================= test session starts ==============================
605s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
605s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/routeros
605s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
605s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
605s created: 8/8 workers
605s 8 workers [115 items]
605s
605s ........................................................................ [ 62%]
606s ........................................... [100%]
606s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/routeros/tests/output/junit/python3.13-modules-units.xml -
606s ============================= 115 passed in 1.85s ==============================
606s Unit test module_utils with Python 3.13
607s ============================= test session starts ==============================
607s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
607s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/routeros
607s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
607s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
607s created: 8/8 workers
607s 8 workers [146 items]
607s
608s ........................................................................ [ 49%]
608s ........................................................................ [ 98%]
608s .. [100%]
608s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/routeros/tests/output/junit/python3.13-module_utils-units.xml -
608s ============================= 146 passed in 1.59s ==============================
608s
608s
608s
608s ############################################################
608s ############################################################
608s #### Running tests in ansible_collections/community/sap_libs
608s ############################################################
608s ############################################################
608s Unit test modules with Python 3.13
610s ============================= test session starts ==============================
610s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
610s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/sap_libs
610s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
610s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
610s created: 8/8 workers
610s 8 workers [49 items]
610s
611s ................................................. [100%]
611s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/sap_libs/tests/output/junit/python3.13-modules-units.xml -
611s ============================== 49 passed in 1.84s ==============================
611s
611s
611s
611s ############################################################
611s ############################################################
611s #### Running tests in ansible_collections/community/vmware
611s ############################################################
611s ############################################################
611s Unit test controller with Python 3.13
614s ============================= test session starts ==============================
614s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
614s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/vmware
614s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
614s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
614s created: 8/8 workers
614s 8 workers [32 items]
614s
614s ................................ [100%]
614s =============================== warnings summary ===============================
614s tests/unit/module_utils/test_vmware.py::test_required_params[validate_certs]
614s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module0-testcase0]
614s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module7-testcase7]
614s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module5-testcase5]
614s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/vmware/plugins/module_utils/vmware.py:752: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
614s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
614s
614s tests/unit/module_utils/test_vmware.py::test_required_params[valid_http_proxy]
614s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module6-testcase6]
614s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/vmware/plugins/module_utils/vmware.py:757: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
614s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
614s
614s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
614s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/vmware/tests/output/junit/python3.13-controller-units.xml -
614s ======================== 32 passed, 6 warnings in 1.98s ========================
614s
614s
614s
614s ############################################################
614s ############################################################
614s #### Running tests in ansible_collections/community/windows
614s ############################################################
614s ############################################################
614s Unit test controller with Python 3.13
616s ============================= test session starts ==============================
616s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
616s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/windows
616s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
616s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
616s created: 8/8 workers
616s 8 workers [32 items]
616s
616s ................................ [100%]
616s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/community/windows/tests/output/junit/python3.13-controller-units.xml -
616s ============================== 32 passed in 1.39s ==============================
616s
616s
616s
616s ############################################################
616s ############################################################
616s #### Running tests in ansible_collections/containers/podman
616s ############################################################
616s ############################################################
616s Unit test modules with Python 3.13
618s ============================= test session starts ==============================
618s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
618s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/containers/podman
618s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
618s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
618s created: 8/8 workers
618s 8 workers [10 items]
618s
618s .......... [100%]
618s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/containers/podman/tests/output/junit/python3.13-modules-units.xml -
618s ============================== 10 passed in 1.02s ==============================
618s
618s
618s
618s ############################################################
618s ############################################################
618s #### Running tests in ansible_collections/cyberark/conjur
618s ############################################################
618s ############################################################
618s Unit test controller with Python 3.13
620s ============================= test session starts ==============================
620s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
620s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cyberark/conjur
620s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
620s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
620s created: 8/8 workers
620s 8 workers [21 items]
620s
620s ..................... [100%]
620s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cyberark/conjur/tests/output/junit/python3.13-controller-units.xml -
620s ============================== 21 passed in 1.37s ==============================
620s
620s
620s
620s ############################################################
620s ############################################################
620s #### Running tests in ansible_collections/dellemc/enterprise_sonic
620s ############################################################
620s ############################################################
620s Unit test controller with Python 3.13
624s ============================= test session starts ==============================
624s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
624s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/enterprise_sonic
624s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
624s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
624s created: 8/8 workers
624s 8 workers [404 items]
624s
625s ........................................................................ [ 17%]
626s ........................................................................ [ 35%]
627s ........................................................................ [ 53%]
628s ........................................................................ [ 71%]
629s ........................................................................ [ 89%]
630s ............................................ [100%]
630s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/enterprise_sonic/tests/output/junit/python3.13-controller-units.xml -
630s ============================= 404 passed in 9.58s ==============================
631s
631s
631s
631s ############################################################
631s ############################################################
631s #### Running tests in ansible_collections/dellemc/openmanage
631s ############################################################
631s ############################################################
631s Unit test modules with Python 3.13
637s ============================= test session starts ==============================
637s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
637s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/openmanage
637s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
637s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
637s created: 8/8 workers
637s 8 workers [2636 items]
637s
637s ........................................................................ [ 2%]
637s ........................................................................ [ 5%]
638s ........................................................................ [ 8%]
638s ........................................................................ [ 10%]
638s ........................................................................ [ 13%]
639s ........................................................................ [ 16%]
639s ........................................................................ [ 19%]
639s ........................................................................ [ 21%]
640s ........................................................................ [ 24%]
640s ........................................................................ [ 27%]
640s ........................................................................ [ 30%]
641s ........................................................................ [ 32%]
641s ........................................................................ [ 35%]
642s ........................................................................ [ 38%]
642s ........................................................................ [ 40%]
642s ........................................................................ [ 43%]
643s ........................................................................ [ 46%]
644s ........................................................................ [ 49%]
644s ........................................................................ [ 51%]
644s ........................................................................ [ 54%]
644s ........................................................................ [ 57%]
645s ........................................................................ [ 60%]
645s ........................................................................ [ 62%]
646s ........................................................................ [ 65%]
646s ........................................................................ [ 68%]
646s ........................................................................ [ 71%]
647s ........................................................................ [ 73%]
647s ........................................................................ [ 76%]
648s ........................................................................ [ 79%]
648s ........................................................................ [ 81%]
648s ........................................................................ [ 84%]
649s ........................................................................ [ 87%]
649s ........................................................................ [ 90%]
650s ........................................................................ [ 92%]
654s ........................................................................ [ 95%]
688s ........................................................................ [ 98%]
689s ............................................ [100%]
689s =============================== warnings summary ===============================
689s tests/unit/plugins/modules/test_idrac_diagnostics.py: 19 warnings
689s tests/unit/plugins/modules/test_idrac_firmware_info.py: 6 warnings
689s tests/unit/plugins/modules/test_idrac_support_assist.py: 30 warnings
689s tests/unit/plugins/modules/test_idrac_system_erase.py: 6 warnings
689s tests/unit/plugins/modules/test_ome_application_network_proxy.py: 1 warning
689s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/openmanage/plugins/module_utils/utils.py:117: DeprecationWarning: 'count' is passed as positional argument
689s ipv6_short = re.sub(r'(:0)+', ':', tempstr, 1)
689s
689s tests/unit/plugins/modules/test_idrac_server_config_profile.py::TestServerConfigProfile::test_compare_custom_default_configs[params0]
689s tests/unit/plugins/modules/test_idrac_server_config_profile.py::TestServerConfigProfile::test_compare_custom_default_configs[params0]
689s /tmp/autopkgtest.xgVBhN/build.Qr2/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.
689s if component:
689s
689s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
689s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/openmanage/tests/output/junit/python3.13-modules-units.xml -
689s =========================== short test summary info ============================
689s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_configure_idrac_eventing.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_configure_idrac_services.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_idrac_lc_attributes.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_idrac_storage_volume.py:22: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_system_lockdown_mode.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_idrac_firmware.py:27: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_job_status_info.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_jobs.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_logs.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_status_info.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_idrac_network.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_idrac_os_deployment.py:22: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_idrac_syslog.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_idrac_system_info.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s SKIPPED [1] tests/unit/plugins/modules/test_idrac_timezone_ntp.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk'
689s ================ 2636 passed, 15 skipped, 64 warnings in 58.13s ================
690s Unit test module_utils with Python 3.13
691s ============================= test session starts ==============================
691s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
691s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/openmanage
691s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
691s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
691s created: 8/8 workers
691s 8 workers [121 items]
691s
691s ........................................................................ [ 59%]
692s ................................................. [100%]
692s =============================== warnings summary ===============================
692s tests/unit/plugins/module_utils/test_idrac_redfish.py::TestIdracRedfishRest::test_invoke_request_without_session
692s tests/unit/plugins/module_utils/test_ome.py::TestOMERest::test_invoke_request_with_session
692s tests/unit/plugins/module_utils/test_redfish.py::TestRedfishRest::test_invoke_request_without_session
692s tests/unit/plugins/module_utils/test_rest_api.py::TestRestAPI::test_invoke_request_with_session
692s tests/unit/plugins/module_utils/test_session_utils.py::TestSessionRest::test_invoke_request_without_session
692s /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/openmanage/plugins/module_utils/utils.py:117: DeprecationWarning: 'count' is passed as positional argument
692s ipv6_short = re.sub(r'(:0)+', ':', tempstr, 1)
692s
692s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
692s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/openmanage/tests/output/junit/python3.13-module_utils-units.xml -
692s ======================= 121 passed, 5 warnings in 1.76s ========================
692s
692s
692s
692s ############################################################
692s ############################################################
692s #### Running tests in ansible_collections/dellemc/powerflex
692s ############################################################
692s ############################################################
692s Unit test modules with Python 3.13
694s ============================= test session starts ==============================
694s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
694s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/powerflex
694s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
694s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
694s created: 8/8 workers
694s 8 workers [405 items]
694s
694s ........................................................................ [ 17%]
695s ........................................................................ [ 35%]
695s ........................................................................ [ 53%]
695s ........................................................................ [ 71%]
696s ........................................................................ [ 88%]
696s ............................................. [100%]
696s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/powerflex/tests/output/junit/python3.13-modules-units.xml -
696s ============================= 405 passed in 3.35s ==============================
696s
696s
696s
696s ############################################################
696s ############################################################
696s #### Running tests in ansible_collections/dellemc/unity
696s ############################################################
696s ############################################################
696s Unit test modules with Python 3.13
698s ============================= test session starts ==============================
698s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
698s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/unity
698s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
698s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
698s created: 8/8 workers
698s 8 workers [92 items]
698s
698s ........................................................................ [ 78%]
699s .................... [100%]
699s =============================== warnings summary ===============================
699s plugins/module_utils/storage/dell/utils.py:72
699s plugins/module_utils/storage/dell/utils.py:72
699s plugins/module_utils/storage/dell/utils.py:72
699s plugins/module_utils/storage/dell/utils.py:72
699s plugins/module_utils/storage/dell/utils.py:72
699s plugins/module_utils/storage/dell/utils.py:72
699s plugins/module_utils/storage/dell/utils.py:72
699s plugins/module_utils/storage/dell/utils.py:72
699s /tmp/autopkgtest.xgVBhN/build.Qr2/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
699s from pkg_resources import parse_version
699s
699s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
699s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/dellemc/unity/tests/output/junit/python3.13-modules-units.xml -
699s ======================== 92 passed, 8 warnings in 1.90s ========================
699s
699s
699s
699s ############################################################
699s ############################################################
699s #### Running tests in ansible_collections/google/cloud
699s ############################################################
699s ############################################################
699s Unit test controller with Python 3.13
700s ============================= test session starts ==============================
700s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
700s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/google/cloud
700s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
700s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
700s created: 8/8 workers
700s 8 workers [17 items]
700s
701s ................. [100%]
701s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/google/cloud/tests/output/junit/python3.13-controller-units.xml -
701s ============================== 17 passed in 1.27s ==============================
701s
701s
701s
701s ############################################################
701s ############################################################
701s #### Running tests in ansible_collections/hetzner/hcloud
701s ############################################################
701s ############################################################
701s Unit test controller with Python 3.13
703s ============================= test session starts ==============================
703s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
703s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/hetzner/hcloud
703s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
703s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
703s created: 8/8 workers
703s 8 workers [30 items]
703s
703s .............................. [100%]
703s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/hetzner/hcloud/tests/output/junit/python3.13-controller-units.xml -
703s ============================== 30 passed in 1.71s ==============================
703s
703s
703s
703s ############################################################
703s ############################################################
703s #### Running tests in ansible_collections/ibm/qradar
703s ############################################################
703s ############################################################
703s Unit test controller with Python 3.13
705s ============================= test session starts ==============================
705s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
705s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ibm/qradar
705s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
705s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
705s created: 8/8 workers
705s 8 workers [5 items]
705s
705s ..... [100%]
705s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ibm/qradar/tests/output/junit/python3.13-controller-units.xml -
705s ============================== 5 passed in 1.40s ===============================
705s
705s
705s
705s ############################################################
705s ############################################################
705s #### Running tests in ansible_collections/ibm/spectrum_virtualize
705s ############################################################
705s ############################################################
705s Unit test modules with Python 3.13
708s ============================= test session starts ==============================
708s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
708s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ibm/spectrum_virtualize
708s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
708s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
708s created: 8/8 workers
708s 8 workers [613 items]
708s
708s ........................................................................ [ 11%]
708s ........................................................................ [ 23%]
708s ........................................................................ [ 35%]
709s ........................................................................ [ 46%]
709s ........................................................................ [ 58%]
709s ........................................................................ [ 70%]
710s ........................................................................ [ 82%]
710s ........................................................................ [ 93%]
710s ..................................... [100%]
710s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ibm/spectrum_virtualize/tests/output/junit/python3.13-modules-units.xml -
710s ============================= 613 passed in 4.55s ==============================
711s Unit test module_utils with Python 3.13
712s ============================= test session starts ==============================
712s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
712s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ibm/spectrum_virtualize
712s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
712s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
712s created: 8/8 workers
712s 8 workers [9 items]
712s
712s ......... [100%]
712s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ibm/spectrum_virtualize/tests/output/junit/python3.13-module_utils-units.xml -
712s ============================== 9 passed in 1.23s ===============================
712s
712s
712s
712s ############################################################
712s ############################################################
712s #### Running tests in ansible_collections/ibm/storage_virtualize
712s ############################################################
712s ############################################################
712s Unit test modules with Python 3.13
715s ============================= test session starts ==============================
715s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
715s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ibm/storage_virtualize
715s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
715s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
715s created: 8/8 workers
715s 8 workers [762 items]
715s
715s ........................................................................ [ 9%]
715s ........................................................................ [ 18%]
716s ........................................................................ [ 28%]
716s ........................................................................ [ 37%]
716s ........................................................................ [ 47%]
716s ........................................................................ [ 56%]
717s ........................................................................ [ 66%]
717s ........................................................................ [ 75%]
717s ........................................................................ [ 85%]
718s ........................................................................ [ 94%]
721s .......................................... [100%]
721s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ibm/storage_virtualize/tests/output/junit/python3.13-modules-units.xml -
721s ============================= 762 passed in 8.18s ==============================
721s Unit test module_utils with Python 3.13
723s ============================= test session starts ==============================
723s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
723s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ibm/storage_virtualize
723s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
723s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
723s created: 8/8 workers
723s 8 workers [12 items]
723s
723s ............ [100%]
723s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ibm/storage_virtualize/tests/output/junit/python3.13-module_utils-units.xml -
723s ============================== 12 passed in 1.34s ==============================
723s Skipping ansible_collections/infoblox/nios_modules
723s Skipping ansible_collections/junipernetworks/junos
723s
723s
723s
723s ############################################################
723s ############################################################
723s #### Running tests in ansible_collections/kubernetes/core
723s ############################################################
723s ############################################################
723s Unit test controller with Python 3.13
726s ============================= test session starts ==============================
726s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
726s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/kubernetes/core
726s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
726s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
726s created: 8/8 workers
726s 8 workers [172 items]
726s
726s ........................................................................ [ 41%]
726s ........................................................................ [ 83%]
731s ............................ [100%]
731s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/kubernetes/core/tests/output/junit/python3.13-controller-units.xml -
731s ============================= 172 passed in 7.71s ==============================
732s
732s
732s
732s ############################################################
732s ############################################################
732s #### Running tests in ansible_collections/kubevirt/core
732s ############################################################
732s ############################################################
732s Unit test controller with Python 3.13
735s ============================= test session starts ==============================
735s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
735s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/kubevirt/core
735s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
735s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
735s created: 8/8 workers
735s 8 workers [190 items]
735s
735s ........................................................................ [ 37%]
735s ........................................................................ [ 75%]
736s .............................................. [100%]
736s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/kubevirt/core/tests/output/junit/python3.13-controller-units.xml -
736s ============================= 190 passed in 2.80s ==============================
736s
736s
736s
736s ############################################################
736s ############################################################
736s #### Running tests in ansible_collections/microsoft/ad
736s ############################################################
736s ############################################################
736s Unit test controller with Python 3.13
738s ============================= test session starts ==============================
738s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
738s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/microsoft/ad
738s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
738s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
738s created: 8/8 workers
738s 8 workers [118 items]
738s
738s ........................................................................ [ 61%]
742s .................s....s....................... [100%]
742s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/microsoft/ad/tests/output/junit/python3.13-controller-units.xml -
742s =========================== short test summary info ============================
742s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_laps.py:9: could not import 'dpapi_ng': No module named 'dpapi_ng'
742s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_schema.py:8: could not import 'sansldap': No module named 'sansldap'
742s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_certificate.py:179: Hash algorithm is unavailable: Hash algorithm "sha1" not supported for signatures
742s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_certificate.py:179: Hash algorithm is unavailable: Hash algorithm "md5" not supported for signatures
742s ======================== 116 passed, 4 skipped in 5.59s ========================
742s
742s
742s
742s ############################################################
742s ############################################################
742s #### Running tests in ansible_collections/netapp/cloudmanager
742s ############################################################
742s ############################################################
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.xgVBhN/build.Qr2/src/ansible_collections/netapp/cloudmanager
745s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
745s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
745s created: 8/8 workers
745s 8 workers [106 items]
745s
745s ........................................................................ [ 67%]
763s .................................. [100%]
763s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/netapp/cloudmanager/tests/output/junit/python3.13-modules-units.xml -
763s ============================= 106 passed in 19.97s =============================
763s 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.xgVBhN/build.Qr2/src/ansible_collections/netapp/cloudmanager
765s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
765s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
765s created: 8/8 workers
765s 8 workers [52 items]
765s
765s .................................................... [100%]
765s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/netapp/cloudmanager/tests/output/junit/python3.13-module_utils-units.xml -
765s ============================== 52 passed in 1.77s ==============================
765s Skipping ansible_collections/netapp/ontap
765s
765s
765s
765s ############################################################
765s ############################################################
765s #### Running tests in ansible_collections/netapp/storagegrid
765s ############################################################
765s ############################################################
766s Unit test modules with Python 3.13
768s ============================= test session starts ==============================
768s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
768s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/netapp/storagegrid
768s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
768s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
768s created: 8/8 workers
768s 8 workers [154 items]
768s
768s ........................................................................ [ 46%]
768s ........................................................................ [ 93%]
769s .......... [100%]
769s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/netapp/storagegrid/tests/output/junit/python3.13-modules-units.xml -
769s ============================= 154 passed in 2.45s ==============================
769s Skipping ansible_collections/netapp_eseries/santricity
769s
769s
769s
769s ############################################################
769s ############################################################
769s #### Running tests in ansible_collections/netbox/netbox
769s ############################################################
769s ############################################################
769s Unit test controller with Python 3.13
771s ============================= test session starts ==============================
771s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
771s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/netbox/netbox
771s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
771s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
771s created: 8/8 workers
771s 8 workers [208 items]
771s
771s ........................................................................ [ 34%]
771s ........................................................................ [ 69%]
772s ................................................................ [100%]
772s =============================== warnings summary ===============================
772s tests/unit/inventory/test_nb_inventory.py::test_refresh_lookups
772s /usr/lib/python3/dist-packages/_pytest/threadexception.py:82: PytestUnhandledThreadExceptionWarning: Exception in thread Thread-2 (wrapper)
772s
772s Traceback (most recent call last):
772s File "/usr/lib/python3.13/threading.py", line 1041, in _bootstrap_inner
772s self.run()
772s ~~~~~~~~^^
772s File "/usr/lib/python3.13/threading.py", line 992, in run
772s self._target(*self._args, **self._kwargs)
772s ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
772s File "/tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/netbox/netbox/plugins/inventory/nb_inventory.py", line 1569, in wrapper
772s raise e
772s File "/tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/netbox/netbox/plugins/inventory/nb_inventory.py", line 1564, in wrapper
772s lookup()
772s ~~~~~~^^
772s File "/tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/netbox/netbox/tests/unit/inventory/test_nb_inventory.py", line 154, in raises_exception
772s raise Exception("Error from within a thread")
772s Exception: Error from within a thread
772s
772s warnings.warn(pytest.PytestUnhandledThreadExceptionWarning(msg))
772s
772s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
772s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/netbox/netbox/tests/output/junit/python3.13-controller-units.xml -
772s ======================== 208 passed, 1 warning in 2.02s ========================
772s Skipping ansible_collections/ngine_io/cloudstack
772s Skipping ansible_collections/sensu/sensu_go
772s Skipping ansible_collections/splunk/es
772s Skipping ansible_collections/vmware/vmware
772s
772s
772s
772s ############################################################
772s ############################################################
772s #### Running tests in ansible_collections/vultr/cloud
772s ############################################################
772s ############################################################
772s Unit test controller with Python 3.13
773s ============================= test session starts ==============================
773s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
773s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/vultr/cloud
773s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
773s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
773s created: 8/8 workers
773s 8 workers [15 items]
773s
774s ............... [100%]
774s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/vultr/cloud/tests/output/junit/python3.13-controller-units.xml -
774s ============================== 15 passed in 1.33s ==============================
774s
774s
774s
774s ############################################################
774s ############################################################
774s #### Running tests in ansible_collections/vyos/vyos
774s ############################################################
774s ############################################################
774s Unit test controller with Python 3.13
776s ============================= test session starts ==============================
776s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
776s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/vyos/vyos
776s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
776s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
776s created: 8/8 workers
776s 8 workers [212 items]
776s
776s ........................................................................ [ 33%]
777s ........................................................................ [ 67%]
778s .................................................................... [100%]
778s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/vyos/vyos/tests/output/junit/python3.13-controller-units.xml -
778s ============================= 212 passed in 3.17s ==============================
778s
778s
778s
778s ############################################################
778s ############################################################
778s #### Running tests in ansible_collections/wti/remote
778s ############################################################
778s ############################################################
778s Unit test controller with Python 3.13
779s ============================= test session starts ==============================
779s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
779s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/wti/remote
779s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
779s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
779s created: 8/8 workers
779s 8 workers [1 item]
779s
779s . [100%]
779s =============================== warnings summary ===============================
779s tests/unit/test_example.py::test_example
779s /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`?
779s warnings.warn(
779s
779s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
779s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/wti/remote/tests/output/junit/python3.13-controller-units.xml -
779s ========================= 1 passed, 1 warning in 0.83s =========================
780s autopkgtest [04:56:33]: test unit-tests-stable.py: -----------------------]
783s autopkgtest [04:56:36]: test unit-tests-stable.py: - - - - - - - - - - results - - - - - - - - - -
783s unit-tests-stable.py PASS
787s autopkgtest [04:56:40]: test unit-tests-flaky.py: preparing testbed
811s autopkgtest [04:57:04]: testbed dpkg architecture: armhf
813s autopkgtest [04:57:06]: testbed apt version: 3.0.0
816s autopkgtest [04:57:09]: @@@@@@@@@@@@@@@@@@@@ test bed setup
820s autopkgtest [04:57:11]: testbed release detected to be: questing
826s autopkgtest [04:57:19]: updating testbed package index (apt update)
828s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB]
828s Get:2 http://ftpmaster.internal/ubuntu questing InRelease [110 kB]
828s Get:3 http://ftpmaster.internal/ubuntu questing-updates InRelease [110 kB]
828s Get:4 http://ftpmaster.internal/ubuntu questing-security InRelease [110 kB]
828s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [162 kB]
828s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [43.3 kB]
828s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [1839 kB]
828s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main armhf Packages [197 kB]
828s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe armhf Packages [1341 kB]
828s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse armhf Packages [12.2 kB]
828s Get:11 http://ftpmaster.internal/ubuntu questing/main Sources [1395 kB]
828s Get:12 http://ftpmaster.internal/ubuntu questing/universe Sources [21.1 MB]
829s Get:13 http://ftpmaster.internal/ubuntu questing/multiverse Sources [299 kB]
829s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf Packages [1358 kB]
829s Get:15 http://ftpmaster.internal/ubuntu questing/universe armhf Packages [15.4 MB]
829s Get:16 http://ftpmaster.internal/ubuntu questing/multiverse armhf Packages [173 kB]
833s Fetched 43.7 MB in 5s (8619 kB/s)
834s Reading package lists...
839s autopkgtest [04:57:32]: upgrading testbed (apt dist-upgrade and autopurge)
841s Reading package lists...
841s Building dependency tree...
841s Reading state information...
842s Calculating upgrade...Starting pkgProblemResolver with broken count: 0
842s Starting 2 pkgProblemResolver with broken count: 0
842s Done
842s Entering ResolveByKeep
843s
843s Calculating upgrade...
843s The following packages will be upgraded:
843s base-files distro-info-data dpkg dpkg-dev ed fwupd htop libdpkg-perl
843s libftdi1-2 libfwupd3 libnpth0t64 libnvme1t64 libsensors-config libsensors5
843s liburcu8t64 motd-news-config nano ubuntu-pro-client ubuntu-pro-client-l10n
843s usb.ids
843s 20 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
843s Need to get 5431 kB of archives.
843s After this operation, 3722 kB disk space will be freed.
843s Get:1 http://ftpmaster.internal/ubuntu questing/main armhf motd-news-config all 13.7ubuntu1 [5260 B]
843s Get:2 http://ftpmaster.internal/ubuntu questing/main armhf base-files armhf 13.7ubuntu1 [75.4 kB]
844s Get:3 http://ftpmaster.internal/ubuntu questing/main armhf dpkg armhf 1.22.18ubuntu3 [1254 kB]
844s Get:4 http://ftpmaster.internal/ubuntu questing/main armhf libnpth0t64 armhf 1.8-3 [7716 B]
844s Get:5 http://ftpmaster.internal/ubuntu questing/main armhf distro-info-data all 0.64 [6664 B]
844s Get:6 http://ftpmaster.internal/ubuntu questing/main armhf ubuntu-pro-client-l10n armhf 35.1ubuntu0 [19.7 kB]
844s Get:7 http://ftpmaster.internal/ubuntu questing/main armhf ubuntu-pro-client armhf 35.1ubuntu0 [258 kB]
844s Get:8 http://ftpmaster.internal/ubuntu questing/main armhf ed armhf 1.21.1-1 [53.0 kB]
844s Get:9 http://ftpmaster.internal/ubuntu questing/main armhf libsensors-config all 1:3.6.2-2 [6756 B]
844s Get:10 http://ftpmaster.internal/ubuntu questing/main armhf libsensors5 armhf 1:3.6.2-2 [26.8 kB]
844s Get:11 http://ftpmaster.internal/ubuntu questing/main armhf liburcu8t64 armhf 0.15.2-2 [57.3 kB]
844s Get:12 http://ftpmaster.internal/ubuntu questing/main armhf nano armhf 8.4-1 [278 kB]
844s Get:13 http://ftpmaster.internal/ubuntu questing/main armhf usb.ids all 2025.04.01-1 [223 kB]
844s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf dpkg-dev all 1.22.18ubuntu3 [1089 kB]
844s Get:15 http://ftpmaster.internal/ubuntu questing/main armhf libdpkg-perl all 1.22.18ubuntu3 [281 kB]
844s Get:16 http://ftpmaster.internal/ubuntu questing/main armhf fwupd armhf 2.0.8-3 [1414 kB]
844s Get:17 http://ftpmaster.internal/ubuntu questing/main armhf libfwupd3 armhf 2.0.8-3 [126 kB]
844s Get:18 http://ftpmaster.internal/ubuntu questing/main armhf htop armhf 3.4.1-4 [147 kB]
844s Get:19 http://ftpmaster.internal/ubuntu questing/main armhf libftdi1-2 armhf 1.5-10 [27.8 kB]
844s Get:20 http://ftpmaster.internal/ubuntu questing/main armhf libnvme1t64 armhf 1.13-2 [74.3 kB]
844s Fetched 5431 kB in 1s (7159 kB/s)
845s (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 ... 63953 files and directories currently installed.)
845s Preparing to unpack .../motd-news-config_13.7ubuntu1_all.deb ...
845s Unpacking motd-news-config (13.7ubuntu1) over (13.6ubuntu2) ...
845s Preparing to unpack .../base-files_13.7ubuntu1_armhf.deb ...
845s Unpacking base-files (13.7ubuntu1) over (13.6ubuntu2) ...
845s Setting up base-files (13.7ubuntu1) ...
845s Installing new version of config file /etc/issue ...
845s Installing new version of config file /etc/issue.net ...
845s Installing new version of config file /etc/lsb-release ...
845s motd-news.service is a disabled or a static unit not running, not starting it.
845s (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 ... 63953 files and directories currently installed.)
845s Preparing to unpack .../dpkg_1.22.18ubuntu3_armhf.deb ...
845s Unpacking dpkg (1.22.18ubuntu3) over (1.22.18ubuntu2) ...
846s Setting up dpkg (1.22.18ubuntu3) ...
846s (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 ... 63953 files and directories currently installed.)
846s Preparing to unpack .../libnpth0t64_1.8-3_armhf.deb ...
846s Unpacking libnpth0t64:armhf (1.8-3) over (1.8-2) ...
846s Setting up libnpth0t64:armhf (1.8-3) ...
846s (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 ... 63953 files and directories currently installed.)
846s Preparing to unpack .../00-distro-info-data_0.64_all.deb ...
846s Unpacking distro-info-data (0.64) over (0.63) ...
846s Preparing to unpack .../01-ubuntu-pro-client-l10n_35.1ubuntu0_armhf.deb ...
846s Unpacking ubuntu-pro-client-l10n (35.1ubuntu0) over (35) ...
846s Preparing to unpack .../02-ubuntu-pro-client_35.1ubuntu0_armhf.deb ...
846s Unpacking ubuntu-pro-client (35.1ubuntu0) over (35) ...
846s Preparing to unpack .../03-ed_1.21.1-1_armhf.deb ...
846s Unpacking ed (1.21.1-1) over (1.21-1) ...
846s Preparing to unpack .../04-libsensors-config_1%3a3.6.2-2_all.deb ...
846s Unpacking libsensors-config (1:3.6.2-2) over (1:3.6.0-10) ...
846s Preparing to unpack .../05-libsensors5_1%3a3.6.2-2_armhf.deb ...
846s Unpacking libsensors5:armhf (1:3.6.2-2) over (1:3.6.0-10) ...
846s Preparing to unpack .../06-liburcu8t64_0.15.2-2_armhf.deb ...
846s Unpacking liburcu8t64:armhf (0.15.2-2) over (0.15.1-1) ...
846s Preparing to unpack .../07-nano_8.4-1_armhf.deb ...
846s Unpacking nano (8.4-1) over (8.3-1) ...
847s Preparing to unpack .../08-usb.ids_2025.04.01-1_all.deb ...
847s Unpacking usb.ids (2025.04.01-1) over (2025.01.14-1) ...
847s Preparing to unpack .../09-dpkg-dev_1.22.18ubuntu3_all.deb ...
847s Unpacking dpkg-dev (1.22.18ubuntu3) over (1.22.18ubuntu2) ...
847s Preparing to unpack .../10-libdpkg-perl_1.22.18ubuntu3_all.deb ...
847s Unpacking libdpkg-perl (1.22.18ubuntu3) over (1.22.18ubuntu2) ...
847s Preparing to unpack .../11-fwupd_2.0.8-3_armhf.deb ...
847s Unpacking fwupd (2.0.8-3) over (2.0.7-1) ...
847s dpkg: warning: unable to delete old directory '/etc/grub.d': Directory not empty
847s Preparing to unpack .../12-libfwupd3_2.0.8-3_armhf.deb ...
847s Unpacking libfwupd3:armhf (2.0.8-3) over (2.0.7-1) ...
847s Preparing to unpack .../13-htop_3.4.1-4_armhf.deb ...
847s Unpacking htop (3.4.1-4) over (3.4.0-2) ...
847s Preparing to unpack .../14-libftdi1-2_1.5-10_armhf.deb ...
847s Unpacking libftdi1-2:armhf (1.5-10) over (1.5-8build1) ...
847s Preparing to unpack .../15-libnvme1t64_1.13-2_armhf.deb ...
847s Unpacking libnvme1t64 (1.13-2) over (1.11.1-2) ...
847s Setting up motd-news-config (13.7ubuntu1) ...
847s Setting up liburcu8t64:armhf (0.15.2-2) ...
847s Setting up distro-info-data (0.64) ...
847s Setting up htop (3.4.1-4) ...
847s Setting up libsensors-config (1:3.6.2-2) ...
847s Installing new version of config file /etc/sensors3.conf ...
847s Setting up libfwupd3:armhf (2.0.8-3) ...
847s Setting up libftdi1-2:armhf (1.5-10) ...
847s Setting up libnvme1t64 (1.13-2) ...
847s Setting up ed (1.21.1-1) ...
847s Setting up usb.ids (2025.04.01-1) ...
847s Setting up libsensors5:armhf (1:3.6.2-2) ...
847s Setting up libdpkg-perl (1.22.18ubuntu3) ...
847s Setting up nano (8.4-1) ...
847s Installing new version of config file /etc/nanorc ...
847s Setting up ubuntu-pro-client (35.1ubuntu0) ...
847s apparmor_parser: Unable to replace "ubuntu_pro_apt_news". apparmor_parser: Access denied. You need policy admin privileges to manage profiles.
847s
848s apparmor_parser: Unable to replace "apt_methods". apparmor_parser: Access denied. You need policy admin privileges to manage profiles.
848s
848s apparmor_parser: Unable to replace "ubuntu_pro_esm_cache". apparmor_parser: Access denied. You need policy admin privileges to manage profiles.
848s
849s Setting up fwupd (2.0.8-3) ...
849s fwupd-refresh.service is a disabled or a static unit not running, not starting it.
849s fwupd.service is a disabled or a static unit not running, not starting it.
849s Setting up ubuntu-pro-client-l10n (35.1ubuntu0) ...
849s Setting up dpkg-dev (1.22.18ubuntu3) ...
849s Processing triggers for dbus (1.16.2-2ubuntu1) ...
849s Processing triggers for install-info (7.1.1-1) ...
850s Processing triggers for libc-bin (2.41-6ubuntu1) ...
850s Processing triggers for man-db (2.13.0-1) ...
851s Processing triggers for plymouth-theme-ubuntu-text (24.004.60-2ubuntu7) ...
851s Processing triggers for initramfs-tools (0.147ubuntu1) ...
853s Reading package lists...
854s Building dependency tree...
854s Reading state information...
854s Starting pkgProblemResolver with broken count: 0
854s Starting 2 pkgProblemResolver with broken count: 0
854s Done
854s Solving dependencies...
855s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
857s autopkgtest [04:57:50]: rebooting testbed after setup commands that affected boot
921s Reading package lists...
921s Building dependency tree...
921s Reading state information...
921s Starting pkgProblemResolver with broken count: 0
921s Starting 2 pkgProblemResolver with broken count: 0
921s Done
922s The following NEW packages will be installed:
922s ansible ansible-core fontconfig-config fonts-dejavu-core fonts-dejavu-mono
922s gir1.2-secret-1 git git-man ieee-data libcairo-gobject2 libcairo2
922s liberror-perl libfontconfig1 libfreetype6 libpixman-1-0 libsecret-1-0
922s libsecret-common libsodium23 libxcb-render0 libxcb-shm0 libxrender1
922s libxslt1.1 python3-adal python3-aiohappyeyeballs python3-aiohttp
922s python3-aiosignal python3-async-timeout python3-avro python3-azure
922s python3-azure-storage python3-cachetools python3-cairo python3-click
922s python3-colorama python3-dnspython python3-execnet python3-flake8
922s python3-freezegun python3-frozenlist python3-gi-cairo python3-gitlab
922s python3-google-auth python3-httmock python3-hvac python3-iniconfig
922s python3-isodate python3-joblib python3-kubernetes python3-lxml
922s python3-marshmallow python3-mccabe python3-mock python3-msal
922s python3-msal-extensions python3-msrest python3-msrestazure python3-multidict
922s python3-nacl python3-netaddr python3-nltk python3-paramiko python3-pathspec
922s python3-pluggy python3-portalocker python3-proxmoxer python3-psutil
922s python3-py python3-pyasn1 python3-pyasn1-modules python3-pycodestyle
922s python3-pydash python3-pyflakes python3-pyhcl python3-pytest
922s python3-pytest-forked python3-pytest-mock python3-pytest-xdist python3-pyu2f
922s python3-pyvmomi python3-redis python3-regex python3-requests-oauthlib
922s python3-requests-toolbelt python3-resolvelib python3-responses python3-rsa
922s python3-ruamel.yaml python3-ruamel.yaml.clib python3-strictyaml
922s python3-textfsm python3-tqdm python3-websocket python3-xmltodict
922s python3-yarl yamllint
922s 0 upgraded, 95 newly installed, 0 to remove and 0 not upgraded.
922s Need to get 54.6 MB of archives.
922s After this operation, 903 MB of additional disk space will be used.
922s Get:1 http://ftpmaster.internal/ubuntu questing/universe armhf python3-resolvelib all 1.1.0-1 [25.8 kB]
922s Get:2 http://ftpmaster.internal/ubuntu questing/main armhf libsodium23 armhf 1.0.18-1build3 [139 kB]
923s Get:3 http://ftpmaster.internal/ubuntu questing/main armhf python3-nacl armhf 1.5.0-7 [54.8 kB]
923s Get:4 http://ftpmaster.internal/ubuntu questing/main armhf python3-paramiko all 3.5.1-2ubuntu1 [147 kB]
923s Get:5 http://ftpmaster.internal/ubuntu questing/main armhf python3-dnspython all 2.7.0-1ubuntu1 [167 kB]
923s Get:6 http://ftpmaster.internal/ubuntu questing/main armhf ieee-data all 20240722 [2300 kB]
923s Get:7 http://ftpmaster.internal/ubuntu questing/main armhf python3-netaddr all 1.3.0-1 [363 kB]
923s Get:8 http://ftpmaster.internal/ubuntu questing/universe armhf ansible-core all 2.18.1-4ubuntu1 [1273 kB]
923s Get:9 http://ftpmaster.internal/ubuntu questing/universe armhf ansible all 11.2.0+dfsg-1 [18.1 MB]
924s Get:10 http://ftpmaster.internal/ubuntu questing/main armhf fonts-dejavu-mono all 2.37-8 [502 kB]
924s Get:11 http://ftpmaster.internal/ubuntu questing/main armhf fonts-dejavu-core all 2.37-8 [835 kB]
924s Get:12 http://ftpmaster.internal/ubuntu questing/main armhf fontconfig-config armhf 2.15.0-2.2ubuntu1 [37.9 kB]
924s Get:13 http://ftpmaster.internal/ubuntu questing/main armhf libsecret-common all 0.21.7-1 [5160 B]
924s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf libsecret-1-0 armhf 0.21.7-1 [105 kB]
924s Get:15 http://ftpmaster.internal/ubuntu questing/main armhf gir1.2-secret-1 armhf 0.21.7-1 [9392 B]
924s Get:16 http://ftpmaster.internal/ubuntu questing/main armhf liberror-perl all 0.17030-1 [23.5 kB]
924s Get:17 http://ftpmaster.internal/ubuntu questing/main armhf git-man all 1:2.48.1-0ubuntu1 [1148 kB]
924s Get:18 http://ftpmaster.internal/ubuntu questing/main armhf git armhf 1:2.48.1-0ubuntu1 [4561 kB]
924s Get:19 http://ftpmaster.internal/ubuntu questing/main armhf libfreetype6 armhf 2.13.3+dfsg-1 [330 kB]
924s Get:20 http://ftpmaster.internal/ubuntu questing/main armhf libfontconfig1 armhf 2.15.0-2.2ubuntu1 [114 kB]
924s Get:21 http://ftpmaster.internal/ubuntu questing/main armhf libpixman-1-0 armhf 0.44.0-3 [183 kB]
924s Get:22 http://ftpmaster.internal/ubuntu questing/main armhf libxcb-render0 armhf 1.17.0-2 [15.3 kB]
924s Get:23 http://ftpmaster.internal/ubuntu questing/main armhf libxcb-shm0 armhf 1.17.0-2 [5774 B]
924s Get:24 http://ftpmaster.internal/ubuntu questing/main armhf libxrender1 armhf 1:0.9.10-1.1build1 [16.0 kB]
924s Get:25 http://ftpmaster.internal/ubuntu questing/main armhf libcairo2 armhf 1.18.4-1 [483 kB]
924s Get:26 http://ftpmaster.internal/ubuntu questing/main armhf libcairo-gobject2 armhf 1.18.4-1 [126 kB]
924s Get:27 http://ftpmaster.internal/ubuntu questing/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu4 [151 kB]
924s Get:28 http://ftpmaster.internal/ubuntu questing/universe armhf python3-adal all 1.2.7-5 [33.0 kB]
924s Get:29 http://ftpmaster.internal/ubuntu questing/universe armhf python3-aiohappyeyeballs all 2.6.1-1 [11.1 kB]
924s Get:30 http://ftpmaster.internal/ubuntu questing/universe armhf python3-multidict armhf 6.2.0-2 [32.8 kB]
924s Get:31 http://ftpmaster.internal/ubuntu questing/universe armhf python3-yarl armhf 1.13.1-1build2 [91.4 kB]
924s Get:32 http://ftpmaster.internal/ubuntu questing/universe armhf python3-async-timeout all 5.0.1-1 [6830 B]
924s Get:33 http://ftpmaster.internal/ubuntu questing/universe armhf python3-frozenlist armhf 1.5.0-1build2 [47.0 kB]
924s Get:34 http://ftpmaster.internal/ubuntu questing/universe armhf python3-aiosignal all 1.3.2-1 [5182 B]
924s Get:35 http://ftpmaster.internal/ubuntu questing/universe armhf python3-aiohttp armhf 3.10.11-1build1 [289 kB]
924s Get:36 http://ftpmaster.internal/ubuntu questing/universe armhf python3-avro all 1.12.0+dfsg-1 [75.3 kB]
924s Get:37 http://ftpmaster.internal/ubuntu questing/universe armhf python3-isodate all 0.7.0-1 [18.6 kB]
924s Get:38 http://ftpmaster.internal/ubuntu questing/universe armhf python3-requests-oauthlib all 1.3.1-1 [18.8 kB]
924s Get:39 http://ftpmaster.internal/ubuntu questing/universe armhf python3-msrest all 0.6.21-5 [48.7 kB]
924s Get:40 http://ftpmaster.internal/ubuntu questing/universe armhf python3-msrestazure all 0.6.4-4 [27.1 kB]
924s Get:41 http://ftpmaster.internal/ubuntu questing/universe armhf python3-azure-storage all 20250304+git-1 [300 kB]
924s Get:42 http://ftpmaster.internal/ubuntu questing/universe armhf python3-colorama all 0.4.6-4 [32.1 kB]
924s Get:43 http://ftpmaster.internal/ubuntu questing/universe armhf python3-marshmallow all 3.26.1-0.2 [47.5 kB]
924s Get:44 http://ftpmaster.internal/ubuntu questing/universe armhf python3-msal all 1.32.0-1 [100 kB]
924s Get:45 http://ftpmaster.internal/ubuntu questing/main armhf python3-cairo armhf 1.27.0-2 [115 kB]
924s Get:46 http://ftpmaster.internal/ubuntu questing/main armhf python3-gi-cairo armhf 3.50.0-4build1 [7306 B]
924s Get:47 http://ftpmaster.internal/ubuntu questing/universe armhf python3-portalocker all 2.2.1-1 [17.2 kB]
924s Get:48 http://ftpmaster.internal/ubuntu questing/universe armhf python3-msal-extensions all 1.3.1-1 [18.2 kB]
924s Get:49 http://ftpmaster.internal/ubuntu questing/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB]
924s Get:50 http://ftpmaster.internal/ubuntu questing/universe armhf python3-joblib all 1.4.2-3 [205 kB]
924s Get:51 http://ftpmaster.internal/ubuntu questing/universe armhf python3-regex armhf 0.1.20241106-1build1 [270 kB]
924s Get:52 http://ftpmaster.internal/ubuntu questing/universe armhf python3-tqdm all 4.67.1-3 [91.6 kB]
924s Get:53 http://ftpmaster.internal/ubuntu questing/universe armhf python3-nltk all 3.9.1-2 [1006 kB]
924s Get:54 http://ftpmaster.internal/ubuntu questing/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB]
924s Get:55 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pydash all 8.0.3-3 [93.0 kB]
924s Get:56 http://ftpmaster.internal/ubuntu questing/universe armhf python3-ruamel.yaml.clib armhf 0.2.12+ds-1build1 [130 kB]
924s Get:57 http://ftpmaster.internal/ubuntu questing/universe armhf python3-ruamel.yaml all 0.18.10+ds-1 [127 kB]
924s Get:58 http://ftpmaster.internal/ubuntu questing/universe armhf python3-strictyaml all 1.6.1-3 [89.1 kB]
924s Get:59 http://ftpmaster.internal/ubuntu questing/universe armhf python3-websocket all 1.8.0-2 [38.5 kB]
924s Get:60 http://ftpmaster.internal/ubuntu questing/universe armhf python3-azure all 20250304+git-1 [15.9 MB]
925s Get:61 http://ftpmaster.internal/ubuntu questing/main armhf python3-cachetools all 5.3.3-1 [10.3 kB]
925s Get:62 http://ftpmaster.internal/ubuntu questing/universe armhf python3-execnet all 2.1.1-1 [33.4 kB]
925s Get:63 http://ftpmaster.internal/ubuntu questing/universe armhf python3-mccabe all 0.7.0-1 [8678 B]
925s Get:64 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pycodestyle all 2.12.1-2 [30.2 kB]
925s Get:65 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pyflakes all 3.2.0-3 [53.0 kB]
925s Get:66 http://ftpmaster.internal/ubuntu questing/universe armhf python3-flake8 all 7.1.1-3 [44.0 kB]
925s Get:67 http://ftpmaster.internal/ubuntu questing/universe armhf python3-freezegun all 1.5.1-1.2 [15.9 kB]
925s Get:68 http://ftpmaster.internal/ubuntu questing/universe armhf python3-requests-toolbelt all 1.0.0-4 [37.0 kB]
925s Get:69 http://ftpmaster.internal/ubuntu questing/universe armhf python3-gitlab all 1:4.9.0-1 [75.0 kB]
925s Get:70 http://ftpmaster.internal/ubuntu questing/main armhf python3-pyasn1 all 0.6.1-1 [56.4 kB]
925s Get:71 http://ftpmaster.internal/ubuntu questing/main armhf python3-pyasn1-modules all 0.4.1-2 [80.3 kB]
925s Get:72 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pyu2f all 0.1.5-4 [22.9 kB]
925s Get:73 http://ftpmaster.internal/ubuntu questing/universe armhf python3-responses all 0.25.6-1 [40.5 kB]
925s Get:74 http://ftpmaster.internal/ubuntu questing/universe armhf python3-rsa all 4.9-2 [28.2 kB]
925s Get:75 http://ftpmaster.internal/ubuntu questing/universe armhf python3-google-auth all 2.28.2-3 [91.0 kB]
925s Get:76 http://ftpmaster.internal/ubuntu questing/universe armhf python3-httmock all 1.4.0-5 [6544 B]
925s Get:77 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pyhcl all 0.4.4-6 [43.1 kB]
925s Get:78 http://ftpmaster.internal/ubuntu questing/universe armhf python3-hvac all 2.3.0-3 [88.1 kB]
925s Get:79 http://ftpmaster.internal/ubuntu questing/universe armhf python3-iniconfig all 1.1.1-2 [6024 B]
925s Get:80 http://ftpmaster.internal/ubuntu questing/universe armhf python3-kubernetes all 30.1.0-2 [385 kB]
925s Get:81 http://ftpmaster.internal/ubuntu questing/main armhf python3-lxml armhf 5.3.2-1 [1281 kB]
925s Get:82 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pathspec all 0.12.1-1 [24.5 kB]
925s Get:83 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB]
925s Get:84 http://ftpmaster.internal/ubuntu questing/universe armhf python3-proxmoxer all 2.2.0-1 [16.2 kB]
925s Get:85 http://ftpmaster.internal/ubuntu questing/universe armhf python3-py all 1.11.0-4 [72.7 kB]
925s Get:86 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pytest all 8.3.5-1 [252 kB]
925s Get:87 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pytest-forked all 1.6.0-3 [7470 B]
925s Get:88 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pytest-mock all 3.14.0-2 [11.7 kB]
925s Get:89 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pytest-xdist all 3.6.1-1 [33.8 kB]
925s Get:90 http://ftpmaster.internal/ubuntu questing/universe armhf python3-pyvmomi all 8.0.3.0.1-1 [532 kB]
925s Get:91 http://ftpmaster.internal/ubuntu questing-proposed/universe armhf python3-redis all 5.2.1-1 [221 kB]
925s Get:92 http://ftpmaster.internal/ubuntu questing/universe armhf python3-textfsm all 1.1.3-3 [29.3 kB]
925s Get:93 http://ftpmaster.internal/ubuntu questing/main armhf python3-xmltodict all 0.13.0-1 [13.4 kB]
925s Get:94 http://ftpmaster.internal/ubuntu questing/universe armhf yamllint all 1.35.1-2 [43.6 kB]
925s Get:95 http://ftpmaster.internal/ubuntu questing/universe armhf python3-mock all 5.1.0-1 [64.1 kB]
926s Fetched 54.6 MB in 3s (18.4 MB/s)
926s Selecting previously unselected package python3-resolvelib.
926s (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 ... 63951 files and directories currently installed.)
926s Preparing to unpack .../00-python3-resolvelib_1.1.0-1_all.deb ...
926s Unpacking python3-resolvelib (1.1.0-1) ...
926s Selecting previously unselected package libsodium23:armhf.
926s Preparing to unpack .../01-libsodium23_1.0.18-1build3_armhf.deb ...
926s Unpacking libsodium23:armhf (1.0.18-1build3) ...
926s Selecting previously unselected package python3-nacl.
926s Preparing to unpack .../02-python3-nacl_1.5.0-7_armhf.deb ...
926s Unpacking python3-nacl (1.5.0-7) ...
926s Selecting previously unselected package python3-paramiko.
926s Preparing to unpack .../03-python3-paramiko_3.5.1-2ubuntu1_all.deb ...
926s Unpacking python3-paramiko (3.5.1-2ubuntu1) ...
926s Selecting previously unselected package python3-dnspython.
926s Preparing to unpack .../04-python3-dnspython_2.7.0-1ubuntu1_all.deb ...
926s Unpacking python3-dnspython (2.7.0-1ubuntu1) ...
926s Selecting previously unselected package ieee-data.
926s Preparing to unpack .../05-ieee-data_20240722_all.deb ...
926s Unpacking ieee-data (20240722) ...
926s Selecting previously unselected package python3-netaddr.
926s Preparing to unpack .../06-python3-netaddr_1.3.0-1_all.deb ...
926s Unpacking python3-netaddr (1.3.0-1) ...
926s Selecting previously unselected package ansible-core.
926s Preparing to unpack .../07-ansible-core_2.18.1-4ubuntu1_all.deb ...
926s Unpacking ansible-core (2.18.1-4ubuntu1) ...
927s Selecting previously unselected package ansible.
927s Preparing to unpack .../08-ansible_11.2.0+dfsg-1_all.deb ...
927s Unpacking ansible (11.2.0+dfsg-1) ...
930s Selecting previously unselected package fonts-dejavu-mono.
930s Preparing to unpack .../09-fonts-dejavu-mono_2.37-8_all.deb ...
930s Unpacking fonts-dejavu-mono (2.37-8) ...
930s Selecting previously unselected package fonts-dejavu-core.
930s Preparing to unpack .../10-fonts-dejavu-core_2.37-8_all.deb ...
930s Unpacking fonts-dejavu-core (2.37-8) ...
930s Selecting previously unselected package fontconfig-config.
930s Preparing to unpack .../11-fontconfig-config_2.15.0-2.2ubuntu1_armhf.deb ...
930s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ...
930s Selecting previously unselected package libsecret-common.
930s Preparing to unpack .../12-libsecret-common_0.21.7-1_all.deb ...
930s Unpacking libsecret-common (0.21.7-1) ...
930s Selecting previously unselected package libsecret-1-0:armhf.
930s Preparing to unpack .../13-libsecret-1-0_0.21.7-1_armhf.deb ...
930s Unpacking libsecret-1-0:armhf (0.21.7-1) ...
930s Selecting previously unselected package gir1.2-secret-1:armhf.
930s Preparing to unpack .../14-gir1.2-secret-1_0.21.7-1_armhf.deb ...
930s Unpacking gir1.2-secret-1:armhf (0.21.7-1) ...
930s Selecting previously unselected package liberror-perl.
930s Preparing to unpack .../15-liberror-perl_0.17030-1_all.deb ...
930s Unpacking liberror-perl (0.17030-1) ...
930s Selecting previously unselected package git-man.
931s Preparing to unpack .../16-git-man_1%3a2.48.1-0ubuntu1_all.deb ...
931s Unpacking git-man (1:2.48.1-0ubuntu1) ...
931s Selecting previously unselected package git.
931s Preparing to unpack .../17-git_1%3a2.48.1-0ubuntu1_armhf.deb ...
931s Unpacking git (1:2.48.1-0ubuntu1) ...
931s Selecting previously unselected package libfreetype6:armhf.
931s Preparing to unpack .../18-libfreetype6_2.13.3+dfsg-1_armhf.deb ...
931s Unpacking libfreetype6:armhf (2.13.3+dfsg-1) ...
931s Selecting previously unselected package libfontconfig1:armhf.
931s Preparing to unpack .../19-libfontconfig1_2.15.0-2.2ubuntu1_armhf.deb ...
931s Unpacking libfontconfig1:armhf (2.15.0-2.2ubuntu1) ...
931s Selecting previously unselected package libpixman-1-0:armhf.
931s Preparing to unpack .../20-libpixman-1-0_0.44.0-3_armhf.deb ...
931s Unpacking libpixman-1-0:armhf (0.44.0-3) ...
931s Selecting previously unselected package libxcb-render0:armhf.
931s Preparing to unpack .../21-libxcb-render0_1.17.0-2_armhf.deb ...
931s Unpacking libxcb-render0:armhf (1.17.0-2) ...
931s Selecting previously unselected package libxcb-shm0:armhf.
931s Preparing to unpack .../22-libxcb-shm0_1.17.0-2_armhf.deb ...
931s Unpacking libxcb-shm0:armhf (1.17.0-2) ...
931s Selecting previously unselected package libxrender1:armhf.
931s Preparing to unpack .../23-libxrender1_1%3a0.9.10-1.1build1_armhf.deb ...
931s Unpacking libxrender1:armhf (1:0.9.10-1.1build1) ...
931s Selecting previously unselected package libcairo2:armhf.
931s Preparing to unpack .../24-libcairo2_1.18.4-1_armhf.deb ...
931s Unpacking libcairo2:armhf (1.18.4-1) ...
931s Selecting previously unselected package libcairo-gobject2:armhf.
931s Preparing to unpack .../25-libcairo-gobject2_1.18.4-1_armhf.deb ...
931s Unpacking libcairo-gobject2:armhf (1.18.4-1) ...
931s Selecting previously unselected package libxslt1.1:armhf.
931s Preparing to unpack .../26-libxslt1.1_1.1.39-0exp1ubuntu4_armhf.deb ...
931s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ...
931s Selecting previously unselected package python3-adal.
931s Preparing to unpack .../27-python3-adal_1.2.7-5_all.deb ...
931s Unpacking python3-adal (1.2.7-5) ...
931s Selecting previously unselected package python3-aiohappyeyeballs.
931s Preparing to unpack .../28-python3-aiohappyeyeballs_2.6.1-1_all.deb ...
931s Unpacking python3-aiohappyeyeballs (2.6.1-1) ...
931s Selecting previously unselected package python3-multidict.
931s Preparing to unpack .../29-python3-multidict_6.2.0-2_armhf.deb ...
931s Unpacking python3-multidict (6.2.0-2) ...
931s Selecting previously unselected package python3-yarl.
931s Preparing to unpack .../30-python3-yarl_1.13.1-1build2_armhf.deb ...
931s Unpacking python3-yarl (1.13.1-1build2) ...
931s Selecting previously unselected package python3-async-timeout.
931s Preparing to unpack .../31-python3-async-timeout_5.0.1-1_all.deb ...
931s Unpacking python3-async-timeout (5.0.1-1) ...
931s Selecting previously unselected package python3-frozenlist.
931s Preparing to unpack .../32-python3-frozenlist_1.5.0-1build2_armhf.deb ...
931s Unpacking python3-frozenlist (1.5.0-1build2) ...
931s Selecting previously unselected package python3-aiosignal.
931s Preparing to unpack .../33-python3-aiosignal_1.3.2-1_all.deb ...
931s Unpacking python3-aiosignal (1.3.2-1) ...
931s Selecting previously unselected package python3-aiohttp.
932s Preparing to unpack .../34-python3-aiohttp_3.10.11-1build1_armhf.deb ...
932s Unpacking python3-aiohttp (3.10.11-1build1) ...
932s Selecting previously unselected package python3-avro.
932s Preparing to unpack .../35-python3-avro_1.12.0+dfsg-1_all.deb ...
932s Unpacking python3-avro (1.12.0+dfsg-1) ...
932s Selecting previously unselected package python3-isodate.
932s Preparing to unpack .../36-python3-isodate_0.7.0-1_all.deb ...
932s Unpacking python3-isodate (0.7.0-1) ...
932s Selecting previously unselected package python3-requests-oauthlib.
932s Preparing to unpack .../37-python3-requests-oauthlib_1.3.1-1_all.deb ...
932s Unpacking python3-requests-oauthlib (1.3.1-1) ...
932s Selecting previously unselected package python3-msrest.
932s Preparing to unpack .../38-python3-msrest_0.6.21-5_all.deb ...
932s Unpacking python3-msrest (0.6.21-5) ...
932s Selecting previously unselected package python3-msrestazure.
932s Preparing to unpack .../39-python3-msrestazure_0.6.4-4_all.deb ...
932s Unpacking python3-msrestazure (0.6.4-4) ...
932s Selecting previously unselected package python3-azure-storage.
932s Preparing to unpack .../40-python3-azure-storage_20250304+git-1_all.deb ...
932s Unpacking python3-azure-storage (20250304+git-1) ...
932s Selecting previously unselected package python3-colorama.
932s Preparing to unpack .../41-python3-colorama_0.4.6-4_all.deb ...
932s Unpacking python3-colorama (0.4.6-4) ...
932s Selecting previously unselected package python3-marshmallow.
932s Preparing to unpack .../42-python3-marshmallow_3.26.1-0.2_all.deb ...
932s Unpacking python3-marshmallow (3.26.1-0.2) ...
932s Selecting previously unselected package python3-msal.
932s Preparing to unpack .../43-python3-msal_1.32.0-1_all.deb ...
932s Unpacking python3-msal (1.32.0-1) ...
932s Selecting previously unselected package python3-cairo.
932s Preparing to unpack .../44-python3-cairo_1.27.0-2_armhf.deb ...
932s Unpacking python3-cairo (1.27.0-2) ...
932s Selecting previously unselected package python3-gi-cairo.
932s Preparing to unpack .../45-python3-gi-cairo_3.50.0-4build1_armhf.deb ...
932s Unpacking python3-gi-cairo (3.50.0-4build1) ...
932s Selecting previously unselected package python3-portalocker.
932s Preparing to unpack .../46-python3-portalocker_2.2.1-1_all.deb ...
932s Unpacking python3-portalocker (2.2.1-1) ...
932s Selecting previously unselected package python3-msal-extensions.
932s Preparing to unpack .../47-python3-msal-extensions_1.3.1-1_all.deb ...
932s Unpacking python3-msal-extensions (1.3.1-1) ...
932s Selecting previously unselected package python3-click.
932s Preparing to unpack .../48-python3-click_8.2.0+0.really.8.1.8-1_all.deb ...
932s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ...
932s Selecting previously unselected package python3-joblib.
932s Preparing to unpack .../49-python3-joblib_1.4.2-3_all.deb ...
932s Unpacking python3-joblib (1.4.2-3) ...
932s Selecting previously unselected package python3-regex.
932s Preparing to unpack .../50-python3-regex_0.1.20241106-1build1_armhf.deb ...
932s Unpacking python3-regex (0.1.20241106-1build1) ...
932s Selecting previously unselected package python3-tqdm.
932s Preparing to unpack .../51-python3-tqdm_4.67.1-3_all.deb ...
932s Unpacking python3-tqdm (4.67.1-3) ...
932s Selecting previously unselected package python3-nltk.
932s Preparing to unpack .../52-python3-nltk_3.9.1-2_all.deb ...
932s Unpacking python3-nltk (3.9.1-2) ...
932s Selecting previously unselected package python3-psutil.
932s Preparing to unpack .../53-python3-psutil_5.9.8-2build3_armhf.deb ...
932s Unpacking python3-psutil (5.9.8-2build3) ...
932s Selecting previously unselected package python3-pydash.
933s Preparing to unpack .../54-python3-pydash_8.0.3-3_all.deb ...
933s Unpacking python3-pydash (8.0.3-3) ...
933s Selecting previously unselected package python3-ruamel.yaml.clib.
933s Preparing to unpack .../55-python3-ruamel.yaml.clib_0.2.12+ds-1build1_armhf.deb ...
933s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ...
933s Selecting previously unselected package python3-ruamel.yaml.
933s Preparing to unpack .../56-python3-ruamel.yaml_0.18.10+ds-1_all.deb ...
933s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ...
933s Selecting previously unselected package python3-strictyaml.
933s Preparing to unpack .../57-python3-strictyaml_1.6.1-3_all.deb ...
933s Unpacking python3-strictyaml (1.6.1-3) ...
933s Selecting previously unselected package python3-websocket.
933s Preparing to unpack .../58-python3-websocket_1.8.0-2_all.deb ...
933s Unpacking python3-websocket (1.8.0-2) ...
933s Selecting previously unselected package python3-azure.
933s Preparing to unpack .../59-python3-azure_20250304+git-1_all.deb ...
933s Unpacking python3-azure (20250304+git-1) ...
937s Selecting previously unselected package python3-cachetools.
937s Preparing to unpack .../60-python3-cachetools_5.3.3-1_all.deb ...
937s Unpacking python3-cachetools (5.3.3-1) ...
937s Selecting previously unselected package python3-execnet.
937s Preparing to unpack .../61-python3-execnet_2.1.1-1_all.deb ...
937s Unpacking python3-execnet (2.1.1-1) ...
938s Selecting previously unselected package python3-mccabe.
938s Preparing to unpack .../62-python3-mccabe_0.7.0-1_all.deb ...
938s Unpacking python3-mccabe (0.7.0-1) ...
938s Selecting previously unselected package python3-pycodestyle.
938s Preparing to unpack .../63-python3-pycodestyle_2.12.1-2_all.deb ...
938s Unpacking python3-pycodestyle (2.12.1-2) ...
938s Selecting previously unselected package python3-pyflakes.
938s Preparing to unpack .../64-python3-pyflakes_3.2.0-3_all.deb ...
938s Unpacking python3-pyflakes (3.2.0-3) ...
938s Selecting previously unselected package python3-flake8.
938s Preparing to unpack .../65-python3-flake8_7.1.1-3_all.deb ...
938s Unpacking python3-flake8 (7.1.1-3) ...
938s Selecting previously unselected package python3-freezegun.
938s Preparing to unpack .../66-python3-freezegun_1.5.1-1.2_all.deb ...
938s Unpacking python3-freezegun (1.5.1-1.2) ...
938s Selecting previously unselected package python3-requests-toolbelt.
938s Preparing to unpack .../67-python3-requests-toolbelt_1.0.0-4_all.deb ...
938s Unpacking python3-requests-toolbelt (1.0.0-4) ...
938s Selecting previously unselected package python3-gitlab.
938s Preparing to unpack .../68-python3-gitlab_1%3a4.9.0-1_all.deb ...
938s Unpacking python3-gitlab (1:4.9.0-1) ...
938s Selecting previously unselected package python3-pyasn1.
938s Preparing to unpack .../69-python3-pyasn1_0.6.1-1_all.deb ...
938s Unpacking python3-pyasn1 (0.6.1-1) ...
938s Selecting previously unselected package python3-pyasn1-modules.
938s Preparing to unpack .../70-python3-pyasn1-modules_0.4.1-2_all.deb ...
938s Unpacking python3-pyasn1-modules (0.4.1-2) ...
938s Selecting previously unselected package python3-pyu2f.
938s Preparing to unpack .../71-python3-pyu2f_0.1.5-4_all.deb ...
938s Unpacking python3-pyu2f (0.1.5-4) ...
938s Selecting previously unselected package python3-responses.
938s Preparing to unpack .../72-python3-responses_0.25.6-1_all.deb ...
938s Unpacking python3-responses (0.25.6-1) ...
938s Selecting previously unselected package python3-rsa.
938s Preparing to unpack .../73-python3-rsa_4.9-2_all.deb ...
938s Unpacking python3-rsa (4.9-2) ...
938s Selecting previously unselected package python3-google-auth.
938s Preparing to unpack .../74-python3-google-auth_2.28.2-3_all.deb ...
938s Unpacking python3-google-auth (2.28.2-3) ...
938s Selecting previously unselected package python3-httmock.
938s Preparing to unpack .../75-python3-httmock_1.4.0-5_all.deb ...
938s Unpacking python3-httmock (1.4.0-5) ...
938s Selecting previously unselected package python3-pyhcl.
938s Preparing to unpack .../76-python3-pyhcl_0.4.4-6_all.deb ...
938s Unpacking python3-pyhcl (0.4.4-6) ...
938s Selecting previously unselected package python3-hvac.
938s Preparing to unpack .../77-python3-hvac_2.3.0-3_all.deb ...
938s Unpacking python3-hvac (2.3.0-3) ...
938s Selecting previously unselected package python3-iniconfig.
938s Preparing to unpack .../78-python3-iniconfig_1.1.1-2_all.deb ...
938s Unpacking python3-iniconfig (1.1.1-2) ...
938s Selecting previously unselected package python3-kubernetes.
938s Preparing to unpack .../79-python3-kubernetes_30.1.0-2_all.deb ...
938s Unpacking python3-kubernetes (30.1.0-2) ...
939s Selecting previously unselected package python3-lxml:armhf.
939s Preparing to unpack .../80-python3-lxml_5.3.2-1_armhf.deb ...
939s Unpacking python3-lxml:armhf (5.3.2-1) ...
939s Selecting previously unselected package python3-pathspec.
939s Preparing to unpack .../81-python3-pathspec_0.12.1-1_all.deb ...
939s Unpacking python3-pathspec (0.12.1-1) ...
939s Selecting previously unselected package python3-pluggy.
939s Preparing to unpack .../82-python3-pluggy_1.5.0-1_all.deb ...
939s Unpacking python3-pluggy (1.5.0-1) ...
939s Selecting previously unselected package python3-proxmoxer.
939s Preparing to unpack .../83-python3-proxmoxer_2.2.0-1_all.deb ...
939s Unpacking python3-proxmoxer (2.2.0-1) ...
939s Selecting previously unselected package python3-py.
939s Preparing to unpack .../84-python3-py_1.11.0-4_all.deb ...
939s Unpacking python3-py (1.11.0-4) ...
939s Selecting previously unselected package python3-pytest.
939s Preparing to unpack .../85-python3-pytest_8.3.5-1_all.deb ...
939s Unpacking python3-pytest (8.3.5-1) ...
939s Selecting previously unselected package python3-pytest-forked.
939s Preparing to unpack .../86-python3-pytest-forked_1.6.0-3_all.deb ...
939s Unpacking python3-pytest-forked (1.6.0-3) ...
939s Selecting previously unselected package python3-pytest-mock.
939s Preparing to unpack .../87-python3-pytest-mock_3.14.0-2_all.deb ...
939s Unpacking python3-pytest-mock (3.14.0-2) ...
939s Selecting previously unselected package python3-pytest-xdist.
939s Preparing to unpack .../88-python3-pytest-xdist_3.6.1-1_all.deb ...
939s Unpacking python3-pytest-xdist (3.6.1-1) ...
939s Selecting previously unselected package python3-pyvmomi.
939s Preparing to unpack .../89-python3-pyvmomi_8.0.3.0.1-1_all.deb ...
939s Unpacking python3-pyvmomi (8.0.3.0.1-1) ...
940s Selecting previously unselected package python3-redis.
940s Preparing to unpack .../90-python3-redis_5.2.1-1_all.deb ...
940s Unpacking python3-redis (5.2.1-1) ...
940s Selecting previously unselected package python3-textfsm.
940s Preparing to unpack .../91-python3-textfsm_1.1.3-3_all.deb ...
940s Unpacking python3-textfsm (1.1.3-3) ...
940s Selecting previously unselected package python3-xmltodict.
940s Preparing to unpack .../92-python3-xmltodict_0.13.0-1_all.deb ...
940s Unpacking python3-xmltodict (0.13.0-1) ...
940s Selecting previously unselected package yamllint.
940s Preparing to unpack .../93-yamllint_1.35.1-2_all.deb ...
940s Unpacking yamllint (1.35.1-2) ...
940s Selecting previously unselected package python3-mock.
940s Preparing to unpack .../94-python3-mock_5.1.0-1_all.deb ...
940s Unpacking python3-mock (5.1.0-1) ...
940s Setting up python3-iniconfig (1.1.1-2) ...
940s Setting up libpixman-1-0:armhf (0.44.0-3) ...
940s Setting up libsodium23:armhf (1.0.18-1build3) ...
940s Setting up python3-requests-toolbelt (1.0.0-4) ...
940s Setting up libxrender1:armhf (1:0.9.10-1.1build1) ...
940s Setting up python3-py (1.11.0-4) ...
940s Setting up python3-joblib (1.4.2-3) ...
941s Setting up python3-cachetools (5.3.3-1) ...
941s Setting up python3-colorama (0.4.6-4) ...
941s Setting up libxcb-render0:armhf (1.17.0-2) ...
941s Setting up python3-tqdm (4.67.1-3) ...
941s Setting up python3-pyflakes (3.2.0-3) ...
941s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ...
941s Setting up python3-resolvelib (1.1.0-1) ...
941s Setting up python3-marshmallow (3.26.1-0.2) ...
941s Setting up python3-msal (1.32.0-1) ...
942s Setting up libxcb-shm0:armhf (1.17.0-2) ...
942s Setting up python3-httmock (1.4.0-5) ...
942s Setting up python3-click (8.2.0+0.really.8.1.8-1) ...
942s Setting up python3-psutil (5.9.8-2build3) ...
942s Setting up python3-multidict (6.2.0-2) ...
942s Setting up python3-frozenlist (1.5.0-1build2) ...
942s Setting up python3-aiosignal (1.3.2-1) ...
943s Setting up python3-mock (5.1.0-1) ...
943s Setting up python3-async-timeout (5.0.1-1) ...
943s Setting up liberror-perl (0.17030-1) ...
943s Setting up python3-responses (0.25.6-1) ...
943s Setting up python3-pyvmomi (8.0.3.0.1-1) ...
943s Setting up python3-isodate (0.7.0-1) ...
944s Setting up python3-pycodestyle (2.12.1-2) ...
944s Setting up python3-xmltodict (0.13.0-1) ...
944s Setting up python3-pyu2f (0.1.5-4) ...
944s Setting up libfreetype6:armhf (2.13.3+dfsg-1) ...
944s Setting up python3-avro (1.12.0+dfsg-1) ...
944s Setting up fonts-dejavu-mono (2.37-8) ...
944s Setting up fonts-dejavu-core (2.37-8) ...
944s Setting up python3-redis (5.2.1-1) ...
945s Setting up python3-aiohappyeyeballs (2.6.1-1) ...
945s Setting up python3-regex (0.1.20241106-1build1) ...
945s Setting up python3-pluggy (1.5.0-1) ...
945s Setting up python3-ruamel.yaml (0.18.10+ds-1) ...
945s Setting up ieee-data (20240722) ...
945s Setting up python3-adal (1.2.7-5) ...
945s Setting up python3-dnspython (2.7.0-1ubuntu1) ...
946s Setting up python3-portalocker (2.2.1-1) ...
946s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu4) ...
946s Setting up python3-pyasn1 (0.6.1-1) ...
946s Setting up python3-proxmoxer (2.2.0-1) ...
946s Setting up git-man (1:2.48.1-0ubuntu1) ...
946s Setting up python3-textfsm (1.1.3-3) ...
946s Setting up python3-mccabe (0.7.0-1) ...
946s Setting up python3-execnet (2.1.1-1) ...
947s Setting up python3-pathspec (0.12.1-1) ...
947s Setting up python3-pydash (8.0.3-3) ...
947s Setting up python3-nltk (3.9.1-2) ...
948s Setting up python3-yarl (1.13.1-1build2) ...
948s Setting up python3-pyhcl (0.4.4-6) ...
948s Setting up python3-gitlab (1:4.9.0-1) ...
949s Setting up python3-websocket (1.8.0-2) ...
949s Setting up libsecret-common (0.21.7-1) ...
949s Setting up python3-freezegun (1.5.1-1.2) ...
949s Setting up python3-nacl (1.5.0-7) ...
949s Setting up python3-requests-oauthlib (1.3.1-1) ...
949s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ...
949s Setting up python3-pytest (8.3.5-1) ...
950s Setting up python3-aiohttp (3.10.11-1build1) ...
950s Setting up python3-flake8 (7.1.1-3) ...
950s Setting up python3-msrest (0.6.21-5) ...
950s Setting up python3-pytest-forked (1.6.0-3) ...
951s Setting up python3-strictyaml (1.6.1-3) ...
951s Setting up libsecret-1-0:armhf (0.21.7-1) ...
951s Setting up yamllint (1.35.1-2) ...
951s Setting up gir1.2-secret-1:armhf (0.21.7-1) ...
951s Setting up python3-pyasn1-modules (0.4.1-2) ...
951s Setting up python3-hvac (2.3.0-3) ...
951s Setting up git (1:2.48.1-0ubuntu1) ...
951s Setting up python3-netaddr (1.3.0-1) ...
952s Setting up python3-pytest-mock (3.14.0-2) ...
952s Setting up python3-lxml:armhf (5.3.2-1) ...
952s Setting up python3-rsa (4.9-2) ...
952s Setting up libfontconfig1:armhf (2.15.0-2.2ubuntu1) ...
952s Setting up python3-msrestazure (0.6.4-4) ...
952s Setting up python3-paramiko (3.5.1-2ubuntu1) ...
952s Setting up python3-pytest-xdist (3.6.1-1) ...
953s Setting up ansible-core (2.18.1-4ubuntu1) ...
954s Setting up libcairo2:armhf (1.18.4-1) ...
954s Setting up python3-google-auth (2.28.2-3) ...
954s Setting up libcairo-gobject2:armhf (1.18.4-1) ...
954s Setting up ansible (11.2.0+dfsg-1) ...
979s Setting up python3-cairo (1.27.0-2) ...
979s Setting up python3-kubernetes (30.1.0-2) ...
981s Setting up python3-gi-cairo (3.50.0-4build1) ...
981s Setting up python3-msal-extensions (1.3.1-1) ...
981s Setting up python3-azure-storage (20250304+git-1) ...
982s Setting up python3-azure (20250304+git-1) ...
996s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:80: SyntaxWarning: invalid escape sequence '\ '
996s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example,
996s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:405: SyntaxWarning: invalid escape sequence '\ '
996s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example,
998s /usr/lib/python3/dist-packages/azure/appconfiguration/_generated/models/_models.py:238: SyntaxWarning: invalid escape sequence '\ '
998s """An error, available when the status is ``Failed``\ , describing why the operation
999s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9067: SyntaxWarning: invalid escape sequence '\ '
999s """The source port ranges to match for the rule. Valid values are '\ *' (for all ports 0 - 65535),
999s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9235: SyntaxWarning: invalid escape sequence '\ '
999s using brackets (for example abc[\ *] would match a file named abc*\ ). Note that both and / are
1000s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2326: SyntaxWarning: invalid escape sequence '\ '
1000s payload to scoring rule. If not set, a job's labels (sent in the payload as ``job``\ ) and a
1000s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2346: SyntaxWarning: invalid escape sequence '\ '
1000s If not set, a job's labels (sent in the payload as ``job``\ ) and a job's worker selectors
1003s /usr/lib/python3/dist-packages/azure/mgmt/advisor/aio/operations/_recommendations_operations.py:190: SyntaxWarning: invalid escape sequence '\ '
1003s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category
1003s /usr/lib/python3/dist-packages/azure/mgmt/advisor/operations/_recommendations_operations.py:303: SyntaxWarning: invalid escape sequence '\ '
1003s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category
1004s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:3917: SyntaxWarning: invalid escape sequence '\ '
1004s Possible Values::code:`
`:code:`
` **Standard**\ :code:`
`:code:`
`
1004s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10212: SyntaxWarning: invalid escape sequence '\ '
1004s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1004s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10255: SyntaxWarning: invalid escape sequence '\ '
1004s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1004s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10284: SyntaxWarning: invalid escape sequence '\ '
1004s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1004s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10320: SyntaxWarning: invalid escape sequence '\ '
1004s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1004s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10342: SyntaxWarning: invalid escape sequence '\ '
1004s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1004s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10375: SyntaxWarning: invalid escape sequence '\ '
1004s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1004s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10396: SyntaxWarning: invalid escape sequence '\ '
1004s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1004s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10429: SyntaxWarning: invalid escape sequence '\ '
1004s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1004s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14746: SyntaxWarning: invalid escape sequence '\ '
1004s :ivar allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ ,
1004s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14771: SyntaxWarning: invalid escape sequence '\ '
1004s :keyword allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ ,
1008s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:1420: SyntaxWarning: invalid escape sequence '\ '
1008s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\
1008s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:2310: SyntaxWarning: invalid escape sequence '\ '
1008s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\
1008s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:1547: SyntaxWarning: invalid escape sequence '\ '
1008s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\
1008s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:2524: SyntaxWarning: invalid escape sequence '\ '
1008s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\
1013s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:624: SyntaxWarning: invalid escape sequence '\ '
1013s and Screenshot to diagnose VM status. **NOTE**\ : If storageUri is being
1013s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:3707: SyntaxWarning: invalid escape sequence '\W'
1013s characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_])
1017s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16843: SyntaxWarning: invalid escape sequence '\S'
1017s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required.
1017s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16916: SyntaxWarning: invalid escape sequence '\S'
1017s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required.
1019s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:63: SyntaxWarning: invalid escape sequence '\w'
1019s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1019s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:130: SyntaxWarning: invalid escape sequence '\w'
1019s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1019s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:224: SyntaxWarning: invalid escape sequence '\w'
1019s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1019s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:312: SyntaxWarning: invalid escape sequence '\w'
1019s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1019s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:398: SyntaxWarning: invalid escape sequence '\w'
1019s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1019s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:543: SyntaxWarning: invalid escape sequence '\w'
1019s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1019s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:612: SyntaxWarning: invalid escape sequence '\w'
1019s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1019s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:675: SyntaxWarning: invalid escape sequence '\w'
1019s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1019s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:738: SyntaxWarning: invalid escape sequence '\w'
1019s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1019s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:807: SyntaxWarning: invalid escape sequence '\w'
1019s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1023s /usr/lib/python3/dist-packages/azure/mgmt/hybridnetwork/models/_models_py3.py:6032: SyntaxWarning: invalid escape sequence '\ '
1023s :ivar provisioning_state: The provisioning state of the site resource. **TODO**\ : Confirm if
1025s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3866: SyntaxWarning: invalid escape sequence '\ '
1025s pattern set glob-style pattern (e.g., '\ *', 'clients/*\ '). Required."""
1025s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3868: SyntaxWarning: invalid escape sequence '\ '
1025s """Give access for ``Read``\ , ``Write`` and ``ReadWrite`` access level. Required. Known values
1028s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:169: SyntaxWarning: invalid escape sequence '\ '
1028s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\
1028s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:1032: SyntaxWarning: invalid escape sequence '\ '
1028s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2542: SyntaxWarning: invalid escape sequence '\R'
1036s """Execute Reverse Replication\Reprotect.
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2583: SyntaxWarning: invalid escape sequence '\R'
1036s """Execute Reverse Replication\Reprotect.
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2622: SyntaxWarning: invalid escape sequence '\R'
1036s """Execute Reverse Replication\Reprotect.
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5397: SyntaxWarning: invalid escape sequence '\L'
1036s :ivar lun_id: Ordinal\LunId of the disk for the Azure VM.
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5448: SyntaxWarning: invalid escape sequence '\L'
1036s :keyword lun_id: Ordinal\LunId of the disk for the Azure VM.
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8836: SyntaxWarning: invalid escape sequence '\S'
1036s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8978: SyntaxWarning: invalid escape sequence '\S'
1036s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9510: SyntaxWarning: invalid escape sequence '\S'
1036s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9675: SyntaxWarning: invalid escape sequence '\S'
1036s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11412: SyntaxWarning: invalid escape sequence '\S'
1036s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11541: SyntaxWarning: invalid escape sequence '\S'
1036s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12193: SyntaxWarning: invalid escape sequence '\S'
1036s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12516: SyntaxWarning: invalid escape sequence '\S'
1036s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26323: SyntaxWarning: invalid escape sequence '\S'
1036s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26382: SyntaxWarning: invalid escape sequence '\S'
1036s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3476: SyntaxWarning: invalid escape sequence '\R'
1036s """Execute Reverse Replication\Reprotect.
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3517: SyntaxWarning: invalid escape sequence '\R'
1036s """Execute Reverse Replication\Reprotect.
1036s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3556: SyntaxWarning: invalid escape sequence '\R'
1036s """Execute Reverse Replication\Reprotect.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_azure_reservation_api_operations.py:163: SyntaxWarning: invalid escape sequence '\ '
1037s """Get list of applicable ``Reservation``\ s.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:377: SyntaxWarning: invalid escape sequence '\ '
1037s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:407: SyntaxWarning: invalid escape sequence '\ '
1037s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:437: SyntaxWarning: invalid escape sequence '\ '
1037s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:583: SyntaxWarning: invalid escape sequence '\ '
1037s """Merges two ``Reservation``\ s.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:614: SyntaxWarning: invalid escape sequence '\ '
1037s """Merges two ``Reservation``\ s.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:645: SyntaxWarning: invalid escape sequence '\ '
1037s """Merges two ``Reservation``\ s.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:721: SyntaxWarning: invalid escape sequence '\ '
1037s """Get ``Reservation``\ s in a given reservation Order.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_order_operations.py:183: SyntaxWarning: invalid escape sequence '\ '
1037s """Get all ``ReservationOrder``\ s.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3172: SyntaxWarning: invalid escape sequence '\ '
1037s """List of ``Reservation``\ s.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3288: SyntaxWarning: invalid escape sequence '\ '
1037s """List of ``ReservationOrder``\ s.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_azure_reservation_api_operations.py:239: SyntaxWarning: invalid escape sequence '\ '
1037s """Get list of applicable ``Reservation``\ s.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:662: SyntaxWarning: invalid escape sequence '\ '
1037s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:692: SyntaxWarning: invalid escape sequence '\ '
1037s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:722: SyntaxWarning: invalid escape sequence '\ '
1037s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:868: SyntaxWarning: invalid escape sequence '\ '
1037s """Merges two ``Reservation``\ s.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:899: SyntaxWarning: invalid escape sequence '\ '
1037s """Merges two ``Reservation``\ s.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:930: SyntaxWarning: invalid escape sequence '\ '
1037s """Merges two ``Reservation``\ s.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:1006: SyntaxWarning: invalid escape sequence '\ '
1037s """Get ``Reservation``\ s in a given reservation Order.
1037s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_order_operations.py:299: SyntaxWarning: invalid escape sequence '\ '
1037s """Get all ``ReservationOrder``\ s.
1041s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:68: SyntaxWarning: invalid escape sequence '\ '
1041s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end``
1041s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:90: SyntaxWarning: invalid escape sequence '\ '
1041s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after
1041s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1141: SyntaxWarning: invalid escape sequence '\ '
1041s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end``
1041s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1163: SyntaxWarning: invalid escape sequence '\ '
1041s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after
1044s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2858: SyntaxWarning: invalid escape sequence '\ '
1044s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client
1044s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2925: SyntaxWarning: invalid escape sequence '\ '
1044s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client
1047s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_functions_operations.py:595: SyntaxWarning: invalid escape sequence '\ '
1047s properties to include in the response, or "\ *" to include all properties. By default, all
1047s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_inputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ '
1047s properties to include in the response, or "\ *" to include all properties. By default, all
1047s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_outputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ '
1047s properties to include in the response, or "\ *" to include all properties. By default, all
1047s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/models/_stream_analytics_management_client_enums.py:14: SyntaxWarning: invalid escape sequence '\ '
1047s """Authentication Mode. Valid modes are ``ConnectionString``\ , ``Msi`` and 'UserToken'."""
1047s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_functions_operations.py:859: SyntaxWarning: invalid escape sequence '\ '
1047s properties to include in the response, or "\ *" to include all properties. By default, all
1047s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_inputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ '
1047s properties to include in the response, or "\ *" to include all properties. By default, all
1047s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_outputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ '
1047s properties to include in the response, or "\ *" to include all properties. By default, all
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_no_subscription_operations.py:193: SyntaxWarning: invalid escape sequence '\ '
1047s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_operations.py:194: SyntaxWarning: invalid escape sequence '\ '
1047s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:177: SyntaxWarning: invalid escape sequence '\ '
1047s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:540: SyntaxWarning: invalid escape sequence '\ '
1047s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:582: SyntaxWarning: invalid escape sequence '\ '
1047s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:622: SyntaxWarning: invalid escape sequence '\ '
1047s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_no_subscription_operations.py:308: SyntaxWarning: invalid escape sequence '\ '
1047s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_operations.py:326: SyntaxWarning: invalid escape sequence '\ '
1047s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:319: SyntaxWarning: invalid escape sequence '\ '
1047s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:681: SyntaxWarning: invalid escape sequence '\ '
1047s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:723: SyntaxWarning: invalid escape sequence '\ '
1047s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1047s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:763: SyntaxWarning: invalid escape sequence '\ '
1047s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1048s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6232: SyntaxWarning: invalid escape sequence '\ '
1048s :ivar maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60},
1048s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6288: SyntaxWarning: invalid escape sequence '\ '
1048s :keyword maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60},
1053s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2909: SyntaxWarning: invalid escape sequence '\W'
1053s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
1053s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2954: SyntaxWarning: invalid escape sequence '\W'
1053s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
1054s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:1980: SyntaxWarning: invalid escape sequence '\W'
1054s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
1054s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:2025: SyntaxWarning: invalid escape sequence '\W'
1054s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
1054s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:2732: SyntaxWarning: invalid escape sequence '\:'
1054s attr:\:code:``=:code:``.
1054s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:3537: SyntaxWarning: invalid escape sequence '\:'
1054s attr:\:code:``=\:code:``.
1054s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:4216: SyntaxWarning: invalid escape sequence '\:'
1054s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:``
1054s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:6219: SyntaxWarning: invalid escape sequence '\:'
1054s attr:\:code:``=:code:``.
1054s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7024: SyntaxWarning: invalid escape sequence '\:'
1054s attr:\:code:``=\:code:``.
1054s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7703: SyntaxWarning: invalid escape sequence '\:'
1054s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:``
1055s /usr/lib/python3/dist-packages/azure/servicemanagement/schedulermanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m'
1055s CURRENT_USER\my\CertificateName format.
1055s /usr/lib/python3/dist-packages/azure/servicemanagement/servicebusmanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m'
1055s CURRENT_USER\my\CertificateName format.
1055s /usr/lib/python3/dist-packages/azure/servicemanagement/servicemanagementservice.py:81: SyntaxWarning: invalid escape sequence '\m'
1055s CURRENT_USER\my\CertificateName format.
1055s /usr/lib/python3/dist-packages/azure/servicemanagement/sqldatabasemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m'
1055s CURRENT_USER\my\CertificateName format.
1055s /usr/lib/python3/dist-packages/azure/servicemanagement/websitemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m'
1055s CURRENT_USER\my\CertificateName format.
1056s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:110: SyntaxWarning: invalid escape sequence '\d'
1056s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1056s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:1328: SyntaxWarning: invalid escape sequence '\d'
1056s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..).
1056s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4218: SyntaxWarning: invalid escape sequence '\d'
1056s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1056s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4280: SyntaxWarning: invalid escape sequence '\d'
1056s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1056s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:18198: SyntaxWarning: invalid escape sequence '\d'
1056s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1056s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19096: SyntaxWarning: invalid escape sequence '\d'
1056s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with
1056s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19185: SyntaxWarning: invalid escape sequence '\d'
1056s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1056s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19749: SyntaxWarning: invalid escape sequence '\d'
1056s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1056s Processing triggers for libc-bin (2.41-6ubuntu1) ...
1056s Processing triggers for man-db (2.13.0-1) ...
1233s autopkgtest [05:04:06]: test unit-tests-flaky.py: [-----------------------
1235s
1235s
1235s
1235s ############################################################
1235s ############################################################
1235s #### Running FLAKY tests in ansible_collections/ansible/utils
1235s ############################################################
1235s ############################################################
1236s Unit test controller with Python 3.13
1238s ============================= test session starts ==============================
1238s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
1238s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ansible/utils
1238s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
1238s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
1238s created: 8/8 workers
1238s 8 workers [383 items]
1238s
1238s ........................................................................ [ 18%]
1238s ........................................................................ [ 37%]
1239s .......................F................................................ [ 56%]
1239s ...............F...F.......F............................................ [ 75%]
1239s ........................................................................ [ 93%]
1254s ....................... [100%]
1254s =================================== FAILURES ===================================
1254s ___________________ TestIpFilter.test_ipaddr_undefined_value ___________________
1254s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1254s
1254s self =
1254s
1254s def test_ipaddr_undefined_value(self):
1254s """Check ipaddr filter undefined value"""
1254s args = ["", AnsibleUndefined(name="my_ip"), ""]
1254s with pytest.raises(
1254s AnsibleFilterError,
1254s match="Unrecognized type <> for ipaddr filter ",
1254s ):
1254s > _ipaddr(*args)
1254s
1254s tests/unit/plugins/filter/test_ipaddr.py:75:
1254s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1254s
1254s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '')
1254s kwargs = {}, keys = ['value', 'query', 'version', 'alias']
1254s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')}
1254s
1254s @pass_environment
1254s def _ipaddr(*args, **kwargs):
1254s """This filter is designed to return the input value if a query is True, and False if a query is False"""
1254s keys = ["value", "query", "version", "alias"]
1254s data = dict(zip(keys, args[1:]))
1254s data.update(kwargs)
1254s try:
1254s if isinstance(data["value"], str):
1254s pass
1254s elif isinstance(data["value"], list):
1254s pass
1254s elif isinstance(data["value"], int):
1254s pass
1254s else:
1254s > raise AnsibleFilterError(
1254s "Unrecognized type <{0}> for ipaddr filter <{1}>".format(
1254s type(data["value"]),
1254s "value",
1254s ),
1254s )
1254s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipaddr filter
1254s
1254s plugins/filter/ipaddr.py:268: AnsibleFilterError
1254s
1254s During handling of the above exception, another exception occurred:
1254s
1254s self =
1254s
1254s def test_ipaddr_undefined_value(self):
1254s """Check ipaddr filter undefined value"""
1254s args = ["", AnsibleUndefined(name="my_ip"), ""]
1254s > with pytest.raises(
1254s AnsibleFilterError,
1254s match="Unrecognized type <> for ipaddr filter ",
1254s ):
1254s E AssertionError: Regex pattern did not match.
1254s E Regex: "Unrecognized type <> for ipaddr filter "
1254s E Input: "Unrecognized type <> for ipaddr filter "
1254s
1254s tests/unit/plugins/filter/test_ipaddr.py:71: AssertionError
1254s ______________________ TestIp6.test_ipv6_undefined_value _______________________
1254s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1254s
1254s self =
1254s
1254s def test_ipv6_undefined_value(self):
1254s """Check ipv6 filter undefined value"""
1254s args = ["", AnsibleUndefined(name="my_ip"), ""]
1254s with pytest.raises(
1254s AnsibleFilterError,
1254s match="Unrecognized type <> for ipv6 filter ",
1254s ):
1254s > _ipv6(*args)
1254s
1254s tests/unit/plugins/filter/test_ipv6.py:58:
1254s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1254s
1254s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '')
1254s kwargs = {}, keys = ['value', 'query']
1254s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')}
1254s
1254s @pass_environment
1254s def _ipv6(*args, **kwargs):
1254s """This filter is designed to return the input value if a query is True, and False if a query is False"""
1254s keys = ["value", "query"]
1254s data = dict(zip(keys, args[1:]))
1254s data.update(kwargs)
1254s try:
1254s if isinstance(data["value"], str):
1254s pass
1254s elif isinstance(data["value"], list):
1254s pass
1254s elif isinstance(data["value"], int):
1254s pass
1254s else:
1254s > raise AnsibleFilterError(
1254s "Unrecognized type <{0}> for ipv6 filter <{1}>".format(
1254s type(data["value"]),
1254s "value",
1254s ),
1254s )
1254s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipv6 filter
1254s
1254s plugins/filter/ipv6.py:161: AnsibleFilterError
1254s
1254s During handling of the above exception, another exception occurred:
1254s
1254s self =
1254s
1254s def test_ipv6_undefined_value(self):
1254s """Check ipv6 filter undefined value"""
1254s args = ["", AnsibleUndefined(name="my_ip"), ""]
1254s > with pytest.raises(
1254s AnsibleFilterError,
1254s match="Unrecognized type <> for ipv6 filter ",
1254s ):
1254s E AssertionError: Regex pattern did not match.
1254s E Regex: "Unrecognized type <> for ipv6 filter "
1254s E Input: "Unrecognized type <> for ipv6 filter "
1254s
1254s tests/unit/plugins/filter/test_ipv6.py:54: AssertionError
1254s ____________________ TestIpWrap.test_ipwrap_undefined_value ____________________
1254s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1254s
1254s self =
1254s
1254s def test_ipwrap_undefined_value(self):
1254s """Check ipwrap filter undefined value"""
1254s args = ["", AnsibleUndefined(name="my_ip"), ""]
1254s with pytest.raises(
1254s AnsibleFilterError,
1254s match="Unrecognized type <> for ipwrap filter ",
1254s ):
1254s > _ipwrap(*args)
1254s
1254s tests/unit/plugins/filter/test_ipwrap.py:60:
1254s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1254s
1254s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '')
1254s kwargs = {}, keys = ['value']
1254s data = {'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')}
1254s
1254s @pass_environment
1254s def _ipwrap(*args, **kwargs):
1254s """This filter is designed to Wrap IPv6 addresses in [ ] brackets."""
1254s keys = ["value"]
1254s data = dict(zip(keys, args[1:]))
1254s data.update(kwargs)
1254s try:
1254s if isinstance(data["value"], str):
1254s pass
1254s elif isinstance(data["value"], list):
1254s pass
1254s elif isinstance(data["value"], bool):
1254s pass
1254s else:
1254s > raise AnsibleFilterError(
1254s "Unrecognized type <{0}> for ipwrap filter <{1}>".format(
1254s type(data["value"]),
1254s "value",
1254s ),
1254s )
1254s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipwrap filter
1254s
1254s plugins/filter/ipwrap.py:162: AnsibleFilterError
1254s
1254s During handling of the above exception, another exception occurred:
1254s
1254s self =
1254s
1254s def test_ipwrap_undefined_value(self):
1254s """Check ipwrap filter undefined value"""
1254s args = ["", AnsibleUndefined(name="my_ip"), ""]
1254s > with pytest.raises(
1254s AnsibleFilterError,
1254s match="Unrecognized type <> for ipwrap filter ",
1254s ):
1254s E AssertionError: Regex pattern did not match.
1254s E Regex: "Unrecognized type <> for ipwrap filter "
1254s E Input: "Unrecognized type <> for ipwrap filter "
1254s
1254s tests/unit/plugins/filter/test_ipwrap.py:56: AssertionError
1254s ______________________ TestIp4.test_ipv4_undefined_value _______________________
1254s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1254s
1254s self =
1254s
1254s def test_ipv4_undefined_value(self):
1254s """Check ipv4 filter undefined value"""
1254s args = ["", AnsibleUndefined(name="my_ip"), ""]
1254s with pytest.raises(
1254s AnsibleFilterError,
1254s match="Unrecognized type <> for ipv4 filter ",
1254s ):
1254s > _ipv4(*args)
1254s
1254s tests/unit/plugins/filter/test_ipv4.py:55:
1254s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1254s
1254s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '')
1254s kwargs = {}, keys = ['value', 'query']
1254s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')}
1254s
1254s @pass_environment
1254s def _ipv4(*args, **kwargs):
1254s """This filter is designed to return the input value if a query is True, and False if a query is False"""
1254s keys = ["value", "query"]
1254s data = dict(zip(keys, args[1:]))
1254s data.update(kwargs)
1254s try:
1254s if isinstance(data["value"], str):
1254s pass
1254s elif isinstance(data["value"], list):
1254s pass
1254s elif isinstance(data["value"], int):
1254s pass
1254s else:
1254s > raise AnsibleFilterError(
1254s "Unrecognized type <{0}> for ipv4 filter <{1}>".format(
1254s type(data["value"]),
1254s "value",
1254s ),
1254s )
1254s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipv4 filter
1254s
1254s plugins/filter/ipv4.py:143: AnsibleFilterError
1254s
1254s During handling of the above exception, another exception occurred:
1254s
1254s self =
1254s
1254s def test_ipv4_undefined_value(self):
1254s """Check ipv4 filter undefined value"""
1254s args = ["", AnsibleUndefined(name="my_ip"), ""]
1254s > with pytest.raises(
1254s AnsibleFilterError,
1254s match="Unrecognized type <> for ipv4 filter ",
1254s ):
1254s E AssertionError: Regex pattern did not match.
1254s E Regex: "Unrecognized type <> for ipv4 filter "
1254s E Input: "Unrecognized type <> for ipv4 filter "
1254s
1254s tests/unit/plugins/filter/test_ipv4.py:51: AssertionError
1254s =============================== warnings summary ===============================
1254s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_format_with_invalid_data
1254s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_disabled_format_with_invalid_data
1254s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_format
1254s /tmp/autopkgtest.xgVBhN/build.Qr2/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.
1254s validator_class = jsonschema.validators.validator_for(criteria)
1254s
1254s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
1254s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ansible/utils/tests/output/junit/python3.13-controller-units.xml -
1254s =========================== short test summary info ============================
1254s SKIPPED [1] tests/unit/plugins/sub_plugins/cli_parsers/test_ttp_parser.py:18: could not import 'ttp': No module named 'ttp'
1254s FAILED tests/unit/plugins/filter/test_ipaddr.py::TestIpFilter::test_ipaddr_undefined_value
1254s FAILED tests/unit/plugins/filter/test_ipv6.py::TestIp6::test_ipv6_undefined_value
1254s FAILED tests/unit/plugins/filter/test_ipwrap.py::TestIpWrap::test_ipwrap_undefined_value
1254s FAILED tests/unit/plugins/filter/test_ipv4.py::TestIp4::test_ipv4_undefined_value
1254s ============ 4 failed, 379 passed, 1 skipped, 3 warnings in 17.95s =============
1254s 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.xgVBhN/build.Qr2/src/ansible_collections/ansible/utils/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/ansible/utils --confcutdir /tmp/autopkgtest.xgVBhN/build.Qr2/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.
1254s ## return code is 1
1254s
1254s
1254s
1254s ############################################################
1254s ############################################################
1254s #### Running FLAKY tests in ansible_collections/cisco/aci
1254s ############################################################
1254s ############################################################
1254s Unit test controller with Python 3.13
1256s ============================= test session starts ==============================
1256s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
1256s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/aci
1256s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
1256s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
1256s created: 8/8 workers
1256s 8 workers [5 items]
1256s
1256s ...FF [100%]
1256s =================================== FAILURES ===================================
1256s __________________________ AciRest.test_invalid_input __________________________
1256s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1256s
1256s self =
1256s
1256s def test_invalid_input(self):
1256s self.maxDiff = None
1256s
1256s error = dict(
1256s code="401",
1256s text=("Username or password is incorrect - " "FAILED local authentication"),
1256s )
1256s
1256s imdata = [
1256s {
1256s "error": {
1256s "attributes": {
1256s "code": "401",
1256s "text": ("Username or password is incorrect - " "FAILED local authentication"),
1256s },
1256s },
1256s }
1256s ]
1256s
1256s totalCount = 1
1256s
1256s json_response = '{"totalCount":"1","imdata":[{"error":{"attributes":{"code":"401","text":"Username or password is incorrect - FAILED local authentication"}}}]}' # NOQA
1256s aci.response_json(json_response)
1256s self.assertEqual(aci.error, error)
1256s self.assertEqual(aci.imdata, imdata)
1256s self.assertEqual(aci.totalCount, totalCount)
1256s
1256s # Python 2.7+ is needed for xmljson
1256s if sys.version_info < (2, 7):
1256s return
1256s
1256s xml_response = """
1256s
1256s
1256s """
1256s aci.response_xml(xml_response)
1256s > self.assertEqual(aci.error, error)
1256s 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'}
1256s E - {'code': -1,
1256s E ? ^
1256s E
1256s E + {'code': '401',
1256s E ? ^^^ +
1256s E
1256s E + 'text': 'Username or password is incorrect - FAILED local authentication'}
1256s E - 'text': "Unable to parse output as XML, see 'raw' output. name 'cobra' is not "
1256s E - 'defined'}
1256s
1256s tests/unit/module_utils/test_aci.py:237: AssertionError
1256s ________________________ AciRest.test_invalid_aci_login ________________________
1256s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1256s
1256s self =
1256s
1256s def test_invalid_aci_login(self):
1256s self.maxDiff = None
1256s
1256s error = dict(
1256s code="401",
1256s text=("Username or password is incorrect - " "FAILED local authentication"),
1256s )
1256s
1256s imdata = [
1256s {
1256s "error": {
1256s "attributes": {
1256s "code": "401",
1256s "text": ("Username or password is incorrect - " "FAILED local authentication"),
1256s },
1256s },
1256s }
1256s ]
1256s
1256s totalCount = 1
1256s
1256s json_response = '{"totalCount":"1","imdata":[{"error":{"attributes":{"code":"401","text":"Username or password is incorrect - FAILED local authentication"}}}]}' # NOQA
1256s aci.response_json(json_response)
1256s self.assertEqual(aci.error, error)
1256s self.assertEqual(aci.imdata, imdata)
1256s self.assertEqual(aci.totalCount, totalCount)
1256s
1256s # Python 2.7+ is needed for xmljson
1256s if sys.version_info < (2, 7):
1256s return
1256s
1256s xml_response = """
1256s
1256s
1256s
1256s """
1256s aci.response_xml(xml_response)
1256s > self.assertEqual(aci.error, error)
1256s 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'}
1256s E - {'code': -1,
1256s E ? ^
1256s E
1256s E + {'code': '401',
1256s E ? ^^^ +
1256s E
1256s E + 'text': 'Username or password is incorrect - FAILED local authentication'}
1256s E - 'text': "Unable to parse output as XML, see 'raw' output. name 'cobra' is not "
1256s E - 'defined'}
1256s
1256s tests/unit/module_utils/test_aci.py:89: AssertionError
1256s - generated xml file: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/aci/tests/output/junit/python3.13-controller-units.xml -
1256s =========================== short test summary info ============================
1256s FAILED tests/unit/module_utils/test_aci.py::AciRest::test_invalid_input - Ass...
1256s FAILED tests/unit/module_utils/test_aci.py::AciRest::test_invalid_aci_login
1256s ========================= 2 failed, 3 passed in 1.20s ==========================
1256s 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.xgVBhN/build.Qr2/src/ansible_collections/cisco/aci/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/aci --confcutdir /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/aci tests/unit/module_utils/test_aci.py" returned exit status 1.
1256s ## return code is 1
1256s
1256s
1256s
1256s ############################################################
1256s ############################################################
1256s #### Running FLAKY tests in ansible_collections/cisco/dnac
1256s ############################################################
1256s ############################################################
1257s Unit test controller with Python 3.13
1259s ============================= test session starts ==============================
1259s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
1259s rootdir: /tmp/autopkgtest.xgVBhN/build.Qr2/src/ansible_collections/cisco/dnac
1259s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
1259s plugins: typeguard-4.4.2, forked-1.6.0, mock-3.14.0, xdist-3.6.1
1259s created: 8/8 workers
1259s 8 workers [167 items]
1259s
1261s ...FFFFF.FFF.FFFFFFFF.FFFFFFFFFF.FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.F.F. [ 43%]
1264s FFF.FFFF.F.F..F.FFFF.F..FFFFFFFFF.FF..FFFF..FFFF.F.F.F....FFF.FFFFFFFFFF [ 86%]
1264s FFF.FFFFFFFFFFFFFFFFFFF [100%]
1264s ==================================== ERRORS ====================================
1264s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given
1264s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given
1264s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given
1264s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given
1264s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given
1264s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given
1264s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given
1264s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given
1264s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given
1264s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given
1264s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given
1264s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given
1264s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given
1264s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given
1264s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given
1264s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given
1264s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1264s result: TResult | None = func()
1264s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1264s return list(collector.collect())
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1264s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1264s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1264s return self.obj("runTest")
1264s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given
1264s =================================== FAILURES ===================================
1264s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_already_sync_cred _
1264s [gw2] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_device_credentials_workflow_manager_already_sync_cred(self):
1264s """
1264s Test case for device credential workflow manager when applying a device credential to site devices where sync is already applied.
1264s
1264s This test case checks the behavior of the device credential workflow manager when applying a device credential to site devices
1264s
1264s where sync is already applied in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_version="2.3.7.6",
1264s dnac_log=True,
1264s state="merged",
1264s config=self.playbook_config_apply
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=False)
1264s print(result)
1264s self.assertEqual(
1264s > result['response'][0]['applyCredential']['Applied Credentials']['msg'],
1264s "Provided credentials category is/are already synced."
1264s )
1264s E KeyError: 'applyCredential'
1264s
1264s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:314: KeyError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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': []}
1264s ------------------------------ Captured log call -------------------------------
1264s 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'}
1264s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_null_sync_status _
1264s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_device_credentials_workflow_manager_null_sync_status(self):
1264s """
1264s Test case for device credential workflow manager when exception occured during sync credential.
1264s
1264s This test case checks the behavior of the device credential workflow manager, when exception occured during sync credential in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_version="2.3.7.6",
1264s dnac_log=True,
1264s state="merged",
1264s config=self.playbook_config_apply
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result['msg'],
1264s "Exception occurred while getting global device credentials sync status: "
1264s )
1264s E AssertionError: 'An exception occurred while retrieving Si[515 chars]rue}' != 'Exception occurred while getting global d[27 chars]us: '
1264s 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}
1264s E + Exception occurred while getting global device credentials sync status:
1264s
1264s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:411: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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}
1264s ------------------------------ Captured log call -------------------------------
1264s 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: .
1264s
1264s 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}
1264s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_update_mgmt_ip _
1264s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_inventory_workflow_manager_playbook_update_mgmt_ip(self):
1264s """
1264s Test case for add device with full crendentials.
1264s
1264s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.7.6",
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_update_mgmt_ip
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_inventory_workflow_manager.py:503:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/inventory_workflow_manager.py:4197: in main
1264s ccc_device.get_diff_state_apply[state](config).check_return_status()
1264s plugins/modules/inventory_workflow_manager.py:3391: in get_diff_merged
1264s csv_reader = self.decrypt_and_read_csv(export_response, password)
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def decrypt_and_read_csv(self, response, password):
1264s """
1264s Parameters:
1264s self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1264s response (requests.Response): HTTP response object containing the encrypted CSV file.
1264s password (str): Password used for decrypting the CSV file.
1264s Returns:
1264s csv.DictReader: A CSV reader object for the decrypted content, allowing iteration over rows as dictionaries.
1264s Description:
1264s Decrypts and reads a CSV-like file from the given HTTP response using the provided password.
1264s """
1264s
1264s > zip_data = BytesIO(response.data)
1264s E AttributeError: 'NoneType' object has no attribute 'data'
1264s
1264s plugins/modules/inventory_workflow_manager.py:1132: AttributeError
1264s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_deletion _
1264s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_device_credentials_workflow_manager_deletion(self):
1264s """
1264s Test case for device credential workflow manager when deleting a device credential.
1264s
1264s This test case checks the behavior of the device credential workflow manager when deleting a device credentials in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="deleted",
1264s config_verify=True,
1264s config=self.playbook_config_deletion
1264s )
1264s )
1264s result = self.execute_module(changed=True, failed=False)
1264s print(result)
1264s self.assertEqual(
1264s > result['response'][0]['globalCredential']['Deletion']['msg'],
1264s "Global Device Credentials Deleted Successfully"
1264s )
1264s E KeyError: 'globalCredential'
1264s
1264s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:240: KeyError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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': []}
1264s __ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_add_udf __
1264s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_inventory_workflow_manager_playbook_add_udf(self):
1264s """
1264s Test case for add device with full crendentials.
1264s
1264s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_add_udf
1264s )
1264s )
1264s result = self.execute_module(changed=True, failed=False)
1264s print(result)
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center."
1264s )
1264s 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."
1264s E - Global User Defined Field(UDF) named 'Test123' has been successfully added to the device.
1264s E + device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center.
1264s
1264s tests/unit/modules/dnac/test_inventory_workflow_manager.py:306: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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."}
1264s ------------------------------ Captured log call -------------------------------
1264s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config
1264s
1264s 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']}
1264s
1264s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3570: udf_field_list
1264s
1264s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3571: [{'name': 'Test123'}]
1264s
1264s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3584: False
1264s
1264s WARNING logger:dnac.py:294 Inventory: verify_diff_merged: 3882: verify starts here verify diff merged
1264s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_some_error_data_update_accesspoint _
1264s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_accesspoint_workflow_manager_some_error_data_update_accesspoint(self):
1264s """
1264s Test case for access point workfollow manager negative case.
1264s
1264s This test case checks the behavior of the access point workflow when wrong data passed in the specified Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s config_verify=True,
1264s dnac_version="2.3.7.6",
1264s config=self.playbook_config_update_some_error_data
1264s )
1264s )
1264s result = self.execute_module(changed=True, failed=True)
1264s self.maxDiff = None
1264s > self.assertEqual(
1264s result.get('msg'),
1264s 'The provided site name \'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO\' ' +
1264s 'is either invalid or not present in the Cisco Catalyst Center.'
1264s )
1264s E AssertionError: "An error occurred while executing GET API[211 chars]n: ." != "The provided site name 'Global/USA/New Yo[175 chars]ter."
1264s 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: .
1264s 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.
1264s
1264s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:195: AssertionError
1264s ------------------------------ Captured log call -------------------------------
1264s 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: .
1264s
1264s 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}
1264s
1264s 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.
1264s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site _
1264s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_device_credentials_workflow_manager_invalid_site(self):
1264s """
1264s Test case for device credential workflow manager when provided site is invalid.
1264s
1264s This test case checks the behavior of the device credential workflow manager, when provided site is invalid in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_version="2.3.7.6",
1264s dnac_log=True,
1264s state="merged",
1264s config=self.playbook_config_assign
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result['msg'],
1264s "The site_name 'Global/Vietnam/halong/Hanoi' is invalid in 'assign_credentials_to_site'"
1264s )
1264s E AssertionError: 'An exception occurred while retrieving S[516 chars]rue}' != "The site_name 'Global/Vietnam/halong/Han[42 chars]ite'"
1264s 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}
1264s E + The site_name 'Global/Vietnam/halong/Hanoi' is invalid in 'assign_credentials_to_site'
1264s
1264s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:435: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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}
1264s ------------------------------ Captured log call -------------------------------
1264s 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: .
1264s
1264s 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}
1264s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_prov_device_2353 _
1264s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_inventory_workflow_manager_playbook_prov_device_2353(self):
1264s """
1264s Test case for add device with full crendentials.
1264s
1264s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.5.3",
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_prov_device_2353
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_inventory_workflow_manager.py:578:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/inventory_workflow_manager.py:4197: in main
1264s ccc_device.get_diff_state_apply[state](config).check_return_status()
1264s plugins/modules/inventory_workflow_manager.py:3613: in get_diff_merged
1264s self.provisioned_wired_device().check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ------------------------------ Captured log call -------------------------------
1264s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config
1264s
1264s 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'}]}
1264s
1264s ERROR logger:dnac.py:294 Inventory: provisioned_wired_device: 1720: Cannot do Provisioning for device 204.1.2.4.
1264s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_del_provisioned_device_2353 _
1264s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_inventory_workflow_manager_playbook_del_provisioned_device_2353(self):
1264s """
1264s Test case for add device with full crendentials.
1264s
1264s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.5.3",
1264s state="deleted",
1264s config_verify=True,
1264s config=self.playbook_del_provisioned_device_2353
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_inventory_workflow_manager.py:553:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/inventory_workflow_manager.py:4197: in main
1264s ccc_device.get_diff_state_apply[state](config).check_return_status()
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def get_diff_deleted(self, config):
1264s """
1264s Main function to delete devices in Cisco Catalyst Center based on device IP address.
1264s Parameters:
1264s config (dict): The configuration settings for the deletion process.
1264s Returns:
1264s self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1264s Description:
1264s This method compares the provided configuration against the current
1264s devices in the Cisco Catalyst Center and deletes devices based on
1264s their IP addresses. It returns a success status indicating whether
1264s the deletion process was completed successfully.
1264s """
1264s
1264s device_to_delete = self.get_device_ips_from_config_priority()
1264s self.result['msg'] = []
1264s
1264s # Handle Global User Defined Fields (UDF) Deletion
1264s if self.config[0].get('add_user_defined_field'):
1264s return self.delete_user_defined_fields()
1264s
1264s # Loop over devices to delete them
1264s for device_ip in device_to_delete:
1264s if device_ip not in self.have.get("device_in_ccc"):
1264s self.status = "success"
1264s self.result['changed'] = False
1264s self.msg = "Device '{0}' is not present in Cisco Catalyst Center so can't perform delete operation".format(device_ip)
1264s self.no_device_to_delete.append(device_ip)
1264s self.result['msg'].append(self.msg)
1264s self.result['response'] = self.msg
1264s self.log(self.msg, "INFO")
1264s continue
1264s device_ids = self.get_device_ids([device_ip])
1264s > device_id = device_ids[0]
1264s E IndexError: list index out of range
1264s
1264s plugins/modules/inventory_workflow_manager.py:3665: IndexError
1264s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site_response _
1264s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_device_credentials_workflow_manager_invalid_site_response(self):
1264s """
1264s Test case for device credential workflow manager when provided site response is invalid.
1264s
1264s This test case checks the behavior of the device credential workflow manager when provided site response is invalid in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s config=self.playbook_config_apply
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result['msg'],
1264s "Exception occurred while getting global device credentials: "
1264s )
1264s E AssertionError: "An exception occurred while retrieving S[137 chars]able" != 'Exception occurred while getting global [16 chars]ls: '
1264s 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
1264s E + Exception occurred while getting global device credentials:
1264s
1264s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:481: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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}
1264s ------------------------------ Captured log call -------------------------------
1264s 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
1264s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_negative_config_input _
1264s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_accesspoint_workflow_manager_negative_config_input(self):
1264s """
1264s Test case for access point workfollow manager and negative test verify ap update
1264s
1264s This test case checks the behavior of the update access point data in the specified Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s config_verify=True,
1264s dnac_version="2.3.7.6",
1264s config=self.playbook_config_update_some_missing_data
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s self.maxDiff = None
1264s > self.assertEqual(
1264s result.get('msg'),
1264s 'Invalid parameters in playbook config: \'[["Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1264s 'for the radio type xor_radio allowed series 280", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1264s 'for the radio type xor_radio allowed series 380", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1264s 'for the radio type xor_radio allowed series 480", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1264s 'for the radio type xor_radio allowed series 9120", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1264s 'for the radio type xor_radio allowed series 9166", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1264s 'for the radio type xor_radio allowed series IW9167EH", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1264s 'for the radio type xor_radio allowed series IW9165E", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1264s 'for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP ' +
1264s 'Address \'204.192.12.201dsd\' in playbook.", \'ap_name:hostname,family,type,mac_address,management_ip_address,' +
1264s 'ap_ethernet_mac_address : The string exceeds the allowed range of max 32 char\', "led_status: Invalid LED Status \'Enableddd\' in ' +
1264s 'playbook.", "ap_mode: Invalid value \'Monitorw\' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or ' +
1264s 'Bridge.", "failover_priority: Invalid value \'Lossw\' for failover_priority in playbook. Must be one of: Low, Medium, High or ' +
1264s 'Critical.", "clean_air_si_2.4ghz: Invalid value \'Disableds\' in playbook. Must be ' +
1264s 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_5ghz: Invalid value \'Disableds\' in playbook. Must be ' +
1264s 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_6ghz: Invalid value \'Enableds\' in playbook. Must be ' +
1264s 'either \'Enabled\' or \'Disabled\'.", "primary_ip_address: Invalid primary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in ' +
1264s 'playbook", "secondary_ip_address: Invalid secondary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", "tertiary_ip_address: ' +
1264s 'Invalid tertiary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", \'Radio Params cannot be changed when AP mode is in ' +
1264s 'Monitorw.\', "admin_status: Invalid value \'Enabledsds\' for admin_status in playbook. Must be ' +
1264s 'either \'Enabled\' or \'Disabled\'.", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. Must be ' +
1264s 'either \'Global\' or \'Custom\'.", "channel_number: Invalid value \'22\' for Channel Number in playbook. Must be one of: ' +
1264s '[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 ' +
1264s 'of: \'20 MHz\', \'40 MHz\', \'80 MHz\', \'160 MHz\', or \'320 MHz\'.", "power_assignment_mode: Invalid ' +
1264s 'value \'any\' for Power assignment mode in ' +
1264s 'playbook. Must be either \'Global\' or \'Custom\'.", \'powerlevel: This configuration is only supported with Client-Serving Radio Role ' +
1264s 'Assignment None \', "radio_role_assignment: Invalid value \'any\' for radio role assignment in playbook. Must be one ' +
1264s 'of: \'Auto\', \'Monitor\' or \'Client-Serving\'.", \'Radio Params cannot be changed when AP mode is in Monitorw.\', "admin_status: ' +
1264s 'Invalid value \'Enabledsds\' for admin_status in playbook. Must be either \'Enabled\' or \'Disabled\'.", "antenna_gain: Invalid \'41\' in ' +
1264s 'playbook, allowed range of min: 0 and max: 40", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. ' +
1264s 'Must be either \'Global\' or \'Custom\'.", ' +
1264s '"radio_role_assignment: Invalid value \'Client-Serving\'. Hence, AP mode is not Local. Kindly change the AP mode to Local then ' +
1264s 'change the radio_role_assignment to Auto."]\' '
1264s )
1264s 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]]\' '
1264s 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'."]'
1264s E ? ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ---------------------------------------------------------------------------------------------------
1264s 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."]'
1264s E ? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1264s
1264s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:221: AssertionError
1264s ------------------------------ Captured log call -------------------------------
1264s 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'."]'
1264s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_update_verify _
1264s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s def get_tasks_by_id(self, task_id):
1264s """
1264s Get the tasks of a task ID in Cisco Catalyst Center.
1264s Args:
1264s self (object): An instance of a class that provides access to Cisco Catalyst Center.
1264s task_id (str): The unique identifier of the task for which you want to retrieve details.
1264s Returns:
1264s dict or None: A dictionary status information about the specified task,
1264s or None if the task with the given task_id is not found.
1264s Description:
1264s Call the API 'get_tasks_by_id' to get the status of the task.
1264s Return the details along with the status of the task.
1264s """
1264s # Need to handle exception
1264s task_status = None
1264s try:
1264s > response = self.dnac._exec(
1264s family="task",
1264s function="get_tasks_by_id",
1264s params={"id": task_id}
1264s )
1264s
1264s plugins/module_utils/dnac.py:1662:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s /usr/lib/python3.13/unittest/mock.py:1169: in __call__
1264s return self._mock_call(*args, **kwargs)
1264s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call
1264s return self._execute_mock_call(*args, **kwargs)
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s self = , args = ()
1264s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191e542-b3fb-7ac8-ae85-81e461c8b022'}}
1264s effect =
1264s
1264s def _execute_mock_call(self, /, *args, **kwargs):
1264s # separate from _increment_mock_call so that awaited functions are
1264s # executed separately from their call, also AsyncMock overrides this method
1264s
1264s effect = self.side_effect
1264s if effect is not None:
1264s if _is_exception(effect):
1264s raise effect
1264s elif not _callable(effect):
1264s > result = next(effect)
1264s E StopIteration
1264s
1264s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration
1264s
1264s During handling of the above exception, another exception occurred:
1264s
1264s self =
1264s
1264s def test_device_credentials_workflow_manager_update_verify(self):
1264s """
1264s Test case for device credential workflow manager when updating a device credential.
1264s
1264s This test case checks the behavior of the device credential workflow manager when updating a new device credentials in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_version="2.3.7.6",
1264s dnac_log=True,
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_config_creation
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:336:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/device_credential_workflow_manager.py:3277: in main
1264s ccc_credential.get_diff_state_apply[state](config).check_return_status()
1264s plugins/modules/device_credential_workflow_manager.py:2977: in get_diff_merged
1264s self.update_device_credentials().check_return_status()
1264s plugins/modules/device_credential_workflow_manager.py:2684: in update_device_credentials
1264s self.check_tasks_response_status(response, "update_global_credentials_v2").check_return_status()
1264s plugins/module_utils/dnac.py:1730: in check_tasks_response_status
1264s task_details = self.get_tasks_by_id(task_id)
1264s plugins/module_utils/dnac.py:1684: in get_tasks_by_id
1264s self.fail_and_exit(self.msg)
1264s plugins/module_utils/dnac.py:1787: in fail_and_exit
1264s self.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ------------------------------ Captured log call -------------------------------
1264s 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: .
1264s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site_response_2 _
1264s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_device_credentials_workflow_manager_invalid_site_response_2(self):
1264s """
1264s Test case for device credential workflow manager when provided site response is invalid.
1264s
1264s This test case checks the behavior of the device credential workflow manager when provided site response is invalid in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s config=self.playbook_config_apply
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result['msg'],
1264s "Exception occurred while getting global device credentials: "
1264s )
1264s E AssertionError: "An exception occurred while retrieving S[278 chars]rue}" != 'Exception occurred while getting global [16 chars]ls: '
1264s 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}
1264s E + Exception occurred while getting global device credentials:
1264s
1264s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:504: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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}
1264s ------------------------------ Captured log call -------------------------------
1264s WARNING logger:dnac.py:294 DeviceCredential: execute_get_request: 1857: No response received from GET API call to Function: 'get_site' from Family: 'sites'.
1264s
1264s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: No site details retrieved for site name: Global/Vietnam/halong/Hanoi
1264s
1264s 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}
1264s _________ TestNetworkCompliance.test_run_compliance_categories_iplist __________
1264s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_categories_iplist(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_categories_iplist")
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:412:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1264s ccc_network_compliance.get_want(config).check_return_status()
1264s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1264s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1264s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1264s self.fail_and_exit(self.msg)
1264s plugins/module_utils/dnac.py:1787: in fail_and_exit
1264s self.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s ------------------------------ Captured log call -------------------------------
1264s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1264s
1264s 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}
1264s
1264s 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}]
1264s
1264s 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}]
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1264s
1264s 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
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_run_compliance_categories: 510: Validating the provided run compliance categories: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_run_compliance_categories: 518: Validation successful: valid run compliance categorites provided: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT']
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1264s
1264s 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']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1264s
1264s 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']}
1264s
1264s 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'}]}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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
1264s
1264s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1
1264s
1264s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1
1264s
1264s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0
1264s
1264s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1264s
1264s 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).
1264s
1264s 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).
1264s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_provision_device _
1264s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_inventory_workflow_manager_playbook_provision_device(self):
1264s """
1264s Test case for add device with full crendentials.
1264s
1264s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.7.6",
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_provision_device
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_inventory_workflow_manager.py:528:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/inventory_workflow_manager.py:4197: in main
1264s ccc_device.get_diff_state_apply[state](config).check_return_status()
1264s plugins/modules/inventory_workflow_manager.py:3613: in get_diff_merged
1264s self.provisioned_wired_device().check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ------------------------------ Captured log call -------------------------------
1264s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config
1264s
1264s 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'}]}
1264s
1264s WARNING logger:dnac.py:294 Inventory: is_device_assigned_to_site: 1876: Response collected from the API 'get_device_detail' {'response': [], 'version': '1.0'}
1264s
1264s 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'
1264s
1264s 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}
1264s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_2 ________
1264s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_iplist_failure_2(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_iplist")
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s > self.assertIn(
1264s "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call",
1264s result.get('msg')
1264s )
1264s 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)."
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:563: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s ------------------------------ Captured log call -------------------------------
1264s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1264s
1264s 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}
1264s
1264s 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}]
1264s
1264s 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}]
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1264s
1264s 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
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1264s
1264s 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']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1264s
1264s 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']}
1264s
1264s 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'}]}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception
1264s
1264s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1264s
1264s 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).
1264s
1264s 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).
1264s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_apply_sync _
1264s [gw2] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s def get_tasks_by_id(self, task_id):
1264s """
1264s Get the tasks of a task ID in Cisco Catalyst Center.
1264s Args:
1264s self (object): An instance of a class that provides access to Cisco Catalyst Center.
1264s task_id (str): The unique identifier of the task for which you want to retrieve details.
1264s Returns:
1264s dict or None: A dictionary status information about the specified task,
1264s or None if the task with the given task_id is not found.
1264s Description:
1264s Call the API 'get_tasks_by_id' to get the status of the task.
1264s Return the details along with the status of the task.
1264s """
1264s # Need to handle exception
1264s task_status = None
1264s try:
1264s > response = self.dnac._exec(
1264s family="task",
1264s function="get_tasks_by_id",
1264s params={"id": task_id}
1264s )
1264s
1264s plugins/module_utils/dnac.py:1662:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s /usr/lib/python3.13/unittest/mock.py:1169: in __call__
1264s return self._mock_call(*args, **kwargs)
1264s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call
1264s return self._execute_mock_call(*args, **kwargs)
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s self = , args = ()
1264s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191ea00-6acf-7863-83c3-638499ad0aff'}}
1264s effect =
1264s
1264s def _execute_mock_call(self, /, *args, **kwargs):
1264s # separate from _increment_mock_call so that awaited functions are
1264s # executed separately from their call, also AsyncMock overrides this method
1264s
1264s effect = self.side_effect
1264s if effect is not None:
1264s if _is_exception(effect):
1264s raise effect
1264s elif not _callable(effect):
1264s > result = next(effect)
1264s E StopIteration
1264s
1264s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration
1264s
1264s During handling of the above exception, another exception occurred:
1264s
1264s self =
1264s
1264s def test_device_credentials_workflow_manager_apply_sync(self):
1264s """
1264s Test case for device credential workflow manager when applying a device credential to site devices.
1264s
1264s This test case checks the behavior of the device credential workflow manager when applying a device credential
1264s
1264s to site devices in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_version="2.3.7.6",
1264s dnac_log=True,
1264s state="merged",
1264s config=self.playbook_config_apply
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:362:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/device_credential_workflow_manager.py:3277: in main
1264s ccc_credential.get_diff_state_apply[state](config).check_return_status()
1264s plugins/modules/device_credential_workflow_manager.py:2983: in get_diff_merged
1264s self.apply_credentials_to_site().check_return_status()
1264s plugins/modules/device_credential_workflow_manager.py:2936: in apply_credentials_to_site
1264s self.check_tasks_response_status(response,
1264s plugins/module_utils/dnac.py:1730: in check_tasks_response_status
1264s task_details = self.get_tasks_by_id(task_id)
1264s plugins/module_utils/dnac.py:1684: in get_tasks_by_id
1264s self.fail_and_exit(self.msg)
1264s plugins/module_utils/dnac.py:1787: in fail_and_exit
1264s self.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ------------------------------ Captured log call -------------------------------
1264s 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: .
1264s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_a_device _
1264s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_inventory_workflow_manager_playbook_delete_a_device(self):
1264s """
1264s Test case for add device with full crendentials.
1264s
1264s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.7.6",
1264s state="deleted",
1264s config_verify=True,
1264s config=self.playbook_delete_a_device
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_inventory_workflow_manager.py:329:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/inventory_workflow_manager.py:4197: in main
1264s ccc_device.get_diff_state_apply[state](config).check_return_status()
1264s plugins/modules/inventory_workflow_manager.py:3668: in get_diff_deleted
1264s self.handle_device_deletion(device_ip)
1264s plugins/modules/inventory_workflow_manager.py:3857: in handle_device_deletion
1264s self.check_tasks_response_status(response, api_name='deleted_device_by_id')
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def check_tasks_response_status(self, response, api_name):
1264s """
1264s Get the task response status from taskId
1264s Args:
1264s self: The current object details.
1264s response (dict): API response.
1264s api_name (str): API name.
1264s Returns:
1264s self (object): The current object with updated desired Fabric Transits information.
1264s Description:
1264s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE'
1264s state or till it reaches the maximum timeout.
1264s Log the task details and return self.
1264s """
1264s
1264s if not response:
1264s self.msg = "response is empty"
1264s self.status = "exited"
1264s return self
1264s
1264s if not isinstance(response, dict):
1264s self.msg = "response is not a dictionary"
1264s self.status = "exited"
1264s return self
1264s
1264s task_info = response.get("response")
1264s if task_info.get("errorcode") is not None:
1264s self.msg = response.get("response").get("detail")
1264s self.status = "failed"
1264s return self
1264s
1264s task_id = task_info.get("taskId")
1264s start_time = time.time()
1264s while True:
1264s elapsed_time = time.time() - start_time
1264s if elapsed_time >= self.max_timeout:
1264s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \
1264s .format(self.max_timeout, task_id) + \
1264s "Exiting the loop due to unexpected API '{0}' status.".format(api_name)
1264s self.log(self.msg, "WARNING")
1264s self.status = "failed"
1264s break
1264s
1264s task_details = self.get_tasks_by_id(task_id)
1264s self.log('Getting tasks details from task ID {0}: {1}'
1264s .format(task_id, task_details), "DEBUG")
1264s
1264s > task_status = task_details.get("status")
1264s E AttributeError: 'list' object has no attribute 'get'
1264s
1264s plugins/module_utils/dnac.py:1734: AttributeError
1264s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_provision_failed_for_site _
1264s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_inventory_workflow_manager_playbook_provision_failed_for_site(self):
1264s """
1264s Test case for add device with full crendentials.
1264s
1264s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_provision_failed_for_site
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "Wired Device Provisioning failed for all devices"
1264s )
1264s E AssertionError: "An exception occurred while retrieving S[136 chars]able" != 'Wired Device Provisioning failed for all devices'
1264s 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
1264s E + Wired Device Provisioning failed for all devices
1264s
1264s tests/unit/modules/dnac/test_inventory_workflow_manager.py:380: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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}
1264s ------------------------------ Captured log call -------------------------------
1264s 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
1264s ____________ TestNetworkCompliance.test_run_compliance_with_iplist _____________
1264s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_iplist(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=False,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_iplist")
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:349:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1264s ccc_network_compliance.get_want(config).check_return_status()
1264s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1264s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1264s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1264s self.fail_and_exit(self.msg)
1264s plugins/module_utils/dnac.py:1787: in fail_and_exit
1264s self.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_task_error_update_accesspoint _
1264s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_accesspoint_workflow_manager_task_error_update_accesspoint(self):
1264s """
1264s Test case for access point workfollow manager and negative test verify ap update.
1264s
1264s This test case checks the behavior of the nagative test case of update in the specified Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s config_verify=True,
1264s dnac_version="2.3.7.6",
1264s config=self.playbook_config
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "Unable to get success response, hence AP config not updated"
1264s )
1264s E AssertionError: "An error occurred while executing API ca[74 chars]n: ." != 'Unable to get success response, hence AP[15 chars]ated'
1264s E - An error occurred while executing API call to Function: 'get_task_details_by_id' due to the the following exception: .
1264s E + Unable to get success response, hence AP config not updated
1264s
1264s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:326: AssertionError
1264s ------------------------------ Captured log call -------------------------------
1264s WARNING logger:dnac.py:294 Accesspoint: update_ap_configuration: 3501: No AP name or MAC address found in ap_config.
1264s
1264s 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: .
1264s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_add_existing_devices _
1264s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_inventory_workflow_manager_playbook_add_existing_devices(self):
1264s """
1264s Test case for add device with full crendentials.
1264s
1264s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.5.3",
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_add_existing_devices
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=False)
1264s print(result)
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center."
1264s )
1264s 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."
1264s E - No changes were made. No inventory actions were performed in Cisco Catalyst Center.
1264s E + device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center.
1264s
1264s tests/unit/modules/dnac/test_inventory_workflow_manager.py:282: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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.'}
1264s ------------------------------ Captured log call -------------------------------
1264s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config
1264s
1264s 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'}
1264s
1264s WARNING logger:dnac.py:294 Inventory: verify_diff_merged: 3882: verify starts here verify diff merged
1264s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_3 ________
1264s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_iplist_failure_3(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_iplist")
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s > self.assertEqual(
1264s "An error occurred while retrieving the task_id of the run_compliance operation.",
1264s result.get('msg')
1264s )
1264s E AssertionError: 'An error occurred while retrieving the t[35 chars]ion.' != "No device UUIDs were fetched for network[153 chars]Ps)."
1264s E - An error occurred while retrieving the task_id of the run_compliance operation.
1264s 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).
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:584: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s ------------------------------ Captured log call -------------------------------
1264s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1264s
1264s 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}
1264s
1264s 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}]
1264s
1264s 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}]
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1264s
1264s 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
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1264s
1264s 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']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1264s
1264s 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']}
1264s
1264s 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'}]}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception
1264s
1264s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1264s
1264s 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).
1264s
1264s 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).
1264s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_1 _________
1264s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_site_failure_1(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=False,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_site")
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s > self.assertIn(
1264s "An error occurred while retrieving site details for Site 'Global'. Please verify that the site exists.",
1264s result.get('msg')
1264s )
1264s 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}'
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:647: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s ___________ TestDnacAccesspointWorkflow.test_invalid_get_site_device ___________
1264s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_invalid_get_site_device(self):
1264s """
1264s Test case for access point workfollow manager get device details from site
1264s
1264s This test case checks the behavior of the access point workflow when check the devices in the site on the specified Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s dnac_version="2.3.7.6",
1264s config=self.get_membership_empty
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "Required param of mac_address,ip_address or hostname is not in playbook config"
1264s )
1264s E AssertionError: 'Successfully validated playbook config pa[1253 chars]}\n]' != 'Required param of mac_address,ip_address [33 chars]nfig'
1264s E Diff is 1423 characters long. Set self.maxDiff to None to see it.
1264s
1264s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:399: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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}
1264s ------------------------------ Captured log call -------------------------------
1264s WARNING logger:dnac.py:294 Accesspoint: get_accesspoint_details: 2688: Required param of mac_address,ip_address or hostname is not in playbook config
1264s
1264s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Required param of mac_address,ip_address or hostname is not in playbook config
1264s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_1 ________
1264s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_iplist_failure_1(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=False,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_iplist")
1264s )
1264s )
1264s > result = self.execute_module(changed=False, failed=False)
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:541:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1264s ccc_network_compliance.get_want(config).check_return_status()
1264s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1264s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1264s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1264s self.fail_and_exit(self.msg)
1264s plugins/module_utils/dnac.py:1787: in fail_and_exit
1264s self.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s _____________ TestDnacAccesspointWorkflow.test_invalid_site_exists _____________
1264s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_invalid_site_exists(self):
1264s """
1264s Test case for access point workfollow manager check site exists.
1264s
1264s This test case checks the behavior of the access point workflow when site exist in the specified Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s dnac_version="2.3.7.6",
1264s config=self.playbook_config_provision
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "MAC Address is not Access point"
1264s )
1264s E AssertionError: 'Provided device is not Access Point.' != 'MAC Address is not Access point'
1264s E - Provided device is not Access Point.
1264s E + MAC Address is not Access point
1264s
1264s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:350: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'msg': 'Provided device is not Access Point.', 'response': 'Provided device is not Access Point.', 'failed': True}
1264s ------------------------------ Captured log call -------------------------------
1264s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Provided device is not Access Point.
1264s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_device_udf _
1264s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_inventory_workflow_manager_playbook_delete_device_udf(self):
1264s """
1264s Test case for add device with full crendentials.
1264s
1264s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.7.6",
1264s state="deleted",
1264s config_verify=True,
1264s config=self.playbook_delete_device_udf
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_inventory_workflow_manager.py:478:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/inventory_workflow_manager.py:4197: in main
1264s ccc_device.get_diff_state_apply[state](config).check_return_status()
1264s plugins/modules/inventory_workflow_manager.py:3668: in get_diff_deleted
1264s self.handle_device_deletion(device_ip)
1264s plugins/modules/inventory_workflow_manager.py:3857: in handle_device_deletion
1264s self.check_tasks_response_status(response, api_name='deleted_device_by_id')
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def check_tasks_response_status(self, response, api_name):
1264s """
1264s Get the task response status from taskId
1264s Args:
1264s self: The current object details.
1264s response (dict): API response.
1264s api_name (str): API name.
1264s Returns:
1264s self (object): The current object with updated desired Fabric Transits information.
1264s Description:
1264s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE'
1264s state or till it reaches the maximum timeout.
1264s Log the task details and return self.
1264s """
1264s
1264s if not response:
1264s self.msg = "response is empty"
1264s self.status = "exited"
1264s return self
1264s
1264s if not isinstance(response, dict):
1264s self.msg = "response is not a dictionary"
1264s self.status = "exited"
1264s return self
1264s
1264s task_info = response.get("response")
1264s if task_info.get("errorcode") is not None:
1264s self.msg = response.get("response").get("detail")
1264s self.status = "failed"
1264s return self
1264s
1264s task_id = task_info.get("taskId")
1264s start_time = time.time()
1264s while True:
1264s elapsed_time = time.time() - start_time
1264s if elapsed_time >= self.max_timeout:
1264s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \
1264s .format(self.max_timeout, task_id) + \
1264s "Exiting the loop due to unexpected API '{0}' status.".format(api_name)
1264s self.log(self.msg, "WARNING")
1264s self.status = "failed"
1264s break
1264s
1264s task_details = self.get_tasks_by_id(task_id)
1264s self.log('Getting tasks details from task ID {0}: {1}'
1264s .format(task_id, task_details), "DEBUG")
1264s
1264s > task_status = task_details.get("status")
1264s E AttributeError: 'list' object has no attribute 'get'
1264s
1264s plugins/module_utils/dnac.py:1734: AttributeError
1264s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_provision_device _
1264s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_accesspoint_workflow_manager_provision_device(self):
1264s """
1264s Test case for access point workfollow manager provision and update device.
1264s
1264s This test case checks the behavior of the access point workflow when provisioned in the specified Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s dnac_version="2.3.7.6",
1264s config_verify=True,
1264s config=self.playbook_config_complete
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:145:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/accesspoint_workflow_manager.py:4190: in main
1264s ccc_network.get_diff_state_apply[state](config).check_return_status()
1264s plugins/modules/accesspoint_workflow_manager.py:1894: in get_diff_merged
1264s self.validate_ap_config_parameters(ap_config).check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ------------------------------ Captured log call -------------------------------
1264s 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']'
1264s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_4 ________
1264s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_iplist_failure_4(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_iplist")
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s > self.assertIn(
1264s "Error occurred while retrieving 'get_task_by_id' for Task Run Compliance Check with Task id",
1264s result.get('msg')
1264s )
1264s 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)."
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:605: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s ------------------------------ Captured log call -------------------------------
1264s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1264s
1264s 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}
1264s
1264s 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}]
1264s
1264s 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}]
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1264s
1264s 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
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1264s
1264s 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']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1264s
1264s 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']}
1264s
1264s 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'}]}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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'
1264s
1264s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1264s
1264s 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).
1264s
1264s 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).
1264s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_2 _________
1264s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s def execute_get_request(self, api_family, api_function, api_parameters):
1264s """
1264s Makes a GET API call to the specified function within a given family and returns the response.
1264s Args:
1264s api_family (str): The family of the API to call.
1264s api_function (str): The specific function of the API to call.
1264s api_parameters (dict): Parameters to pass to the API call.
1264s Returns:
1264s dict or None: The response from the API call if successful, otherwise None.
1264s Logs detailed information about the API call, including responses and errors.
1264s """
1264s self.log(
1264s "Initiating GET API call for Function: {0} from Family: {1} with Parameters: {2}.".format(
1264s api_function, api_family, api_parameters
1264s ),
1264s "DEBUG"
1264s )
1264s try:
1264s # Execute the API call
1264s > response = self.dnac._exec(
1264s family=api_family,
1264s function=api_function,
1264s op_modifies=False,
1264s params=api_parameters,
1264s )
1264s
1264s plugins/module_utils/dnac.py:1840:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s /usr/lib/python3.13/unittest/mock.py:1169: in __call__
1264s return self._mock_call(*args, **kwargs)
1264s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call
1264s return self._execute_mock_call(*args, **kwargs)
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s self = , args = ()
1264s kwargs = {'family': 'sites', 'function': 'get_membership', 'op_modifies': False, 'params': {'site_id': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}}
1264s effect =
1264s result = Exception('Simulated exception')
1264s
1264s def _execute_mock_call(self, /, *args, **kwargs):
1264s # separate from _increment_mock_call so that awaited functions are
1264s # executed separately from their call, also AsyncMock overrides this method
1264s
1264s effect = self.side_effect
1264s if effect is not None:
1264s if _is_exception(effect):
1264s raise effect
1264s elif not _callable(effect):
1264s result = next(effect)
1264s if _is_exception(result):
1264s > raise result
1264s E Exception: Simulated exception
1264s
1264s /usr/lib/python3.13/unittest/mock.py:1232: Exception
1264s
1264s During handling of the above exception, another exception occurred:
1264s
1264s self =
1264s
1264s def test_run_compliance_with_site_failure_2(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=False,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_site")
1264s )
1264s )
1264s > result = self.execute_module(changed=False, failed=False)
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:667:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1264s ccc_network_compliance.get_want(config).check_return_status()
1264s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1264s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1264s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list
1264s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name)
1264s plugins/module_utils/dnac.py:762: in get_reachable_devices_from_site
1264s device_details_list = self.get_device_details_from_site(site_name, site_id)
1264s plugins/module_utils/dnac.py:716: in get_device_details_from_site
1264s api_response, device_ids = self.get_device_ids_from_site(site_name, site_id)
1264s plugins/module_utils/dnac.py:666: in get_device_ids_from_site
1264s api_response = self.execute_get_request("sites", "get_membership", get_membership_params)
1264s plugins/module_utils/dnac.py:1882: in execute_get_request
1264s self.fail_and_exit(self.msg)
1264s plugins/module_utils/dnac.py:1787: in fail_and_exit
1264s self.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_provisioned_device _
1264s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_inventory_workflow_manager_playbook_delete_provisioned_device(self):
1264s """
1264s Test case for add device with full crendentials.
1264s
1264s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.7.6",
1264s state="deleted",
1264s config_verify=True,
1264s config=self.playbook_delete_provisioned_device
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_inventory_workflow_manager.py:354:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/inventory_workflow_manager.py:4197: in main
1264s ccc_device.get_diff_state_apply[state](config).check_return_status()
1264s plugins/modules/inventory_workflow_manager.py:3675: in get_diff_deleted
1264s self.delete_provisioned_device_v2(device_ip)
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def delete_provisioned_device_v2(self, device_ip):
1264s """
1264s Deletes provisioned devices for versions > 2.3.5.3.
1264s
1264s Parameters:
1264s device_ip (str): The IP address of the device to be deleted.
1264s
1264s Description:
1264s This method deletes a provisioned device with the specified IP address
1264s for software versions greater than 2.3.5.3. It ensures that the device
1264s is properly removed from the Cisco Catalyst Center, handling any
1264s required validations and API interactions.
1264s """
1264s
1264s device_ids = self.get_device_ids([device_ip])
1264s > device_id = device_ids[0]
1264s E IndexError: list index out of range
1264s
1264s plugins/modules/inventory_workflow_manager.py:3801: IndexError
1264s ------------------------------ Captured log call -------------------------------
1264s ERROR logger:dnac.py:294 Inventory: get_device_ids: 2403: Error while fetching device '204.1.2.4' from Cisco Catalyst Center: 0
1264s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_3 _________
1264s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_site_failure_3(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=False,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_site")
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s > self.assertIn(
1264s "An error occurred while retrieving Compliance Details for device:192.168.0.3 using 'compliance_details_of_device' API call",
1264s result.get('msg')
1264s )
1264s 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."
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:689: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s ______________ TestNetworkCompliance.test_sync_device_config_site ______________
1264s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_sync_device_config_site(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_sync_device_config_site")
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:476:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1264s ccc_network_compliance.get_want(config).check_return_status()
1264s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1264s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1264s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list
1264s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name)
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def get_reachable_devices_from_site(self, site_name):
1264s """
1264s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site.
1264s Args:
1264s site_id (str): The ID of the site from which to retrieve device details.
1264s Returns:
1264s tuple: A tuple containing:
1264s - dict: A mapping of management IP addresses to instance IDs for reachable devices.
1264s - list: A list of management IP addresses of skipped devices.
1264s """
1264s mgmt_ip_to_instance_id_map = {}
1264s skipped_devices_list = []
1264s
1264s (site_exists, site_id) = self.get_site_id(site_name)
1264s if not site_exists:
1264s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name)
1264s self.fail_and_exit(self.msg)
1264s
1264s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO")
1264s
1264s # Retrieve the list of device details from the specified site
1264s device_details_list = self.get_device_details_from_site(site_name, site_id)
1264s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG")
1264s
1264s # Iterate through each device's details
1264s for device_info in device_details_list:
1264s > management_ip = device_info.get("managementIpAddress")
1264s E AttributeError: 'list' object has no attribute 'get'
1264s
1264s plugins/module_utils/dnac.py:767: AttributeError
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s ------------------------------ Captured log call -------------------------------
1264s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1264s
1264s 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}
1264s
1264s 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}]
1264s
1264s 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}]
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: None
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': 'None' or 'site_name': 'Global'
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1264s
1264s 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
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'.
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'.
1264s
1264s 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'}.
1264s
1264s 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'}]}
1264s
1264s 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'}]}
1264s
1264s 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'.
1264s
1264s 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'.
1264s
1264s 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'.
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'.
1264s
1264s 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'}.
1264s
1264s 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'}]}
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs.
1264s
1264s 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']
1264s
1264s 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']
1264s
1264s 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'.
1264s
1264s 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'}.
1264s
1264s 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'}
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '3bf3f269-88ae-48fc-910d-3263ba618f87'.
1264s
1264s 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'.
1264s
1264s 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'}.
1264s
1264s 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'}
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1264s
1264s 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'.
1264s
1264s 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'}.
1264s
1264s 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'}
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '9db11f54-8007-438c-ba9b-711513deecc6'.
1264s
1264s 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'.
1264s
1264s 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'}.
1264s
1264s 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'}
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: 'f490e92f-490e-4bb1-9519-770b1dc604c4'.
1264s
1264s 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'.
1264s
1264s 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'}.
1264s
1264s 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'}
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38'.
1264s
1264s 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'.
1264s
1264s 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'}.
1264s
1264s 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'}
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '37b05b0f-1b1e-496a-b101-8f277f0af8ff'.
1264s
1264s 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'.
1264s
1264s 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'}.
1264s
1264s 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'}
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '778a27bb-d795-4fa3-a321-f2e693ebe1f4'.
1264s
1264s 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'}]
1264s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_assign_cred_1 _
1264s [gw2] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s def get_tasks_by_id(self, task_id):
1264s """
1264s Get the tasks of a task ID in Cisco Catalyst Center.
1264s Args:
1264s self (object): An instance of a class that provides access to Cisco Catalyst Center.
1264s task_id (str): The unique identifier of the task for which you want to retrieve details.
1264s Returns:
1264s dict or None: A dictionary status information about the specified task,
1264s or None if the task with the given task_id is not found.
1264s Description:
1264s Call the API 'get_tasks_by_id' to get the status of the task.
1264s Return the details along with the status of the task.
1264s """
1264s # Need to handle exception
1264s task_status = None
1264s try:
1264s > response = self.dnac._exec(
1264s family="task",
1264s function="get_tasks_by_id",
1264s params={"id": task_id}
1264s )
1264s
1264s plugins/module_utils/dnac.py:1662:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s /usr/lib/python3.13/unittest/mock.py:1169: in __call__
1264s return self._mock_call(*args, **kwargs)
1264s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call
1264s return self._execute_mock_call(*args, **kwargs)
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s self = , args = ()
1264s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191e691-f5f5-7c89-9cf4-099515272844'}}
1264s effect =
1264s
1264s def _execute_mock_call(self, /, *args, **kwargs):
1264s # separate from _increment_mock_call so that awaited functions are
1264s # executed separately from their call, also AsyncMock overrides this method
1264s
1264s effect = self.side_effect
1264s if effect is not None:
1264s if _is_exception(effect):
1264s raise effect
1264s elif not _callable(effect):
1264s > result = next(effect)
1264s E StopIteration
1264s
1264s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration
1264s
1264s During handling of the above exception, another exception occurred:
1264s
1264s self =
1264s
1264s def test_device_credentials_workflow_manager_assign_cred_1(self):
1264s """
1264s Test case for device credential workflow manager when assigning a device credential to site in dnac_version="2.3.7.6".
1264s
1264s This test case checks the behavior of the device credential workflow manager when assigning a device credential to site in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_version="2.3.7.6",
1264s dnac_log=True,
1264s state="merged",
1264s config=self.playbook_config_assign
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:261:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/device_credential_workflow_manager.py:3277: in main
1264s ccc_credential.get_diff_state_apply[state](config).check_return_status()
1264s plugins/modules/device_credential_workflow_manager.py:2980: in get_diff_merged
1264s self.assign_credentials_to_site().check_return_status()
1264s plugins/modules/device_credential_workflow_manager.py:2757: in assign_credentials_to_site
1264s self.check_tasks_response_status(
1264s plugins/module_utils/dnac.py:1730: in check_tasks_response_status
1264s task_details = self.get_tasks_by_id(task_id)
1264s plugins/module_utils/dnac.py:1684: in get_tasks_by_id
1264s self.fail_and_exit(self.msg)
1264s plugins/module_utils/dnac.py:1787: in fail_and_exit
1264s self.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ------------------------------ Captured log call -------------------------------
1264s 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: .
1264s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_5 ________
1264s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_iplist_failure_5(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_iplist")
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s > self.assertIn(
1264s "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call",
1264s result.get('msg')
1264s )
1264s 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)."
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:626: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s ------------------------------ Captured log call -------------------------------
1264s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1264s
1264s 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}
1264s
1264s 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}]
1264s
1264s 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}]
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1264s
1264s 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
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1264s
1264s 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']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1264s
1264s 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']}
1264s
1264s 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'}]}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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'
1264s
1264s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1264s
1264s 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).
1264s
1264s 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).
1264s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_Updation_not_req _
1264s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_Network_settings_workflow_manager_global_pool_Updation_not_req(self):
1264s """
1264s Test case for site workflow manager when creating a site.
1264s
1264s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_global_pool_updation
1264s )
1264s )
1264s result = self.execute_module(changed=True, failed=True)
1264s # print(result["response"][0].get("globalPool").get("msg"))
1264s # print(result)
1264s > self.assertEqual(
1264s result["response"][0].get("globalPool").get("msg"),
1264s {'Global_Pool2': "Global pool doesn't require an update", 'Global_Pool3': "Global pool doesn't require an update"}
1264s
1264s )
1264s E AssertionError: {} != {'Global_Pool2': "Global pool doesn't requ[67 chars]ate"}
1264s E - {}
1264s E + {'Global_Pool2': "Global pool doesn't require an update",
1264s E + 'Global_Pool3': "Global pool doesn't require an update"}
1264s
1264s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1003: AssertionError
1264s _____________ TestDnacAccesspointWorkflow.test_invalid_wlc_device ______________
1264s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_invalid_wlc_device(self):
1264s """
1264s Test case for access point workfollow manager check invalid wireless controller.
1264s
1264s This test case checks the behavior of the access point workflow of invalid wlc specified Cisco Catalyst Center.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s dnac_version="2.3.7.6",
1264s config=self.playbook_config_provision
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s self.maxDiff = None
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "Wireles controller is not provisioned:"
1264s )
1264s E AssertionError: "An error occurred while executing GET AP[157 chars]n: ." != 'Wireles controller is not provisioned:'
1264s 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: .
1264s E + Wireles controller is not provisioned:
1264s
1264s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:170: AssertionError
1264s ------------------------------ Captured log call -------------------------------
1264s 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: .
1264s
1264s 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}
1264s
1264s ERROR logger:dnac.py:294 Accesspoint: verify_ap_provision: 3010: Wireles controller is not provisioned:
1264s
1264s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Wireles controller is not provisioned:
1264s _______________ TestNetworkCompliance.test_scale_run_compliance ________________
1264s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_scale_run_compliance(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_scale_iplist")
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:433:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1264s ccc_network_compliance.get_want(config).check_return_status()
1264s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1264s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1264s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1264s self.fail_and_exit(self.msg)
1264s plugins/module_utils/dnac.py:1787: in fail_and_exit
1264s self.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0', '192.168.0.1'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0', '192.168.0.1'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s ------------------------------ Captured log call -------------------------------
1264s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1264s
1264s 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}
1264s
1264s 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}]
1264s
1264s 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}]
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0', '192.168.0.1']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0', '192.168.0.1']
1264s
1264s 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}
1264s
1264s 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
1264s
1264s 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'
1264s
1264s 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']
1264s
1264s 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
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1264s
1264s 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
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1264s
1264s 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}
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0', '192.168.0.1'], site_name=None
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0, 192.168.0.1
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0', '192.168.0.1']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0', '192.168.0.1']}
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0', '192.168.0.1']}
1264s
1264s 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'}]}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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'
1264s
1264s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1264s
1264s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0', '192.168.0.1'] or site name: None. This could be due to Unreachable devices or access points (APs).
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0', '192.168.0.1'] or site name: None. This could be due to Unreachable devices or access points (APs).
1264s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_4 _________
1264s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_site_failure_4(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=False,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_site")
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s > self.assertIn(
1264s "An error occurred while retrieving the task_id of the run_compliance operation.",
1264s result.get('msg')
1264s )
1264s 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."
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:710: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_telemetry_get _
1264s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_Network_settings_workflow_manager_network_exception_telemetry_get(self):
1264s """
1264s Test case for site workflow manager when creating a site.
1264s
1264s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.7.6",
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_config_network
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "Exception occurred while getting telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1264s )
1264s E AssertionError: "Exception occurred while getting telemet[78 chars]7): " != 'Exception occurred while getting telemet[55 chars]a7: '
1264s E - Exception occurred while getting telemetry settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1264s E ? ---------------------- -
1264s E + Exception occurred while getting telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1264s
1264s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:729: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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}
1264s ------------------------------ Captured log call -------------------------------
1264s 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)
1264s
1264s 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):
1264s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_banner_get _
1264s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_Network_settings_workflow_manager_network_exception_banner_get(self):
1264s """
1264s Test case for site workflow manager when creating a site.
1264s
1264s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.7.6",
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_config_network
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "Exception occurred while getting banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1264s )
1264s E AssertionError: "Exception occurred while getting banner [75 chars]7): " != 'Exception occurred while getting banner [52 chars]a7: '
1264s E - Exception occurred while getting banner settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1264s E ? ---------------------- -
1264s E + Exception occurred while getting banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1264s
1264s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:854: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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}
1264s ------------------------------ Captured log call -------------------------------
1264s 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)
1264s
1264s 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)
1264s
1264s 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)
1264s
1264s 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):
1264s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_creation _
1264s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_Network_settings_workflow_manager_global_pool_creation(self):
1264s """
1264s Test case for site workflow manager when creating a site.
1264s
1264s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_global_pool_creation
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:975:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/network_settings_workflow_manager.py:4301: in main
1264s ccc_network.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_timezone_get _
1264s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_Network_settings_workflow_manager_network_exception_timezone_get(self):
1264s """
1264s Test case for site workflow manager when creating a site.
1264s
1264s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.7.6",
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_config_network
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "Exception occurred while getting time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1264s )
1264s E AssertionError: "Exception occurred while getting time zo[78 chars]7): " != 'Exception occurred while getting time zo[55 chars]a7: '
1264s E - Exception occurred while getting time zone settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1264s E ? ---------------------- -
1264s E + Exception occurred while getting time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1264s
1264s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:804: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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}
1264s ------------------------------ Captured log call -------------------------------
1264s 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)
1264s
1264s 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)
1264s
1264s 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):
1264s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_5 _________
1264s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_site_failure_5(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=False,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_site")
1264s )
1264s )
1264s > result = self.execute_module(changed=False, failed=True)
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:730:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:107: in execute_module
1264s result = self.failed()
1264s tests/unit/modules/dnac/dnac_module.py:125: in failed
1264s self.module.main()
1264s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1264s ccc_network_compliance.get_want(config).check_return_status()
1264s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1264s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1264s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list
1264s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name)
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def get_reachable_devices_from_site(self, site_name):
1264s """
1264s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site.
1264s Args:
1264s site_id (str): The ID of the site from which to retrieve device details.
1264s Returns:
1264s tuple: A tuple containing:
1264s - dict: A mapping of management IP addresses to instance IDs for reachable devices.
1264s - list: A list of management IP addresses of skipped devices.
1264s """
1264s mgmt_ip_to_instance_id_map = {}
1264s skipped_devices_list = []
1264s
1264s (site_exists, site_id) = self.get_site_id(site_name)
1264s if not site_exists:
1264s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name)
1264s self.fail_and_exit(self.msg)
1264s
1264s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO")
1264s
1264s # Retrieve the list of device details from the specified site
1264s device_details_list = self.get_device_details_from_site(site_name, site_id)
1264s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG")
1264s
1264s # Iterate through each device's details
1264s for device_info in device_details_list:
1264s > management_ip = device_info.get("managementIpAddress")
1264s E AttributeError: 'list' object has no attribute 'get'
1264s
1264s plugins/module_utils/dnac.py:767: AttributeError
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_assign_cred_2 _
1264s [gw2] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_device_credentials_workflow_manager_assign_cred_2(self):
1264s """
1264s Test case for device credential workflow manager when assigning a device credential to site in dnac_version="2.3.5.3".
1264s
1264s This test case checks the behavior of the device credential workflow manager when assigning a device credential to site in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_version="2.3.5.3",
1264s dnac_log=True,
1264s state="merged",
1264s config=self.playbook_config_assign
1264s )
1264s )
1264s result = self.execute_module(changed=True, failed=False)
1264s print(result)
1264s self.assertEqual(
1264s > result['response'][0]['assignCredential']['Assign Credentials']['msg'],
1264s "Device Credential Assigned to a site is Successfully"
1264s )
1264s E KeyError: 'assignCredential'
1264s
1264s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:288: KeyError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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': []}
1264s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_dhcp_gett _
1264s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_Network_settings_workflow_manager_network_exception_dhcp_gett(self):
1264s """
1264s Test case for site workflow manager when creating a site.
1264s
1264s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.7.6",
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_config_network
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "Exception occurred while getting DHCP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1264s )
1264s E AssertionError: "Exception occurred while getting DHCP se[73 chars]7): " != 'Exception occurred while getting DHCP se[50 chars]a7: '
1264s E - Exception occurred while getting DHCP settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1264s E ? ---------------------- -
1264s E + Exception occurred while getting DHCP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1264s
1264s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:829: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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}
1264s ------------------------------ Captured log call -------------------------------
1264s 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):
1264s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_6 _________
1264s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_site_failure_6(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=False,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_site")
1264s )
1264s )
1264s > result = self.execute_module(changed=False, failed=True)
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:751:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:107: in execute_module
1264s result = self.failed()
1264s tests/unit/modules/dnac/dnac_module.py:125: in failed
1264s self.module.main()
1264s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1264s ccc_network_compliance.get_want(config).check_return_status()
1264s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1264s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1264s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list
1264s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name)
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def get_reachable_devices_from_site(self, site_name):
1264s """
1264s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site.
1264s Args:
1264s site_id (str): The ID of the site from which to retrieve device details.
1264s Returns:
1264s tuple: A tuple containing:
1264s - dict: A mapping of management IP addresses to instance IDs for reachable devices.
1264s - list: A list of management IP addresses of skipped devices.
1264s """
1264s mgmt_ip_to_instance_id_map = {}
1264s skipped_devices_list = []
1264s
1264s (site_exists, site_id) = self.get_site_id(site_name)
1264s if not site_exists:
1264s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name)
1264s self.fail_and_exit(self.msg)
1264s
1264s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO")
1264s
1264s # Retrieve the list of device details from the specified site
1264s device_details_list = self.get_device_details_from_site(site_name, site_id)
1264s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG")
1264s
1264s # Iterate through each device's details
1264s for device_info in device_details_list:
1264s > management_ip = device_info.get("managementIpAddress")
1264s E AttributeError: 'list' object has no attribute 'get'
1264s
1264s plugins/module_utils/dnac.py:767: AttributeError
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_deletion _
1264s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_Network_settings_workflow_manager_global_pool_deletion(self):
1264s """
1264s Test case for site workflow manager when creating a site.
1264s
1264s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="deleted",
1264s config_verify=True,
1264s config=self.playbook_config_global_pool_deletion
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1026:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/network_settings_workflow_manager.py:4301: in main
1264s ccc_network.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s _____________ TestNetworkCompliance.test_sync_device_config_iplist _____________
1264s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_sync_device_config_iplist(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_sync_device_config_iplist")
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:455:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1264s ccc_network_compliance.get_want(config).check_return_status()
1264s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1264s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1264s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1264s self.fail_and_exit(self.msg)
1264s plugins/module_utils/dnac.py:1787: in fail_and_exit
1264s self.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s ------------------------------ Captured log call -------------------------------
1264s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1264s
1264s 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}
1264s
1264s 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}]
1264s
1264s 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}]
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1264s
1264s 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
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1264s
1264s 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']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1264s
1264s 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']}
1264s
1264s 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'}]}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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
1264s
1264s 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.
1264s
1264s 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'}
1264s
1264s 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'
1264s
1264s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1264s
1264s 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).
1264s
1264s 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).
1264s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_dns_get _
1264s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_Network_settings_workflow_manager_network_exception_dns_get(self):
1264s """
1264s Test case for site workflow manager when creating a site.
1264s
1264s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_version="2.3.7.6",
1264s state="merged",
1264s config_verify=True,
1264s config=self.playbook_config_network
1264s )
1264s )
1264s result = self.execute_module(changed=False, failed=True)
1264s print(result)
1264s > self.assertEqual(
1264s result.get('msg'),
1264s "Exception occurred while getting DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1264s )
1264s E AssertionError: "Exception occurred while getting DNS set[72 chars]7): " != 'Exception occurred while getting DNS set[49 chars]a7: '
1264s E - Exception occurred while getting DNS settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1264s E ? ---------------------- -
1264s E + Exception occurred while getting DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1264s
1264s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:754: AssertionError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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}
1264s ------------------------------ Captured log call -------------------------------
1264s 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):
1264s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_creation _
1264s [gw2] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_device_credentials_workflow_manager_creation(self):
1264s """
1264s Test case for device credential workflow manager when creating a device credential.
1264s
1264s This test case checks the behavior of the device credential workflow manager when creating a new device credentials in the specified DNAC.
1264s """
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s state="merged",
1264s config=self.playbook_config_creation
1264s )
1264s )
1264s result = self.execute_module(changed=True, failed=False)
1264s print(result)
1264s self.assertEqual(
1264s > result['response'][0]['globalCredential']['Creation']['msg'],
1264s "Global Credential Created Successfully"
1264s )
1264s E KeyError: 'globalCredential'
1264s
1264s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:216: KeyError
1264s ----------------------------- Captured stdout call -----------------------------
1264s {'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': []}
1264s __________ TestNetworkCompliance.test_run_compliance_with_iplist_site __________
1264s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1264s
1264s self =
1264s
1264s def test_run_compliance_with_iplist_site(self):
1264s
1264s set_module_args(
1264s dict(
1264s dnac_host="1.1.1.1",
1264s dnac_username="dummy",
1264s dnac_password="dummy",
1264s dnac_log=True,
1264s dnac_log_level="DEBUG",
1264s dnac_log_append=False,
1264s state="merged",
1264s config=self.test_data.get("playbook_config_run_compliance_iplist_site")
1264s )
1264s )
1264s > result = self.execute_module(changed=True, failed=False)
1264s
1264s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:391:
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1264s result = self.changed(changed)
1264s tests/unit/modules/dnac/dnac_module.py:133: in changed
1264s self.module.main()
1264s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1264s ccc_network_compliance.get_want(config).check_return_status()
1264s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1264s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1264s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1264s self.fail_and_exit(self.msg)
1264s plugins/module_utils/dnac.py:1787: in fail_and_exit
1264s self.check_return_status()
1264s plugins/module_utils/dnac.py:307: in check_return_status
1264s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1264s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1264s
1264s def fail_json(*args, **kwargs):
1264s kwargs["failed"] = True
1264s > raise AnsibleFailJson(kwargs)
1264s 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}
1264s
1264s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1264s ----------------------------- Captured stdout call -----------------------------
1264s Inside load_fixtures
1264s Mock for DNACSDK._exec:
1264s Inside load_fixtures
1264s ------------------------------ Captured log call -------------------------------
1264s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1264s
1264s 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}
1264s
1264s 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}]
1264s
1264s 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}]
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1264s
1264s 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}
1264s
1264s 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
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global'
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1264s
1264s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1264s
1264s 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
1264s
1264s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1265s
1265s 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}
1265s
1265s 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
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1265s
1265s 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']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1265s
1265s 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']}
1265s
1265s 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'}]}
1265s
1265s 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
1265s
1265s 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.
1265s
1265s 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'}]}
1265s
1265s 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
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0
1265s
1265s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'.
1265s
1265s 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'}.
1265s
1265s 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'}]}
1265s
1265s 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'}]}
1265s
1265s 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'.
1265s
1265s 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'.
1265s
1265s 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'.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'.
1265s
1265s 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'}.
1265s
1265s 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'}
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1265s
1265s 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'.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b
1265s
1265s 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).
1265s
1265s 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).
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_aaa_get _
1265s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_exception_aaa_get(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_config_network
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Exception occurred while getting AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1265s )
1265s E AssertionError: "Exception occurred while getting AAA set[72 chars]7): " != 'Exception occurred while getting AAA set[49 chars]a7: '
1265s E - Exception occurred while getting AAA settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1265s E ? ---------------------- -
1265s E + Exception occurred while getting AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:879: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'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}
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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):
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_ntp_get _
1265s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_exception_ntp_get(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_config_network
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Exception occurred while getting NTP server settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1265s )
1265s E AssertionError: "Exception occurred while getting NTP ser[79 chars]7): " != 'Exception occurred while getting NTP ser[56 chars]a7: '
1265s E - Exception occurred while getting NTP server settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1265s E ? ---------------------- -
1265s E + Exception occurred while getting NTP server settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:779: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'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}
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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):
1265s ________ TestNetworkCompliance.test_sync_device_config_iplist_failure_1 ________
1265s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_sync_device_config_iplist_failure_1(self):
1265s
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_log_level="DEBUG",
1265s dnac_log_append=False,
1265s state="merged",
1265s config=self.test_data.get("playbook_config_sync_device_config_iplist")
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s > self.assertIn(
1265s "Error occurred while synchronizing device configuration for parameters - {'deviceId':",
1265s result.get('msg')
1265s )
1265s 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)."
1265s
1265s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:773: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s Inside load_fixtures
1265s Mock for DNACSDK._exec:
1265s Inside load_fixtures
1265s ------------------------------ Captured log call -------------------------------
1265s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1265s
1265s 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}
1265s
1265s 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}]
1265s
1265s 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}]
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1265s
1265s 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}
1265s
1265s 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
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1265s
1265s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1265s
1265s 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
1265s
1265s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1265s
1265s 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}
1265s
1265s 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
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1265s
1265s 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']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1265s
1265s 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']}
1265s
1265s 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'}]}
1265s
1265s 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
1265s
1265s 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.
1265s
1265s 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'}
1265s
1265s 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
1265s
1265s 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.
1265s
1265s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception
1265s
1265s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1265s
1265s 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).
1265s
1265s 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).
1265s _____________ TestNetworkCompliance.test_run_compliance_with_site ______________
1265s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_run_compliance_with_site(self):
1265s
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=False,
1265s dnac_log_level="DEBUG",
1265s dnac_log_append=False,
1265s state="merged",
1265s config=self.test_data.get("playbook_config_run_compliance_site")
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:370:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1265s ccc_network_compliance.get_want(config).check_return_status()
1265s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1265s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1265s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list
1265s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name)
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def get_reachable_devices_from_site(self, site_name):
1265s """
1265s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site.
1265s Args:
1265s site_id (str): The ID of the site from which to retrieve device details.
1265s Returns:
1265s tuple: A tuple containing:
1265s - dict: A mapping of management IP addresses to instance IDs for reachable devices.
1265s - list: A list of management IP addresses of skipped devices.
1265s """
1265s mgmt_ip_to_instance_id_map = {}
1265s skipped_devices_list = []
1265s
1265s (site_exists, site_id) = self.get_site_id(site_name)
1265s if not site_exists:
1265s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name)
1265s self.fail_and_exit(self.msg)
1265s
1265s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO")
1265s
1265s # Retrieve the list of device details from the specified site
1265s device_details_list = self.get_device_details_from_site(site_name, site_id)
1265s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG")
1265s
1265s # Iterate through each device's details
1265s for device_info in device_details_list:
1265s > management_ip = device_info.get("managementIpAddress")
1265s E AttributeError: 'list' object has no attribute 'get'
1265s
1265s plugins/module_utils/dnac.py:767: AttributeError
1265s ----------------------------- Captured stdout call -----------------------------
1265s Inside load_fixtures
1265s Mock for DNACSDK._exec:
1265s Inside load_fixtures
1265s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_provision_old_version _
1265s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_accesspoint_workflow_manager_provision_old_version(self):
1265s """
1265s Test case for access point workfollow manager provision device old version.
1265s
1265s This test case checks the behavior of the access point workflow when provisioned in the specified Cisco Catalyst Center.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="merged",
1265s dnac_version="2.3.5.3",
1265s config_verify=True,
1265s config=self.playbook_config_provision_old_version
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s self.maxDiff = None
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center."
1265s )
1265s E AssertionError: 'AP - LTTS_Test_9124_T2 does not need any update' != "The provided site name 'Global/Chennai/L[94 chars]ter."
1265s E - AP - LTTS_Test_9124_T2 does not need any update
1265s E + The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center.
1265s
1265s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:302: AssertionError
1265s ------------------------------ Captured log call -------------------------------
1265s 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'
1265s
1265s 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.
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_aaa _
1265s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_exception_update_aaa(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_update_network
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Exception occurred while updating AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1265s )
1265s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating AAA se[50 chars]a7: '
1265s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1265s E + Exception occurred while updating AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:654: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'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}
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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: .
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_dns _
1265s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_exception_update_dns(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_update_network
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Exception occurred while updating DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1265s )
1265s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating DNS se[50 chars]a7: '
1265s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1265s E + Exception occurred while updating DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:604: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'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}
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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: .
1265s ________ TestNetworkCompliance.test_sync_device_config_iplist_failure_2 ________
1265s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_sync_device_config_iplist_failure_2(self):
1265s
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_log_level="DEBUG",
1265s dnac_log_append=False,
1265s state="merged",
1265s config=self.test_data.get("playbook_config_sync_device_config_iplist")
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s > self.assertIn(
1265s "Error occurred while retrieving 'get_task_tree' for Task Sync Device Configuration with task id",
1265s result.get('msg')
1265s )
1265s 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)."
1265s
1265s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:794: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s Inside load_fixtures
1265s Mock for DNACSDK._exec:
1265s Inside load_fixtures
1265s ------------------------------ Captured log call -------------------------------
1265s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1265s
1265s 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}
1265s
1265s 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}]
1265s
1265s 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}]
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1265s
1265s 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}
1265s
1265s 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
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1265s
1265s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1265s
1265s 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
1265s
1265s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1265s
1265s 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}
1265s
1265s 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
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1265s
1265s 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']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1265s
1265s 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']}
1265s
1265s 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'}]}
1265s
1265s 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
1265s
1265s 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.
1265s
1265s 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'}
1265s
1265s 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
1265s
1265s 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.
1265s
1265s 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'}
1265s
1265s 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'
1265s
1265s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1265s
1265s 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).
1265s
1265s 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).
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_mandatory_aaa_param _
1265s [gw2] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_mandatory_aaa_param(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_config_aaa_req
1265s )
1265s )
1265s > result = self.execute_module(changed=False, failed=True)
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:902:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:107: in execute_module
1265s result = self.failed()
1265s tests/unit/modules/dnac/dnac_module.py:125: in failed
1265s self.module.main()
1265s plugins/modules/network_settings_workflow_manager.py:4316: in main
1265s ccc_network.get_diff_state_apply[state](config).check_return_status()
1265s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged
1265s self.update_network(network_management).check_return_status()
1265s plugins/modules/network_settings_workflow_manager.py:3790: in update_network
1265s self.check_tasks_response_status(response, "set_aaa_settings_for_a_site").check_return_status()
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def check_tasks_response_status(self, response, api_name):
1265s """
1265s Get the task response status from taskId
1265s Args:
1265s self: The current object details.
1265s response (dict): API response.
1265s api_name (str): API name.
1265s Returns:
1265s self (object): The current object with updated desired Fabric Transits information.
1265s Description:
1265s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE'
1265s state or till it reaches the maximum timeout.
1265s Log the task details and return self.
1265s """
1265s
1265s if not response:
1265s self.msg = "response is empty"
1265s self.status = "exited"
1265s return self
1265s
1265s if not isinstance(response, dict):
1265s self.msg = "response is not a dictionary"
1265s self.status = "exited"
1265s return self
1265s
1265s task_info = response.get("response")
1265s > if task_info.get("errorcode") is not None:
1265s E AttributeError: 'list' object has no attribute 'get'
1265s
1265s plugins/module_utils/dnac.py:1713: AttributeError
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_network_not_need_update _
1265s [gw2] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_network_not_need_update(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_config_network
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Successfully retrieved details from the playbook"
1265s )
1265s E AssertionError: "The specified version '2.2.3.3' does not[94 chars]ds. " != 'Successfully retrieved details from the playbook'
1265s 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.
1265s E + Successfully retrieved details from the playbook
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:454: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'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}
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_ntp _
1265s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_exception_update_ntp(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_update_network
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Exception occurred while updating NTP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1265s )
1265s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating NTP se[50 chars]a7: '
1265s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1265s E + Exception occurred while updating NTP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:554: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'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}
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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: .
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_site_not_exist _
1265s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_exception_site_not_exist(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_config_network
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "An exception occurred: Site 'Global/Vietnam' does not exist in the Cisco Catalyst Center."
1265s )
1265s E AssertionError: "An error occurred while executing API call to[62 chars]n: ." != "An exception occurred: Site 'Global/Vietnam' [40 chars]ter."
1265s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1265s E + An exception occurred: Site 'Global/Vietnam' does not exist in the Cisco Catalyst Center.
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:704: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'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}
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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: .
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_banner _
1265s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_exception_update_banner(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_update_network
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Exception occurred while updating banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1265s )
1265s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating banner[53 chars]a7: '
1265s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1265s E + Exception occurred while updating banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:629: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'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}
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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: .
1265s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_assign_wired_device_to_site _
1265s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_provision_workflow_manager_playbook_assign_wired_device_to_site(self):
1265s """
1265s Test case for add device with full crendentials.
1265s
1265s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_assign_wired_device_to_site
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_provision_workflow_manager.py:152:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/provision_workflow_manager.py:1809: in main
1265s ccc_provision.get_diff_state_apply[state]().check_return_status()
1265s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged
1265s self.provision_wired_device(to_provisioning, to_force_provisioning)
1265s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device
1265s device_id = self.get_device_id()
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def get_device_id(self):
1265s """
1265s Fetches the UUID of the device added in the inventory
1265s
1265s Parameters:
1265s - self: The instance of the class containing the 'config' attribute
1265s to be validated.
1265s Returns:
1265s The method returns the serial number of the device as a string. If it fails, it returns None.
1265s Example:
1265s After creating the validated input, this method retrieves the
1265s UUID of the device.
1265s """
1265s
1265s dev_response = self.dnac_apply['exec'](
1265s family="devices",
1265s function='get_network_device_by_ip',
1265s params={"ip_address": self.validated_config["management_ip_address"]}
1265s )
1265s
1265s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG")
1265s dev_dict = dev_response.get("response")
1265s > device_id = dev_dict.get("id")
1265s E AttributeError: 'NoneType' object has no attribute 'get'
1265s
1265s plugins/modules/provision_workflow_manager.py:490: AttributeError
1265s __________ TestNetworkCompliance.test_sync_device_config_iplist_site ___________
1265s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_sync_device_config_iplist_site(self):
1265s
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_log_level="DEBUG",
1265s dnac_log_append=False,
1265s state="merged",
1265s config=self.test_data.get("playbook_config_sync_device_config_iplist_site")
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:497:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1265s ccc_network_compliance.get_want(config).check_return_status()
1265s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1265s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1265s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1265s self.fail_and_exit(self.msg)
1265s plugins/module_utils/dnac.py:1787: in fail_and_exit
1265s self.check_return_status()
1265s plugins/module_utils/dnac.py:307: in check_return_status
1265s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def fail_json(*args, **kwargs):
1265s kwargs["failed"] = True
1265s > raise AnsibleFailJson(kwargs)
1265s 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}
1265s
1265s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1265s ----------------------------- Captured stdout call -----------------------------
1265s Inside load_fixtures
1265s Mock for DNACSDK._exec:
1265s Inside load_fixtures
1265s ------------------------------ Captured log call -------------------------------
1265s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1265s
1265s 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}
1265s
1265s 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}]
1265s
1265s 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}]
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1265s
1265s 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}
1265s
1265s 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
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global'
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1265s
1265s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1265s
1265s 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
1265s
1265s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1265s
1265s 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}
1265s
1265s 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
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1265s
1265s 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']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1265s
1265s 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']}
1265s
1265s 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'}]}
1265s
1265s 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
1265s
1265s 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.
1265s
1265s 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'}]}
1265s
1265s 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
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0
1265s
1265s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'.
1265s
1265s 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'}.
1265s
1265s 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'}]}
1265s
1265s 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'}]}
1265s
1265s 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'.
1265s
1265s 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'.
1265s
1265s 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'.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'.
1265s
1265s 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'}.
1265s
1265s 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'}
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1265s
1265s 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'.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b
1265s
1265s 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).
1265s
1265s 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).
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_null_network_params _
1265s [gw2] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_null_network_params(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.5.3",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_config_update_not_req
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Successfully retrieved details from the playbook"
1265s )
1265s E AssertionError: "Exception occurred while updating the ne[37 chars]t': " != 'Successfully retrieved details from the playbook'
1265s E - Exception occurred while updating the network settings of 'Global/Testing/test':
1265s E + Successfully retrieved details from the playbook
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:953: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'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}
1265s ------------------------------ Captured log call -------------------------------
1265s ERROR logger:dnac.py:294 NetworkSettings: update_network: 3730:
1265s __________ TestDnacPnpWorkflow.test_pnp_workflow_manager_claim_switch __________
1265s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_pnp_workflow_manager_claim_switch(self):
1265s """
1265s Test case for PNP workflow manager when add and claim switch device.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_version="2.3.7.6",
1265s dnac_log=True,
1265s config_verify=True,
1265s state="merged",
1265s config=self.playbook_config_switch
1265s )
1265s )
1265s > result = self.execute_module(changed=False, failed=True)
1265s
1265s tests/unit/modules/dnac/test_pnp_workflow_manager.py:193:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:107: in execute_module
1265s result = self.failed()
1265s tests/unit/modules/dnac/dnac_module.py:125: in failed
1265s self.module.main()
1265s plugins/modules/pnp_workflow_manager.py:1414: in main
1265s ccc_pnp.get_diff_state_apply[state]().check_return_status()
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def get_diff_merged(self):
1265s """
1265s If given device doesnot exist
1265s then add it to pnp database and get the device id
1265s Args:
1265s self: An instance of a class used for interacting with Cisco Catalyst Center.
1265s Returns:
1265s object: An instance of the class with updated results and status
1265s based on the processing of differences. Based on the length of devices passed
1265s it adds/claims or does both.
1265s Description:
1265s The function processes the differences and, depending on the
1265s changes required, it may add, update,or resynchronize devices in
1265s Cisco Catalyst Center. The updated results and status are stored in the
1265s class instance for further use.
1265s """
1265s
1265s if not isinstance(self.want.get("pnp_params"), list):
1265s self.msg = "Device Info must be passed as a list"
1265s self.log(self.msg, "ERROR")
1265s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1265s
1265s if len(self.want.get("pnp_params")) > 1:
1265s devices_added = []
1265s for device in self.want.get("pnp_params"):
1265s multi_device_response = self.get_device_list_pnp(device["deviceInfo"]["serialNumber"])
1265s self.log("Device details for serial number {0} \
1265s obtained from the API 'get_device_list': {1}".format(device["deviceInfo"]["serialNumber"],
1265s str(multi_device_response)), "DEBUG")
1265s if (multi_device_response and (len(multi_device_response) == 1)):
1265s devices_added.append(device)
1265s self.log("Details of the added device:{0}".format(str(device)), "INFO")
1265s if (len(self.want.get("pnp_params")) - len(devices_added)) == 0:
1265s self.result['response'] = []
1265s self.result['msg'] = "Devices are already added"
1265s self.log(self.result['msg'], "WARNING")
1265s return self
1265s
1265s bulk_list = [
1265s device
1265s for device in self.want.get("pnp_params")
1265s if device not in devices_added
1265s ]
1265s bulk_params = self.dnac_apply['exec'](
1265s family="device_onboarding_pnp",
1265s function="import_devices_in_bulk",
1265s params={"payload": bulk_list},
1265s op_modifies=True,
1265s )
1265s self.log("Response from API 'import_devices_in_bulk' for imported devices: {0}".format(bulk_params), "DEBUG")
1265s if len(bulk_params.get("successList")) > 0:
1265s self.result['msg'] = "{0} device(s) imported successfully".format(
1265s len(bulk_params.get("successList")))
1265s self.log(self.result['msg'], "INFO")
1265s self.result['response'] = bulk_params
1265s self.result['diff'] = self.validated_config
1265s self.result['changed'] = True
1265s return self
1265s elif len(bulk_params.get("failureList")) > 0:
1265s self.msg = "Unable to import below {0} device(s). ".format(
1265s len(bulk_params.get("failureList")))
1265s self.set_operation_result("failed", False, self.msg, "ERROR",
1265s bulk_params).check_return_status()
1265s
1265s self.msg = "Bulk import failed"
1265s self.log(self.msg, "CRITICAL")
1265s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1265s
1265s provisioned_count_params = {
1265s "serial_number": self.want.get("serial_number"),
1265s "state": "Provisioned"
1265s }
1265s
1265s planned_count_params = {
1265s "serial_number": self.want.get("serial_number"),
1265s "state": "Planned"
1265s }
1265s
1265s if not self.have.get("device_found"):
1265s if not self.want['pnp_params']:
1265s self.msg = "Device needs to be added before claiming. Please add device_info"
1265s self.log(self.msg, "ERROR")
1265s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1265s
1265s if not self.want["site_name"]:
1265s self.log("Adding device to pnp database", "INFO")
1265s dev_add_response = self.add_pnp_device(self.want.get('pnp_params')[0])
1265s self.have["deviceInfo"] = dev_add_response.get("deviceInfo")
1265s self.log("Response from API 'add device' for a single device addition: {0}".format(str(dev_add_response)), "DEBUG")
1265s
1265s if self.have["deviceInfo"]:
1265s self.result['msg'] = "Only Device Added Successfully"
1265s self.log(self.result['msg'], "INFO")
1265s self.result['response'] = dev_add_response
1265s self.result['diff'] = self.validated_config
1265s self.result['changed'] = True
1265s else:
1265s self.msg = "Device Addition Failed"
1265s self.log(self.result['msg'], "CRITICAL")
1265s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1265s
1265s return self
1265s
1265s else:
1265s self.log("Adding device to pnp database")
1265s dev_add_response = self.add_pnp_device(self.want.get('pnp_params')[0])
1265s self.get_have().check_return_status()
1265s self.have["deviceInfo"] = dev_add_response.get("deviceInfo")
1265s self.log("Response from API 'add device' for single device addition: {0}".format(str(dev_add_response)), "DEBUG")
1265s claim_params = self.get_claim_params()
1265s claim_params["deviceId"] = dev_add_response.get("id")
1265s
1265s claim_response = self.claim_device_site(claim_params)
1265s self.log("Response from API 'claim a device to a site' for a single claiming: {0}".format(str(claim_response)), "DEBUG")
1265s
1265s if claim_response.get("response") == "Device Claimed" and self.have["deviceInfo"]:
1265s self.result['msg'] = "Device Added and Claimed Successfully"
1265s self.log(self.result['msg'], "INFO")
1265s self.result['response'] = claim_response
1265s self.result['diff'] = self.validated_config
1265s self.result['changed'] = True
1265s
1265s else:
1265s self.msg = "Device Claim Failed"
1265s > self.log(self.result['msg'], "CRITICAL")
1265s E KeyError: 'msg'
1265s
1265s plugins/modules/pnp_workflow_manager.py:985: KeyError
1265s ------------------------------ Captured log call -------------------------------
1265s WARNING logger:dnac.py:294 PnP: get_device_list_pnp: 1219: No device found with serial number: FOC2439LA89
1265s
1265s WARNING logger:dnac.py:294 PnP: get_have: 701: Device with serial number FOC2439LA89 is not found in the inventory
1265s
1265s WARNING logger:dnac.py:294 PnP: get_diff_merged: 965: Adding device to pnp database
1265s
1265s WARNING logger:dnac.py:294 PnP: get_device_list_pnp: 1219: No device found with serial number: FOC2439LA89
1265s
1265s WARNING logger:dnac.py:294 PnP: get_have: 701: Device with serial number FOC2439LA89 is not found in the inventory
1265s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_del_provision_device _
1265s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_provision_workflow_manager_playbook_del_provision_device(self):
1265s """
1265s Test case for add device with full crendentials.
1265s
1265s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="deleted",
1265s config_verify=True,
1265s config=self.playbook_del_provision_device
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_provision_workflow_manager.py:176:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/provision_workflow_manager.py:1809: in main
1265s ccc_provision.get_diff_state_apply[state]().check_return_status()
1265s plugins/modules/provision_workflow_manager.py:1596: in get_diff_deleted
1265s device_id = self.get_device_id()
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def get_device_id(self):
1265s """
1265s Fetches the UUID of the device added in the inventory
1265s
1265s Parameters:
1265s - self: The instance of the class containing the 'config' attribute
1265s to be validated.
1265s Returns:
1265s The method returns the serial number of the device as a string. If it fails, it returns None.
1265s Example:
1265s After creating the validated input, this method retrieves the
1265s UUID of the device.
1265s """
1265s
1265s dev_response = self.dnac_apply['exec'](
1265s family="devices",
1265s function='get_network_device_by_ip',
1265s params={"ip_address": self.validated_config["management_ip_address"]}
1265s )
1265s
1265s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG")
1265s dev_dict = dev_response.get("response")
1265s > device_id = dev_dict.get("id")
1265s E AttributeError: 'list' object has no attribute 'get'
1265s
1265s plugins/modules/provision_workflow_manager.py:490: AttributeError
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_not_verified __
1265s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_not_verified(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_config_network
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=True)
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:477:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:107: in execute_module
1265s result = self.failed()
1265s tests/unit/modules/dnac/dnac_module.py:125: in failed
1265s self.module.main()
1265s plugins/modules/network_settings_workflow_manager.py:4316: in main
1265s ccc_network.get_diff_state_apply[state](config).check_return_status()
1265s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged
1265s self.update_network(network_management).check_return_status()
1265s plugins/modules/network_settings_workflow_manager.py:3741: in update_network
1265s self.check_tasks_response_status(response, "set_dhcp_settings_for_a_site").check_return_status()
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def check_tasks_response_status(self, response, api_name):
1265s """
1265s Get the task response status from taskId
1265s Args:
1265s self: The current object details.
1265s response (dict): API response.
1265s api_name (str): API name.
1265s Returns:
1265s self (object): The current object with updated desired Fabric Transits information.
1265s Description:
1265s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE'
1265s state or till it reaches the maximum timeout.
1265s Log the task details and return self.
1265s """
1265s
1265s if not response:
1265s self.msg = "response is empty"
1265s self.status = "exited"
1265s return self
1265s
1265s if not isinstance(response, dict):
1265s self.msg = "response is not a dictionary"
1265s self.status = "exited"
1265s return self
1265s
1265s task_info = response.get("response")
1265s if task_info.get("errorcode") is not None:
1265s self.msg = response.get("response").get("detail")
1265s self.status = "failed"
1265s return self
1265s
1265s task_id = task_info.get("taskId")
1265s start_time = time.time()
1265s while True:
1265s elapsed_time = time.time() - start_time
1265s if elapsed_time >= self.max_timeout:
1265s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \
1265s .format(self.max_timeout, task_id) + \
1265s "Exiting the loop due to unexpected API '{0}' status.".format(api_name)
1265s self.log(self.msg, "WARNING")
1265s self.status = "failed"
1265s break
1265s
1265s task_details = self.get_tasks_by_id(task_id)
1265s self.log('Getting tasks details from task ID {0}: {1}'
1265s .format(task_id, task_details), "DEBUG")
1265s
1265s > task_status = task_details.get("status")
1265s E AttributeError: 'list' object has no attribute 'get'
1265s
1265s plugins/module_utils/dnac.py:1734: AttributeError
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_force_provision_device _
1265s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_provision_workflow_manager_playbook_force_provision_device(self):
1265s """
1265s Test case for add device with full crendentials.
1265s
1265s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="merged",
1265s config=self.playbook_force_provision_device
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_provision_workflow_manager.py:248:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/provision_workflow_manager.py:1809: in main
1265s ccc_provision.get_diff_state_apply[state]().check_return_status()
1265s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged
1265s self.provision_wired_device(to_provisioning, to_force_provisioning)
1265s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device
1265s device_id = self.get_device_id()
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def get_device_id(self):
1265s """
1265s Fetches the UUID of the device added in the inventory
1265s
1265s Parameters:
1265s - self: The instance of the class containing the 'config' attribute
1265s to be validated.
1265s Returns:
1265s The method returns the serial number of the device as a string. If it fails, it returns None.
1265s Example:
1265s After creating the validated input, this method retrieves the
1265s UUID of the device.
1265s """
1265s
1265s dev_response = self.dnac_apply['exec'](
1265s family="devices",
1265s function='get_network_device_by_ip',
1265s params={"ip_address": self.validated_config["management_ip_address"]}
1265s )
1265s
1265s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG")
1265s dev_dict = dev_response.get("response")
1265s > device_id = dev_dict.get("id")
1265s E AttributeError: 'list' object has no attribute 'get'
1265s
1265s plugins/modules/provision_workflow_manager.py:490: AttributeError
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_telemetry _
1265s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_exception_update_telemetry(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_config_network
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Exception occurred while updating telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1265s )
1265s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating teleme[56 chars]a7: '
1265s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1265s E + Exception occurred while updating telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:679: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'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}
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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: .
1265s _________ TestNetworkCompliance.test_sync_device_config_iplist_site_nr _________
1265s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_sync_device_config_iplist_site_nr(self):
1265s
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_log_level="DEBUG",
1265s dnac_log_append=False,
1265s state="merged",
1265s config=self.test_data.get("playbook_config_sync_device_config_iplist_site_nr")
1265s )
1265s )
1265s > result = self.execute_module(changed=False, failed=False)
1265s
1265s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:518:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1265s ccc_network_compliance.get_want(config).check_return_status()
1265s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1265s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1265s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1265s self.fail_and_exit(self.msg)
1265s plugins/module_utils/dnac.py:1787: in fail_and_exit
1265s self.check_return_status()
1265s plugins/module_utils/dnac.py:307: in check_return_status
1265s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def fail_json(*args, **kwargs):
1265s kwargs["failed"] = True
1265s > raise AnsibleFailJson(kwargs)
1265s 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}
1265s
1265s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1265s ----------------------------- Captured stdout call -----------------------------
1265s Inside load_fixtures
1265s Mock for DNACSDK._exec:
1265s Inside load_fixtures
1265s ------------------------------ Captured log call -------------------------------
1265s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1265s
1265s 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}
1265s
1265s 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}]
1265s
1265s 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}]
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1265s
1265s 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}
1265s
1265s 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
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global'
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1265s
1265s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1265s
1265s 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
1265s
1265s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1265s
1265s 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}
1265s
1265s 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
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1265s
1265s 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']
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1265s
1265s 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']}
1265s
1265s 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'}]}
1265s
1265s 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
1265s
1265s 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.
1265s
1265s 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'}]}
1265s
1265s 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
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0
1265s
1265s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'.
1265s
1265s 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'}.
1265s
1265s 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'}]}
1265s
1265s 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'}]}
1265s
1265s 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'.
1265s
1265s 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'.
1265s
1265s 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'.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'.
1265s
1265s 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'}.
1265s
1265s 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'}
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1265s
1265s 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'.
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1265s
1265s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1265s
1265s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b
1265s
1265s 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).
1265s
1265s 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).
1265s _ TestDnacRmaIntent.test_rma_workflow_manager_mark_device_for_replacement_exception _
1265s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_rma_workflow_manager_mark_device_for_replacement_exception(self):
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="replaced",
1265s config=self.playbook_config_valid
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Exception occurred while marking device for replacement: "
1265s )
1265s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'Exception occurred while marking device for replacement: '
1265s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement.
1265s E + Exception occurred while marking device for replacement:
1265s
1265s tests/unit/modules/dnac/test_rma_workflow_manager.py:256: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True}
1265s ------------------------------ Captured log call -------------------------------
1265s 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.
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_reserve_pool_creation _
1265s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_reserve_pool_creation(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_config_reserve_pool
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1075:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/network_settings_workflow_manager.py:4301: in main
1265s ccc_network.check_return_status()
1265s plugins/module_utils/dnac.py:307: in check_return_status
1265s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def fail_json(*args, **kwargs):
1265s kwargs["failed"] = True
1265s > raise AnsibleFailJson(kwargs)
1265s 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}
1265s
1265s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1265s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_provision_device _
1265s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_provision_workflow_manager_playbook_provision_device(self):
1265s """
1265s Test case for add device with full crendentials.
1265s
1265s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="merged",
1265s config=self.playbook_provision_device
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_provision_workflow_manager.py:199:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/provision_workflow_manager.py:1809: in main
1265s ccc_provision.get_diff_state_apply[state]().check_return_status()
1265s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged
1265s self.provision_wired_device(to_provisioning, to_force_provisioning)
1265s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device
1265s device_id = self.get_device_id()
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def get_device_id(self):
1265s """
1265s Fetches the UUID of the device added in the inventory
1265s
1265s Parameters:
1265s - self: The instance of the class containing the 'config' attribute
1265s to be validated.
1265s Returns:
1265s The method returns the serial number of the device as a string. If it fails, it returns None.
1265s Example:
1265s After creating the validated input, this method retrieves the
1265s UUID of the device.
1265s """
1265s
1265s dev_response = self.dnac_apply['exec'](
1265s family="devices",
1265s function='get_network_device_by_ip',
1265s params={"ip_address": self.validated_config["management_ip_address"]}
1265s )
1265s
1265s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG")
1265s dev_dict = dev_response.get("response")
1265s > device_id = dev_dict.get("id")
1265s E AttributeError: 'list' object has no attribute 'get'
1265s
1265s plugins/modules/provision_workflow_manager.py:490: AttributeError
1265s _ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_failure_unmark_failure _
1265s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_rma_workflow_manager_deploy_workflow_failure_unmark_failure(self):
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="replaced",
1265s config=self.playbook_config_valid
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Error while unmarking device for replacement: Task failed. | Unmarking result: Error while unmarking device for replacement: Task failed."
1265s )
1265s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'Error while unmarking device for replacem[92 chars]led.'
1265s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement.
1265s E + Error while unmarking device for replacement: Task failed. | Unmarking result: Error while unmarking device for replacement: Task failed.
1265s
1265s tests/unit/modules/dnac/test_rma_workflow_manager.py:310: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True}
1265s ------------------------------ Captured log call -------------------------------
1265s 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.
1265s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_wireless_provision _
1265s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_provision_workflow_manager_playbook_wireless_provision(self):
1265s """
1265s Test case for add device with full crendentials.
1265s
1265s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="merged",
1265s > config=self.playbook_wireless_provisionZ
1265s )
1265s )
1265s E AttributeError: 'TestDnacProvisionWorkflow' object has no attribute 'playbook_wireless_provisionZ'. Did you mean: 'playbook_wireless_provision'?
1265s
1265s tests/unit/modules/dnac/test_provision_workflow_manager.py:268: AttributeError
1265s _______ TestDnacRmaIntent.test_rma_workflow_manager_mark_device_failure ________
1265s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_rma_workflow_manager_mark_device_failure(self):
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="replaced",
1265s config=self.playbook_config_valid
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "An error occurred during the operation"
1265s )
1265s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'An error occurred during the operation'
1265s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement.
1265s E + An error occurred during the operation
1265s
1265s tests/unit/modules/dnac/test_rma_workflow_manager.py:274: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True}
1265s ------------------------------ Captured log call -------------------------------
1265s 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.
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_reserve_pool_deletion _
1265s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_reserve_pool_deletion(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="deleted",
1265s config_verify=True,
1265s config=self.playbook_config_reserve_pool_deletion
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1050:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/network_settings_workflow_manager.py:4301: in main
1265s ccc_network.check_return_status()
1265s plugins/module_utils/dnac.py:307: in check_return_status
1265s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def fail_json(*args, **kwargs):
1265s kwargs["failed"] = True
1265s > raise AnsibleFailJson(kwargs)
1265s 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}
1265s
1265s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1265s ___ TestDnacRmaIntent.test_rma_workflow_manager_replacement_device_not_found ___
1265s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_rma_workflow_manager_replacement_device_not_found(self):
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="replaced",
1265s config=self.playbook_config_device_not_found
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Replacement device '204.1.2.19' not found in Cisco Catalyst Center"
1265s )
1265s E AssertionError: "Replacement device '204.1.2.19' not found in PnP" != "Replacement device '204.1.2.19' not found in Cisco Catalyst Center"
1265s E - Replacement device '204.1.2.19' not found in PnP
1265s E ? ^ ^
1265s E + Replacement device '204.1.2.19' not found in Cisco Catalyst Center
1265s E ? ^^^^^^^^^^^^^^^^^ ^^^
1265s
1265s tests/unit/modules/dnac/test_rma_workflow_manager.py:220: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'msg': "Replacement device '204.1.2.19' not found in PnP", 'response': [], 'failed': True}
1265s ------------------------------ Captured log call -------------------------------
1265s ERROR logger:dnac.py:294 DeviceReplacement: device_exists: 802: No valid response received from Cisco Catalyst Center
1265s
1265s ERROR logger:dnac.py:294 DeviceReplacement: pnp_device_exists: 713: Invalid identifier type provided
1265s
1265s ERROR logger:dnac.py:294 DeviceReplacement: get_have: 586: Replacement device '204.1.2.19' not found in PnP
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_update _
1265s [gw2] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_update(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_update_network
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:502:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/network_settings_workflow_manager.py:4316: in main
1265s ccc_network.get_diff_state_apply[state](config).check_return_status()
1265s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged
1265s self.update_network(network_management).check_return_status()
1265s plugins/modules/network_settings_workflow_manager.py:3741: in update_network
1265s self.check_tasks_response_status(response, "set_dhcp_settings_for_a_site").check_return_status()
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def check_tasks_response_status(self, response, api_name):
1265s """
1265s Get the task response status from taskId
1265s Args:
1265s self: The current object details.
1265s response (dict): API response.
1265s api_name (str): API name.
1265s Returns:
1265s self (object): The current object with updated desired Fabric Transits information.
1265s Description:
1265s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE'
1265s state or till it reaches the maximum timeout.
1265s Log the task details and return self.
1265s """
1265s
1265s if not response:
1265s self.msg = "response is empty"
1265s self.status = "exited"
1265s return self
1265s
1265s if not isinstance(response, dict):
1265s self.msg = "response is not a dictionary"
1265s self.status = "exited"
1265s return self
1265s
1265s task_info = response.get("response")
1265s if task_info.get("errorcode") is not None:
1265s self.msg = response.get("response").get("detail")
1265s self.status = "failed"
1265s return self
1265s
1265s task_id = task_info.get("taskId")
1265s start_time = time.time()
1265s while True:
1265s elapsed_time = time.time() - start_time
1265s if elapsed_time >= self.max_timeout:
1265s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \
1265s .format(self.max_timeout, task_id) + \
1265s "Exiting the loop due to unexpected API '{0}' status.".format(api_name)
1265s self.log(self.msg, "WARNING")
1265s self.status = "failed"
1265s break
1265s
1265s task_details = self.get_tasks_by_id(task_id)
1265s self.log('Getting tasks details from task ID {0}: {1}'
1265s .format(task_id, task_details), "DEBUG")
1265s
1265s > task_status = task_details.get("status")
1265s E AttributeError: 'list' object has no attribute 'get'
1265s
1265s plugins/module_utils/dnac.py:1734: AttributeError
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_timezone _
1265s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Network_settings_workflow_manager_network_exception_update_timezone(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s dnac_version="2.3.7.6",
1265s state="merged",
1265s config_verify=True,
1265s config=self.playbook_update_network
1265s )
1265s )
1265s result = self.execute_module(changed=False, failed=True)
1265s print(result)
1265s > self.assertEqual(
1265s result.get('msg'),
1265s "Exception occurred while updating time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1265s )
1265s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating time z[56 chars]a7: '
1265s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1265s E + Exception occurred while updating time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1265s
1265s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:579: AssertionError
1265s ----------------------------- Captured stdout call -----------------------------
1265s {'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}
1265s ------------------------------ Captured log call -------------------------------
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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)
1265s
1265s 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: .
1265s _ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_failure_unmark_success _
1265s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_rma_workflow_manager_deploy_workflow_failure_unmark_success(self):
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="replaced",
1265s config=self.playbook_config_valid
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_rma_workflow_manager.py:326:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/rma_workflow_manager.py:1434: in main
1265s ccc_device_replacement.rma_device_replacement_pre_check().check_return_status()
1265s plugins/module_utils/dnac.py:307: in check_return_status
1265s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def fail_json(*args, **kwargs):
1265s kwargs["failed"] = True
1265s > raise AnsibleFailJson(kwargs)
1265s 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}
1265s
1265s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1265s ------------------------------ Captured log call -------------------------------
1265s 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.
1265s _______ TestDnacSiteWorkflow.test_Site_workflow_manager_create_bulk_site _______
1265s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Site_workflow_manager_create_bulk_site(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_version="2.3.7.6",
1265s dnac_log=True,
1265s state="merged",
1265s config=self.upload_floor_map_playbook
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_site_workflow_manager.py:274:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/site_workflow_manager.py:2520: in main
1265s ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status()
1265s plugins/module_utils/dnac.py:307: in check_return_status
1265s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def fail_json(*args, **kwargs):
1265s kwargs["failed"] = True
1265s > raise AnsibleFailJson(kwargs)
1265s 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}
1265s
1265s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1265s ------------------------------ Captured log call -------------------------------
1265s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1188: Missing 'name' field in entry.
1265s
1265s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1196: Missing 'parent_name' field in entry.
1265s
1265s 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'
1265s ____ TestDnacSiteWorkflow.test_Site_workflow_manager_update_not_needed_site ____
1265s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Site_workflow_manager_update_not_needed_site(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_version="2.3.5.3",
1265s dnac_log=True,
1265s state="merged",
1265s config=self.playbook_config_update_site
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_site_workflow_manager.py:585:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def main():
1265s """ main entry point for module execution
1265s """
1265s element_spec = {'dnac_host': {'required': True, 'type': 'str'},
1265s 'dnac_port': {'type': 'str', 'default': '443'},
1265s 'dnac_username': {'type': 'str', 'default': 'admin', 'aliases': ['user']},
1265s 'dnac_password': {'type': 'str', 'no_log': True},
1265s 'dnac_verify': {'type': 'bool', 'default': 'True'},
1265s 'dnac_version': {'type': 'str', 'default': '2.2.3.3'},
1265s 'dnac_debug': {'type': 'bool', 'default': False},
1265s 'dnac_log_level': {'type': 'str', 'default': 'WARNING'},
1265s "dnac_log_file_path": {"type": 'str', "default": 'dnac.log'},
1265s "dnac_log_append": {"type": 'bool', "default": True},
1265s 'dnac_log': {'type': 'bool', 'default': False},
1265s 'validate_response_schema': {'type': 'bool', 'default': True},
1265s 'config_verify': {'type': 'bool', "default": False},
1265s 'dnac_api_task_timeout': {'type': 'int', "default": 1200},
1265s 'dnac_task_poll_interval': {'type': 'int', "default": 2},
1265s 'config': {'required': True, 'type': 'list', 'elements': 'dict'},
1265s 'state': {'default': 'merged', 'choices': ['merged', 'deleted']}
1265s }
1265s
1265s module = AnsibleModule(argument_spec=element_spec,
1265s supports_check_mode=False)
1265s
1265s ccc_site = Site(module)
1265s state = ccc_site.params.get("state")
1265s
1265s if ccc_site.compare_dnac_versions(ccc_site.get_ccc_version(), "2.3.5.3") < 0:
1265s ccc_site.msg = (
1265s "The specified version '{0}' does not support the site workflow feature. Supported versions start from '2.3.5.3' onwards. "
1265s "Version '2.3.5.3' introduces APIs for creating, updating, and deleting sites. "
1265s "Version '2.3.7.6' expands support to include APIs for bulk site creating, updating, and deleting sites.".format(
1265s ccc_site.get_ccc_version())
1265s )
1265s
1265s ccc_site.status = "failed"
1265s ccc_site.check_return_status()
1265s
1265s if state not in ccc_site.supported_states:
1265s ccc_site.status = "invalid"
1265s ccc_site.msg = "State {0} is invalid".format(state)
1265s ccc_site.check_return_status()
1265s
1265s ccc_site.validate_input().check_return_status()
1265s config_verify = ccc_site.params.get("config_verify")
1265s ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status()
1265s
1265s if ccc_site.compare_dnac_versions(ccc_site.get_ccc_version(), "2.3.7.6") >= 0:
1265s ccc_site.reset_values()
1265s ccc_site.get_want(ccc_site.validated_config).check_return_status()
1265s ccc_site.get_have(ccc_site.validated_config).check_return_status()
1265s
1265s ccc_site.get_diff_state_apply[state](ccc_site.validated_config).check_return_status()
1265s
1265s if config_verify:
1265s ccc_site.update_site_messages().check_return_status()
1265s
1265s else:
1265s for config in ccc_site.validated_config:
1265s ccc_site.reset_values()
1265s
1265s ccc_site.get_want(config).check_return_status()
1265s > ccc_site.get_have(config).check_return_status()
1265s E AttributeError: 'NoneType' object has no attribute 'check_return_status'
1265s
1265s plugins/modules/site_workflow_manager.py:2537: AttributeError
1265s ------------------------------ Captured log call -------------------------------
1265s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: An unexpected error occurred while retrieving site details: 'NoneType' object is not subscriptable
1265s _____ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_success ______
1265s [gw6] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_rma_workflow_manager_deploy_workflow_success(self):
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s state="replaced",
1265s config=self.playbook_config_valid
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_rma_workflow_manager.py:290:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/rma_workflow_manager.py:1434: in main
1265s ccc_device_replacement.rma_device_replacement_pre_check().check_return_status()
1265s plugins/module_utils/dnac.py:307: in check_return_status
1265s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def fail_json(*args, **kwargs):
1265s kwargs["failed"] = True
1265s > raise AnsibleFailJson(kwargs)
1265s 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}
1265s
1265s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1265s ------------------------------ Captured log call -------------------------------
1265s 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.
1265s ______ TestDnacSiteWorkflow.test_Site_workflow_manager_delete_a_new_site _______
1265s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Site_workflow_manager_delete_a_new_site(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_version="2.3.7.6",
1265s dnac_log=True,
1265s state="deleted",
1265s config=self.delete_config_playbook
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_site_workflow_manager.py:489:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/site_workflow_manager.py:2527: in main
1265s ccc_site.get_diff_state_apply[state](ccc_site.validated_config).check_return_status()
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def get_diff_deleted(self, config):
1265s """
1265s Call Cisco Catalyst Center API to delete sites with provided inputs.
1265s Parameters:
1265s - self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1265s - config (dict): Dictionary containing information for site deletion.
1265s Returns:
1265s - self: The result dictionary includes the following keys:
1265s - 'changed' (bool): Indicates whether changes were made
1265s during the deletion process.
1265s - 'response' (dict): Contains details about the execution
1265s and the deleted site ID.
1265s - 'msg' (str): A message indicating the status of the deletion operation.
1265s Description:
1265s This method initiates the deletion of a site by calling the 'delete_site' function in the 'sites' family
1265s of the Cisco Catalyst Center API. It uses the site ID obtained from the 'have' attribute.
1265s """
1265s
1265s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.5.3") <= 0:
1265s site_exists = self.have.get("site_exists")
1265s site_name_hierarchy = self.want.get("site_name_hierarchy")
1265s site_id = self.have.get("site_id")
1265s if not site_exists:
1265s if site_name_hierarchy not in self.deleted_site_list:
1265s self.site_absent_list.append(site_name_hierarchy)
1265s self.log(
1265s "Failed to delete site '{0}'. Reason: The site was not found in the Cisco Catalyst Center.".format(site_name_hierarchy),
1265s "DEBUG"
1265s )
1265s return self
1265s api_response, response = self.get_device_ids_from_site(site_name_hierarchy, site_id)
1265s self.log(
1265s "Received API response from 'get_membership': {0}".format(str(api_response)), "DEBUG")
1265s
1265s site_response = api_response.get("site", {}).get("response", [])
1265s self.log(
1265s "Site '{0}' response along with its child sites: {1}".format(site_name_hierarchy, str(site_response)), "DEBUG")
1265s
1265s if not site_response:
1265s self.delete_single_site(site_id, site_name_hierarchy)
1265s return self
1265s
1265s sorted_site_resp = sorted(
1265s site_response, key=lambda x: x.get("groupHierarchy"), reverse=True)
1265s
1265s for item in sorted_site_resp:
1265s self.delete_single_site(item['id'], item['groupNameHierarchy'])
1265s
1265s self.delete_single_site(site_id, site_name_hierarchy)
1265s self.log(
1265s "The site '{0}' and its child sites have been deleted successfully".format(site_name_hierarchy), "INFO")
1265s
1265s elif self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0:
1265s final_deletion_list = []
1265s for each_type in ("floor", "building", "area"):
1265s if self.handle_config[each_type]:
1265s self.log("Starting bulk site creation for type: {}".format(each_type), "DEBUG")
1265s for config in self.handle_config[each_type]:
1265s site_exists = config.get("site_exists")
1265s if not site_exists:
1265s self.log("Unable to delete site {0} as it's not found in Cisco Catalyst Center".
1265s format(config.get("site_name_hierarchy")), "INFO")
1265s self.site_absent_list.append(str(each_type) + ": " + str(config.get("site_name_hierarchy")))
1265s else:
1265s final_deletion_list.append(config)
1265s self.log("Deletion list re-arranged order: {0}.".format(final_deletion_list), "INFO")
1265s
1265s if len(final_deletion_list) > 0:
1265s for config in final_deletion_list:
1265s site_name_hierarchy = config.get("site_name_hierarchy")
1265s site_params = config.get("site_params")
1265s site_params["site_id"] = config.get("site_id")
1265s site_type = site_params.get("type")
1265s site_id = site_params["site_id"]
1265s self.log("Site ID from 'have' for retrieval: {0}".format(site_id), "DEBUG")
1265s self.log("Site TYPE from 'have' for retrieval: {0}".format(site_type), "DEBUG")
1265s self.log("Site PARAMS from 'have' for retrieval: {0}".format(site_params), "DEBUG")
1265s self.log("Site NAME from 'want' for retrieval: {0}".format(site_name_hierarchy), "DEBUG")
1265s
1265s self.log("Initiating deletion for site '{0}' with site ID: {1} of type: {2}".format(
1265s site_name_hierarchy, site_id, site_type), "DEBUG")
1265s
1265s response = None
1265s if site_type == "floor":
1265s response = self.delete_floor(site_name_hierarchy, site_id)
1265s elif site_type == "area":
1265s response = self.delete_area(site_name_hierarchy, site_id)
1265s self.log("Response for deleting area: {0}".format(str(response)), "DEBUG")
1265s elif site_type == "building":
1265s response = self.delete_building(site_name_hierarchy, site_id)
1265s
1265s if isinstance(response, dict):
1265s > task_id = response.get("response", {}).get("taskId")
1265s E AttributeError: 'list' object has no attribute 'get'
1265s
1265s plugins/modules/site_workflow_manager.py:2136: AttributeError
1265s _______ TestDnacSiteWorkflow.test_Site_workflow_manager_upload_floor_map _______
1265s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Site_workflow_manager_upload_floor_map(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_version="2.3.7.6",
1265s dnac_log=True,
1265s state="merged",
1265s config=self.upload_floor_map_playbook
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_site_workflow_manager.py:320:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/site_workflow_manager.py:2520: in main
1265s ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status()
1265s plugins/module_utils/dnac.py:307: in check_return_status
1265s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def fail_json(*args, **kwargs):
1265s kwargs["failed"] = True
1265s > raise AnsibleFailJson(kwargs)
1265s 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}
1265s
1265s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1265s ------------------------------ Captured log call -------------------------------
1265s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1188: Missing 'name' field in entry.
1265s
1265s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1196: Missing 'parent_name' field in entry.
1265s
1265s 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'
1265s _________ TestDnacSiteWorkflow.test_Site_workflow_manager_create_site __________
1265s [gw5] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Site_workflow_manager_create_site(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_version="2.3.5.3",
1265s dnac_log=True,
1265s state="merged",
1265s config=self.playbook_config_site
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_site_workflow_manager.py:297:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/site_workflow_manager.py:2539: in main
1265s ccc_site.get_diff_state_apply[state](config).check_return_status()
1265s plugins/module_utils/dnac.py:307: in check_return_status
1265s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def fail_json(*args, **kwargs):
1265s kwargs["failed"] = True
1265s > raise AnsibleFailJson(kwargs)
1265s 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}
1265s
1265s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1265s ------------------------------ Captured log call -------------------------------
1265s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites':
1265s
1265s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888
1265s
1265s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites':
1265s
1265s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: Parent name 'Global' does not exist in the Cisco Catalyst Center.
1265s
1265s 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}
1265s
1265s WARNING logger:dnac.py:294 Site: get_site_v1: 612: Empty response received for site: Global/japan8888
1265s
1265s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888
1265s __ TestswimWorkflowManager.test_swim_workflow_manager_playbook_activate_image __
1265s [gw2] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_swim_workflow_manager_playbook_activate_image(self):
1265s """
1265s Test case for swim workflow manager import image url
1265s This test case checks the behavior of activativating the image in the specified Cisco Catalyst Center.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_version='2.3.5.3',
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_log=True,
1265s config_verify=True,
1265s state="merged",
1265s config=self.playbook_activate_image
1265s )
1265s )
1265s > result = self.execute_module(changed=True, failed=False)
1265s
1265s tests/unit/modules/dnac/test_swim_workflow_manager.py:281:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s plugins/modules/swim_workflow_manager.py:2415: in main
1265s ccc_swims.get_diff_state_apply[state](config).check_return_status()
1265s plugins/modules/swim_workflow_manager.py:2113: in get_diff_merged
1265s self.get_diff_activation().check_return_status()
1265s plugins/modules/swim_workflow_manager.py:1964: in get_diff_activation
1265s device_uuid_list = self.get_device_uuids(site_name, device_family, device_role, device_series_name)
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def get_device_uuids(self, site_name, device_family, device_role, device_series_name=None):
1265s """
1265s Retrieve a list of device UUIDs based on the specified criteria.
1265s Parameters:
1265s self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1265s site_name (str): The name of the site for which device UUIDs are requested.
1265s device_family (str): The family/type of devices to filter on.
1265s device_role (str): The role of devices to filter on. If None, 'ALL' roles are considered.
1265s device_series_name(str): Specifies the name of the device series.
1265s Returns:
1265s list: A list of device UUIDs that match the specified criteria.
1265s Description:
1265s The function checks the reachability status and role of devices in the given site.
1265s Only devices with "Reachable" status are considered, and filtering is based on the specified
1265s device family and role (if provided).
1265s """
1265s
1265s device_uuid_list = []
1265s device_id_list, site_response_list = [], []
1265s if not site_name:
1265s site_name = "Global"
1265s self.log("Site name not specified; defaulting to 'Global' to fetch all devices under this category", "INFO")
1265s
1265s (site_exists, site_id) = self.site_exists(site_name)
1265s if not site_exists:
1265s self.log("""Site '{0}' is not found in the Cisco Catalyst Center, hence unable to fetch associated
1265s devices.""".format(site_name), "INFO")
1265s return device_uuid_list
1265s
1265s if device_series_name:
1265s if device_series_name.startswith(".*") and device_series_name.endswith(".*"):
1265s self.log("Device series name '{0}' is already in the regex format".format(device_series_name), "INFO")
1265s else:
1265s device_series_name = ".*" + device_series_name + ".*"
1265s
1265s if self.dnac_version <= self.version_2_3_5_3:
1265s site_params = {
1265s "site_id": site_id,
1265s "device_family": device_family
1265s }
1265s
1265s try:
1265s response = self.dnac._exec(
1265s family="sites",
1265s function='get_membership',
1265s op_modifies=True,
1265s params=site_params,
1265s )
1265s
1265s except Exception as e:
1265s self.log("Unable to fetch the device(s) associated to the site '{0}' due to '{1}'".format(site_name, str(e)), "WARNING")
1265s return device_uuid_list
1265s
1265s self.log("Received API response from 'get_membership': {0}".format(str(response)), "DEBUG")
1265s response = response.get("device")
1265s
1265s > for item in response:
1265s E TypeError: 'NoneType' object is not iterable
1265s
1265s plugins/modules/swim_workflow_manager.py:935: TypeError
1265s ------------------------------ Captured log call -------------------------------
1265s WARNING logger:dnac.py:294 Swim: get_diff_import: 1350: Error: Details required for importing SWIM image. Please provide the necessary information.
1265s _____ TestDnacSiteWorkflow.test_Site_workflow_manager_invalid_delete_site ______
1265s [gw7] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Site_workflow_manager_invalid_delete_site(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_version="2.3.5.3",
1265s dnac_log=True,
1265s state="deleted",
1265s config=self.delete_playbook_config
1265s )
1265s )
1265s self.maxDiff = None
1265s > result = self.execute_module(changed=False, failed=True)
1265s
1265s tests/unit/modules/dnac/test_site_workflow_manager.py:536:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:107: in execute_module
1265s result = self.failed()
1265s tests/unit/modules/dnac/dnac_module.py:125: in failed
1265s self.module.main()
1265s plugins/modules/site_workflow_manager.py:2542: in main
1265s module.exit_json(**ccc_site.result)
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def exit_json(*args, **kwargs):
1265s if "changed" not in kwargs:
1265s kwargs["changed"] = False
1265s > raise AnsibleExitJson(kwargs)
1265s 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"}
1265s
1265s ../../ansible/netcommon/tests/unit/modules/utils.py:35: AnsibleExitJson
1265s ------------------------------ Captured log call -------------------------------
1265s 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'.
1265s
1265s 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'.
1265s
1265s 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'.
1265s ____ TestDnacSiteWorkflow.test_Site_workflow_manager_invalid_delete_config _____
1265s [gw3] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s self =
1265s
1265s def test_Site_workflow_manager_invalid_delete_config(self):
1265s """
1265s Test case for site workflow manager when creating a site.
1265s
1265s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1265s """
1265s set_module_args(
1265s dict(
1265s dnac_host="1.1.1.1",
1265s dnac_username="dummy",
1265s dnac_password="dummy",
1265s dnac_version="2.3.7.6",
1265s dnac_log=True,
1265s state="merged",
1265s config=self.playbook_config_empty
1265s )
1265s )
1265s > result = self.execute_module(changed=False, failed=False)
1265s
1265s tests/unit/modules/dnac/test_site_workflow_manager.py:391:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1265s result = self.changed(changed)
1265s tests/unit/modules/dnac/dnac_module.py:133: in changed
1265s self.module.main()
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s def main():
1265s """ main entry point for module execution
1265s """
1265s element_spec = {'dnac_host': {'required': True, 'type': 'str'},
1265s 'dnac_port': {'type': 'str', 'default': '443'},
1265s 'dnac_username': {'type': 'str', 'default': 'admin', 'aliases': ['user']},
1265s 'dnac_password': {'type': 'str', 'no_log': True},
1265s 'dnac_verify': {'type': 'bool', 'default': 'True'},
1265s 'dnac_version': {'type': 'str', 'default': '2.2.3.3'},
1265s 'dnac_debug': {'type': 'bool', 'default': False},
1265s 'dnac_log_level': {'type': 'str', 'default': 'WARNING'},
1265s "dnac_log_file_path": {"type": 'str', "default": 'dnac.log'},
1265s "dnac_log_append": {"type": 'bool', "default": True},
1265s 'dnac_log': {'type': 'bool', 'default': False},
1265s 'validate_response_schema': {'type': 'bool', 'default': True},
1265s 'config_verify': {'type': 'bool', "default": False},
1265s 'dnac_api_task_timeout': {'type': 'int', "default": 1200},
1265s 'dnac_task_poll_interval': {'type': 'int', "default": 2},
1265s 'config': {'required': True, 'type': 'list', 'elements': 'dict'},
1265s 'state': {'default': 'merged', 'choices': ['merged', 'deleted']}
1265s }
1265s
1265s module = AnsibleModule(argument_spec=element_spec,
1265s supports_check_mode=False)
1265s
1265s ccc_site = Site(module)
1265s state = ccc_site.params.get("state")
1265s
1265s if ccc_site.compare_dnac_versions(ccc_site.get_ccc_version(), "2.3.5.3") < 0:
1265s ccc_site.msg = (
1265s "The specified version '{0}' does not support the site workflow feature. Supported versions start from '2.3.5.3' onwards. "
1265s "Version '2.3.5.3' introduces APIs for creating, updating, and deleting sites. "
1265s "Version '2.3.7.6' expands support to include APIs for bulk site creating, updating, and deleting sites.".format(
1265s ccc_site.get_ccc_version())
1265s )
1265s
1265s ccc_site.status = "failed"
1265s ccc_site.check_return_status()
1265s
1265s if state not in ccc_site.supported_states:
1265s ccc_site.status = "invalid"
1265s ccc_site.msg = "State {0} is invalid".format(state)
1265s ccc_site.check_return_status()
1265s
1265s ccc_site.validate_input().check_return_status()
1265s config_verify = ccc_site.params.get("config_verify")
1265s > ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status()
1265s E AttributeError: 'list' object has no attribute 'check_return_status'
1265s
1265s plugins/modules/site_workflow_manager.py:2520: AttributeError
1265s ------------------------------ Captured log call -------------------------------
1265s ERROR logger:dnac.py:294 Site: validate_input: 493: Error: Configuration is not available in the playbook for validation
1265s
1265s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1172: Config data is missing.
1265s _________ TestDnacSiteWorkflow.test_Site_workflow_manager_update_site __________
1265s [gw4] linux -- Python 3.13.3 /usr/bin/python3
1265s
1265s def get_diff_merged(self, config):
1265s """
1265s Update/Create site information in Cisco Catalyst Center with fields
1265s provided in the playbook.
1265s Parameters:
1265s self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1265s config (dict): A dictionary containing configuration information.
1265s Returns:
1265s self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1265s Description:
1265s This method determines whether to update or create a site in Cisco Catalyst Center based on the provided
1265s configuration information. If the specified site exists, the method checks if it requires an update
1265s by calling the 'site_requires_update' method. If an update is required, it calls the 'update_site'
1265s function from the 'sites' family of the Cisco Catalyst Center API. If the site does not require an update,
1265s the method exits, indicating that the site is up to date.
1265s """
1265s site_updated = False
1265s site_created = False
1265s
1265s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0:
1265s self.handle_config['area'] = []
1265s self.handle_config['building'] = []
1265s self.handle_config['floor'] = []
1265s try:
1265s create_site = copy.deepcopy(self.handle_config["create_site"])
1265s if len(create_site) > 0:
1265s self.log("Starting site creation process.", "DEBUG")
1265s for each_config in create_site:
1265s payload_data = self.change_payload_data(each_config.get("want"))
1265s if payload_data:
1265s payload_data[self.keymap["parent_name_hierarchy"]] =\
1265s payload_data.get(self.keymap["parent_name"])
1265s del payload_data[self.keymap["parent_name"]]
1265s self.log("Payload data prepared for site creation: {}".format(payload_data), "DEBUG")
1265s
1265s if payload_data.get("type") == "area":
1265s self.handle_config["area"].append(payload_data)
1265s self.log("Added to area: {}".format(payload_data), "DEBUG")
1265s elif payload_data.get("type") == "building":
1265s self.handle_config["building"].append(payload_data)
1265s self.log("Added to building: {}".format(payload_data), "DEBUG")
1265s elif payload_data.get("type") == "floor":
1265s self.handle_config["floor"].append(payload_data)
1265s self.log("Added to floor: {}".format(payload_data), "DEBUG")
1265s for each_type in ("area", "building", "floor"):
1265s if self.handle_config[each_type]:
1265s self.log("Processing configurations for '{0}'.".format(each_type), "DEBUG")
1265s for create_config in self.handle_config[each_type]:
1265s self.log("Handling configuration: {0}".format(create_config), "DEBUG")
1265s parent_name = create_config.get(self.keymap.get("parent_name_hierarchy"))
1265s if not parent_name:
1265s self.msg = "No parent name found in configuration for '{0}'.".format(each_type)
1265s self.log(self.msg, "DEBUG")
1265s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1265s self.log("Checking if parent site '{0}' exists in the hierarchy.".format(parent_name), "DEBUG")
1265s
1265s site_exists = self.is_site_exist(parent_name)
1265s if not site_exists:
1265s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name)
1265s self.log(self.msg, "DEBUG")
1265s self.site_absent_list.append(str(parent_name) + " does not exist ")
1265s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1265s
1265s response = self.creating_bulk_site(self.handle_config[each_type])
1265s self.log("Response from creating_bulk_site for {}: {}".format(each_type, response), "DEBUG")
1265s
1265s if response and isinstance(response, dict) and "response" in response:
1265s task_id = response["response"].get("taskId")
1265s if task_id:
1265s self.log("Task Id for the 'site_creation' task is {}".format(task_id), "INFO")
1265s
1265s task_name = "create_sites"
1265s success_msg = "Site created successfully."
1265s self.get_task_status_from_tasks_by_id(task_id, task_name, success_msg)
1265s
1265s for site in self.handle_config[each_type]:
1265s if "name" in site:
1265s self.created_site_list.append(str(each_type) + ": " + str(site.get("name")))
1265s
1265s self.log("Site '{}' created successfully".format(self.created_site_list), "INFO")
1265s
1265s for site in self.handle_config[each_type]:
1265s if site.get("type") == "floor":
1265s floor_name = site.get("name")
1265s self.log("Floor '{}' has been created successfully.".format(floor_name), "INFO")
1265s
1265s upload_path = site.get("upload_floor_image_path", None)
1265s if upload_path:
1265s self.log("Upload path found for floor '{}'. Starting upload floor map from '{}.'".
1265s format(floor_name, upload_path), "INFO")
1265s
1265s map_details, map_status, success_message = self.upload_floor_image(site)
1265s if map_details:
1265s self.log("Floor map for '{}' uploaded successfully: {}".
1265s format(floor_name, success_message), "INFO")
1265s else:
1265s self.log("Floor map upload failed for '{}'. Please check the upload path and retry.".
1265s format(floor_name), "ERROR")
1265s else:
1265s self.log("No upload path provided for '{}'. Floor created without floor map.".
1265s format(floor_name), "INFO")
1265s else:
1265s self.log("No valid task ID received from the 'creating_bulk_site' response.", "WARNING")
1265s return None
1265s else:
1265s self.log("No response received from the 'creating_bulk_site' API call.", "WARNING")
1265s return None
1265s
1265s task_detail_list = []
1265s for each_config in self.have:
1265s site_name_hierarchy = each_config.get("site_name_hierarchy")
1265s
1265s if each_config.get("site_exists"):
1265s self.log("Processing site: {}".format(site_name_hierarchy), "DEBUG")
1265s payload_new = self.change_payload_data(each_config.get("want"))
1265s if payload_new.get("type") == "area":
1265s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy)
1265s self.log(self.msg, "INFO")
1265s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy)
1265s elif payload_new.get("type") in ("building", "floor"):
1265s site_params = each_config.get("site_params")
1265s site_params["site_id"] = each_config.get("site_id")
1265s site_type = site_params.get("type")
1265s
1265s if self.site_requires_update(each_config):
1265s self.log("Site requires update, starting update for type: {}".format(site_type), "DEBUG")
1265s response = (self.update_floor(site_params, payload_new) if site_type == "floor"
1265s else self.update_area(site_params) if site_type == "area"
1265s else self.update_building(site_params) if site_type == "building"
1265s else self.log("Unknown site type: {0}".format(site_type), "ERROR"))
1265s
1265s self.log("Received API response from 'update_site': {0}".
1265s format(str(response)), "DEBUG")
1265s
1265s if response and isinstance(response, dict):
1265s taskid = response["response"]["taskId"]
1265s
1265s while True:
1265s task_details = self.get_task_details(taskid)
1265s if site_type != "floor":
1265s if task_details.get("progress") == "Group is updated successfully":
1265s task_detail_list.append(task_details)
1265s self.updated_site_list.append(site_type + ": " + site_name_hierarchy)
1265s self.log("Site '{}' updated successfully.".format(site_name_hierarchy), "INFO")
1265s break
1265s else:
1265s if task_details.get("progress") == "Service domain is updated successfully.":
1265s task_detail_list.append(task_details)
1265s self.updated_site_list.append(site_type + ": " + site_name_hierarchy)
1265s break
1265s
1265s if task_details.get("bapiError"):
1265s msg = task_details.get("bapiError")
1265s self.set_operation_result("failed", False, msg, "ERROR",
1265s task_details).check_return_status()
1265s break
1265s else:
1265s self.msg = "Unable to execute the update the site: {0} ".format(site_name_hierarchy)
1265s self.log(self.msg, "INFO")
1265s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1265s else:
1265s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy)
1265s self.log(self.msg, "INFO")
1265s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy)
1265s except Exception as e:
1265s self.log("Yaml is not available for bulk: {}".format(str(e)), "ERROR")
1265s
1265s return self
1265s
1265s else:
1265s site_params = self.want.get("site_params")
1265s site_type = site_params.get("type")
1265s if self.have.get("site_exists"):
1265s site_name_hierarchy = self.want.get("site_name_hierarchy")
1265s if not self.site_requires_update():
1265s self.update_not_needed_sites.append(site_type + ": " + site_name_hierarchy)
1265s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy)
1265s self.log(self.msg, "INFO")
1265s else:
1265s try:
1265s site_params["site_id"] = self.have.get("site_id")
1265s self.log("Site parameters prepared for update: {}".format(site_params))
1265s self.log("Site update process started.", "INFO")
1265s
1265s if site_params['site'].get('building'):
1265s building_details = {}
1265s for key, value in site_params['site']['building'].items():
1265s if value is not None:
1265s building_details[key] = value
1265s
1265s site_params['site']['building'] = building_details
1265s
1265s response = self.dnac._exec(
1265s family="sites",
1265s function='update_site',
1265s op_modifies=True,
1265s params=site_params,
1265s )
1265s self.log("Received API response from 'update_site': {0}".format(str(response)), "DEBUG")
1265s
1265s if response and isinstance(response, dict):
1265s execution_id = response.get("executionId")
1265s while True:
1265s execution_details = self.get_execution_details(execution_id)
1265s if execution_details.get("status") == "SUCCESS":
1265s self.result['changed'] = True
1265s site_updated = True
1265s self.updated_site_list.append(str(site_type) + ": " + str(site_name_hierarchy))
1265s self.log("Site - {0} Updated Successfully".format(site_name_hierarchy), "INFO")
1265s break
1265s elif execution_details.get("bapiError"):
1265s self.msg = "Unable to Update: " + execution_details.get("bapiError")
1265s self.set_operation_result("failed", False, self.msg, "ERROR",
1265s execution_details).check_return_status()
1265s
1265s except Exception as e:
1265s self.msg = "Unexpected error occurred while update: {0}".format(str(e))
1265s self.log(self.msg, "ERROR")
1265s self.set_operation_result("failed", False, self.msg, "ERROR",
1265s site_name_hierarchy).check_return_status()
1265s
1265s else:
1265s try:
1265s try:
1265s if site_params['site'].get('building'):
1265s building_details = {}
1265s for key, value in site_params['site']['building'].items():
1265s if value is not None:
1265s building_details[key] = value
1265s
1265s site_params['site']['building'] = building_details
1265s
1265s except Exception as e:
1265s site_type = site_params['type']
1265s name = site_params['site'][site_type]['name']
1265s self.log("The site '{0}' is not categorized as a building; no need to filter 'None' values.".
1265s format(name), "INFO")
1265s
1265s site_type = site_params['type']
1265s parent_name = site_params.get('site').get(site_type).get('parentName')
1265s try:
1265s response = self.get_site_v1(parent_name)
1265s if not response:
1265s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name)
1265s self.log(self.msg, "DEBUG")
1265s self.site_absent_list.append(str(parent_name) + " does not exist ")
1265s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1265s except Exception as e:
1265s self.log("No response received from 'get_site_v1' API for site: {0}".format(parent_name + str(e)), "ERROR")
1265s
1265s > response = self.dnac._exec(
1265s family="sites",
1265s function='create_site',
1265s op_modifies=True,
1265s params=site_params,
1265s )
1265s
1265s plugins/modules/site_workflow_manager.py:1868:
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s /usr/lib/python3.13/unittest/mock.py:1169: in __call__
1265s return self._mock_call(*args, **kwargs)
1265s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call
1265s return self._execute_mock_call(*args, **kwargs)
1265s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1265s
1265s self =