0s autopkgtest [07:49:42]: starting date and time: 2025-05-02 07:49:42+0000
0s autopkgtest [07:49:42]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production'
0s autopkgtest [07:49:42]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.b_p907l3/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python-azure --apt-upgrade ansible --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python-azure/20250401+git-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-ppc64el-3.secgroup --name adt-questing-ppc64el-ansible-20250502-074942-juju-7f2275-prod-proposed-migration-environment-15-8bce4135-85bd-47b8-a8d3-ee686d46594b --image adt/ubuntu-questing-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/
87s autopkgtest [07:51:09]: testbed dpkg architecture: ppc64el
87s autopkgtest [07:51:09]: testbed apt version: 3.0.0
88s autopkgtest [07:51:10]: @@@@@@@@@@@@@@@@@@@@ test bed setup
88s autopkgtest [07:51:10]: testbed release detected to be: None
89s autopkgtest [07:51:11]: updating testbed package index (apt update)
89s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB]
89s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease
89s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease
89s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease
90s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [184 kB]
90s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2202 kB]
90s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [57.4 kB]
90s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main ppc64el Packages [221 kB]
90s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el Packages [1320 kB]
90s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse ppc64el Packages [16.5 kB]
90s Fetched 4111 kB in 1s (2930 kB/s)
91s Reading package lists...
92s autopkgtest [07:51:14]: upgrading testbed (apt dist-upgrade and autopurge)
92s Reading package lists...
92s Building dependency tree...
92s Reading state information...
92s Calculating upgrade...Starting pkgProblemResolver with broken count: 0
92s Starting 2 pkgProblemResolver with broken count: 0
92s Done
93s Entering ResolveByKeep
93s
93s Calculating upgrade...
93s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
93s Reading package lists...
94s Building dependency tree...
94s Reading state information...
94s Starting pkgProblemResolver with broken count: 0
94s Starting 2 pkgProblemResolver with broken count: 0
94s Done
94s Solving dependencies...
94s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
97s autopkgtest [07:51:19]: testbed running kernel: Linux 6.14.0-15-generic #15-Ubuntu SMP Sun Apr 6 14:52:42 UTC 2025
97s autopkgtest [07:51:19]: @@@@@@@@@@@@@@@@@@@@ apt-source ansible
100s Get:1 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (dsc) [3353 B]
100s Get:2 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (tar) [26.7 MB]
100s Get:3 http://ftpmaster.internal/ubuntu questing/universe ansible 11.2.0+dfsg-1 (diff) [32.9 kB]
100s gpgv: Signature made Thu Feb 27 17:38:46 2025 UTC
100s gpgv: using RSA key D847C62510A9C2FF242CE02CD604A1C4823EE0F8
100s gpgv: Can't check signature: No public key
100s dpkg-source: warning: cannot verify inline signature for ./ansible_11.2.0+dfsg-1.dsc: no acceptable signature found
105s autopkgtest [07:51:27]: testing package ansible version 11.2.0+dfsg-1
105s autopkgtest [07:51:27]: build not needed
120s autopkgtest [07:51:42]: test unit-tests-stable.py: preparing testbed
121s Reading package lists...
121s Building dependency tree...
121s Reading state information...
121s Starting pkgProblemResolver with broken count: 0
121s Starting 2 pkgProblemResolver with broken count: 0
121s Done
121s The following NEW packages will be installed:
121s ansible ansible-core fontconfig-config fonts-dejavu-core fonts-dejavu-mono
121s gir1.2-secret-1 git git-man libcairo-gobject2 libcairo2 liberror-perl
121s libfontconfig1 libpixman-1-0 libsecret-1-0 libsecret-common libsodium23
121s libxcb-render0 libxcb-shm0 libxrender1 libxslt1.1 python3-adal
121s python3-aiohappyeyeballs python3-aiohttp python3-aiosignal
121s python3-async-timeout python3-avro python3-azure python3-azure-storage
121s python3-boto3 python3-botocore python3-cachetools python3-cairo
121s python3-click python3-colorama python3-dateutil python3-deprecated
121s python3-dnspython python3-execnet python3-flake8 python3-freezegun
121s python3-frozenlist python3-gi-cairo python3-gitlab python3-google-auth
121s python3-httmock python3-hvac python3-iniconfig python3-isodate
121s python3-jmespath python3-joblib python3-kubernetes python3-lxml
121s python3-marshmallow python3-mccabe python3-mock python3-msal
121s python3-msal-extensions python3-msrest python3-msrestazure python3-multidict
121s python3-nacl python3-nltk python3-packaging python3-paramiko
121s python3-pathspec python3-pluggy python3-portalocker python3-proxmoxer
121s python3-psutil python3-py python3-pyasn1 python3-pyasn1-modules
121s python3-pycodestyle python3-pydash python3-pyflakes python3-pyhcl
121s python3-pytest python3-pytest-forked python3-pytest-mock
121s python3-pytest-xdist python3-pyu2f python3-pyvmomi python3-redis
121s python3-regex python3-requests-oauthlib python3-requests-toolbelt
121s python3-resolvelib python3-responses python3-rsa python3-ruamel.yaml
121s python3-ruamel.yaml.clib python3-s3transfer python3-six python3-strictyaml
121s python3-textfsm python3-tqdm python3-websocket python3-wrapt
121s python3-xmltodict python3-yarl yamllint
121s 0 upgraded, 101 newly installed, 0 to remove and 0 not upgraded.
121s Need to get 62.6 MB of archives.
121s After this operation, 1005 MB of additional disk space will be used.
121s Get:1 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-packaging all 24.2-1 [51.5 kB]
122s Get:2 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-resolvelib all 1.1.0-1 [25.8 kB]
122s Get:3 http://ftpmaster.internal/ubuntu questing/main ppc64el libsodium23 ppc64el 1.0.18-1build3 [150 kB]
122s Get:4 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-nacl ppc64el 1.5.0-7 [59.1 kB]
122s Get:5 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-paramiko all 3.5.1-2ubuntu1 [147 kB]
122s Get:6 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-dnspython all 2.7.0-1ubuntu1 [167 kB]
122s Get:7 http://ftpmaster.internal/ubuntu questing/universe ppc64el ansible-core all 2.18.1-4ubuntu1 [1273 kB]
122s Get:8 http://ftpmaster.internal/ubuntu questing/universe ppc64el ansible all 11.2.0+dfsg-1 [18.1 MB]
122s Get:9 http://ftpmaster.internal/ubuntu questing/main ppc64el fonts-dejavu-mono all 2.37-8 [502 kB]
123s Get:10 http://ftpmaster.internal/ubuntu questing/main ppc64el fonts-dejavu-core all 2.37-8 [835 kB]
123s Get:11 http://ftpmaster.internal/ubuntu questing/main ppc64el fontconfig-config ppc64el 2.15.0-2.2ubuntu1 [37.9 kB]
123s Get:12 http://ftpmaster.internal/ubuntu questing/main ppc64el libsecret-common all 0.21.7-1 [5160 B]
123s Get:13 http://ftpmaster.internal/ubuntu questing/main ppc64el libsecret-1-0 ppc64el 0.21.7-1 [126 kB]
123s Get:14 http://ftpmaster.internal/ubuntu questing/main ppc64el gir1.2-secret-1 ppc64el 0.21.7-1 [9396 B]
123s Get:15 http://ftpmaster.internal/ubuntu questing/main ppc64el liberror-perl all 0.17030-1 [23.5 kB]
123s Get:16 http://ftpmaster.internal/ubuntu questing/main ppc64el git-man all 1:2.48.1-0ubuntu1 [1148 kB]
123s Get:17 http://ftpmaster.internal/ubuntu questing/main ppc64el git ppc64el 1:2.48.1-0ubuntu1 [7338 kB]
123s Get:18 http://ftpmaster.internal/ubuntu questing/main ppc64el libfontconfig1 ppc64el 2.15.0-2.2ubuntu1 [187 kB]
123s Get:19 http://ftpmaster.internal/ubuntu questing/main ppc64el libpixman-1-0 ppc64el 0.44.0-3 [334 kB]
123s Get:20 http://ftpmaster.internal/ubuntu questing/main ppc64el libxcb-render0 ppc64el 1.17.0-2 [17.2 kB]
123s Get:21 http://ftpmaster.internal/ubuntu questing/main ppc64el libxcb-shm0 ppc64el 1.17.0-2 [5980 B]
123s Get:22 http://ftpmaster.internal/ubuntu questing/main ppc64el libxrender1 ppc64el 1:0.9.10-1.1build1 [23.1 kB]
123s Get:23 http://ftpmaster.internal/ubuntu questing/main ppc64el libcairo2 ppc64el 1.18.4-1 [746 kB]
123s Get:24 http://ftpmaster.internal/ubuntu questing/main ppc64el libcairo-gobject2 ppc64el 1.18.4-1 [128 kB]
123s Get:25 http://ftpmaster.internal/ubuntu questing/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1ubuntu4 [191 kB]
123s Get:26 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-dateutil all 2.9.0-4 [80.3 kB]
123s Get:27 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-adal all 1.2.7-5 [33.0 kB]
123s Get:28 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiohappyeyeballs all 2.6.1-1 [11.1 kB]
123s Get:29 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-multidict ppc64el 6.2.0-2 [37.9 kB]
123s Get:30 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-yarl ppc64el 1.13.1-1build2 [102 kB]
123s Get:31 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-async-timeout all 5.0.1-1 [6830 B]
123s Get:32 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-frozenlist ppc64el 1.5.0-1build2 [53.2 kB]
123s Get:33 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiosignal all 1.3.2-1 [5182 B]
123s Get:34 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiohttp ppc64el 3.10.11-1build1 [315 kB]
123s Get:35 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-avro all 1.12.0+dfsg-1 [75.3 kB]
123s Get:36 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-isodate all 0.7.0-1 [18.6 kB]
123s Get:37 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-requests-oauthlib all 1.3.1-1 [18.8 kB]
123s Get:38 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msrest all 0.6.21-5 [48.7 kB]
123s Get:39 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msrestazure all 0.6.4-4 [27.1 kB]
123s Get:40 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el python3-azure-storage all 20250401+git-1 [300 kB]
123s Get:41 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-colorama all 0.4.6-4 [32.1 kB]
123s Get:42 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-marshmallow all 3.26.1-0.2 [47.5 kB]
123s Get:43 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msal all 1.32.0-1 [100 kB]
123s Get:44 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-cairo ppc64el 1.27.0-2 [129 kB]
123s Get:45 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-gi-cairo ppc64el 3.50.0-4build1 [8252 B]
123s Get:46 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-portalocker all 2.2.1-1 [17.2 kB]
123s Get:47 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msal-extensions all 1.3.1-1 [18.2 kB]
123s Get:48 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB]
123s Get:49 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-joblib all 1.4.2-3 [205 kB]
123s Get:50 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-regex ppc64el 0.1.20241106-1build1 [326 kB]
123s Get:51 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-tqdm all 4.67.1-3 [91.6 kB]
123s Get:52 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-nltk all 3.9.1-2 [1006 kB]
123s Get:53 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-psutil ppc64el 5.9.8-2build3 [197 kB]
123s Get:54 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pydash all 8.0.3-3 [93.0 kB]
123s Get:55 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-six all 1.17.0-1 [13.2 kB]
123s Get:56 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.12+ds-1build1 [169 kB]
123s Get:57 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1 [127 kB]
123s Get:58 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-strictyaml all 1.6.1-3 [89.1 kB]
123s Get:59 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-websocket all 1.8.0-2 [38.5 kB]
123s Get:60 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el python3-azure all 20250401+git-1 [16.0 MB]
124s Get:61 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-jmespath all 1.0.1-1 [21.3 kB]
124s Get:62 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-botocore all 1.37.9+repack-1 [6982 kB]
124s Get:63 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-s3transfer all 0.11.2-2 [55.5 kB]
124s Get:64 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-boto3 all 1.37.9-1 [73.0 kB]
124s Get:65 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-cachetools all 5.3.3-1 [10.3 kB]
124s Get:66 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-wrapt ppc64el 1.15.0-4build1 [35.7 kB]
124s Get:67 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-deprecated all 1.2.18-1 [10.6 kB]
124s Get:68 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-execnet all 2.1.1-1 [33.4 kB]
124s Get:69 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-mccabe all 0.7.0-1 [8678 B]
124s Get:70 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pycodestyle all 2.12.1-2 [30.2 kB]
124s Get:71 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyflakes all 3.2.0-3 [53.0 kB]
124s Get:72 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-flake8 all 7.1.1-3 [44.0 kB]
124s Get:73 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-freezegun all 1.5.1-1.2 [15.9 kB]
124s Get:74 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-requests-toolbelt all 1.0.0-4 [37.0 kB]
124s Get:75 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-gitlab all 1:4.9.0-1 [75.0 kB]
124s Get:76 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-pyasn1 all 0.6.1-1 [56.4 kB]
124s Get:77 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-pyasn1-modules all 0.4.1-2 [80.3 kB]
124s Get:78 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyu2f all 0.1.5-4 [22.9 kB]
124s Get:79 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-responses all 0.25.6-1 [40.5 kB]
124s Get:80 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-rsa all 4.9-2 [28.2 kB]
124s Get:81 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-google-auth all 2.28.2-3 [91.0 kB]
124s Get:82 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-httmock all 1.4.0-5 [6544 B]
124s Get:83 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyhcl all 0.4.4-6 [43.1 kB]
124s Get:84 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-hvac all 2.3.0-3 [88.1 kB]
124s Get:85 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B]
124s Get:86 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-kubernetes all 30.1.0-2 [385 kB]
124s Get:87 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-lxml ppc64el 5.3.2-1 [1393 kB]
124s Get:88 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pathspec all 0.12.1-1 [24.5 kB]
124s Get:89 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB]
124s Get:90 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-proxmoxer all 2.2.0-1 [16.2 kB]
124s Get:91 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-py all 1.11.0-4 [72.7 kB]
124s Get:92 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest all 8.3.5-1 [252 kB]
124s Get:93 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-forked all 1.6.0-3 [7470 B]
124s Get:94 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-mock all 3.14.0-2 [11.7 kB]
124s Get:95 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-xdist all 3.6.1-1 [33.8 kB]
124s Get:96 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyvmomi all 8.0.3.0.1-1 [532 kB]
124s Get:97 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-redis all 4.3.4-4 [166 kB]
124s Get:98 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-textfsm all 1.1.3-3 [29.3 kB]
124s Get:99 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-xmltodict all 0.13.0-1 [13.4 kB]
124s Get:100 http://ftpmaster.internal/ubuntu questing/universe ppc64el yamllint all 1.35.1-2 [43.6 kB]
124s Get:101 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-mock all 5.1.0-1 [64.1 kB]
125s Fetched 62.6 MB in 3s (21.9 MB/s)
125s Selecting previously unselected package python3-packaging.
125s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 107206 files and directories currently installed.)
125s Preparing to unpack .../000-python3-packaging_24.2-1_all.deb ...
125s Unpacking python3-packaging (24.2-1) ...
125s Selecting previously unselected package python3-resolvelib.
125s Preparing to unpack .../001-python3-resolvelib_1.1.0-1_all.deb ...
125s Unpacking python3-resolvelib (1.1.0-1) ...
125s Selecting previously unselected package libsodium23:ppc64el.
125s Preparing to unpack .../002-libsodium23_1.0.18-1build3_ppc64el.deb ...
125s Unpacking libsodium23:ppc64el (1.0.18-1build3) ...
125s Selecting previously unselected package python3-nacl.
125s Preparing to unpack .../003-python3-nacl_1.5.0-7_ppc64el.deb ...
125s Unpacking python3-nacl (1.5.0-7) ...
125s Selecting previously unselected package python3-paramiko.
125s Preparing to unpack .../004-python3-paramiko_3.5.1-2ubuntu1_all.deb ...
125s Unpacking python3-paramiko (3.5.1-2ubuntu1) ...
125s Selecting previously unselected package python3-dnspython.
125s Preparing to unpack .../005-python3-dnspython_2.7.0-1ubuntu1_all.deb ...
125s Unpacking python3-dnspython (2.7.0-1ubuntu1) ...
125s Selecting previously unselected package ansible-core.
125s Preparing to unpack .../006-ansible-core_2.18.1-4ubuntu1_all.deb ...
125s Unpacking ansible-core (2.18.1-4ubuntu1) ...
125s Selecting previously unselected package ansible.
125s Preparing to unpack .../007-ansible_11.2.0+dfsg-1_all.deb ...
125s Unpacking ansible (11.2.0+dfsg-1) ...
128s Selecting previously unselected package fonts-dejavu-mono.
128s Preparing to unpack .../008-fonts-dejavu-mono_2.37-8_all.deb ...
128s Unpacking fonts-dejavu-mono (2.37-8) ...
128s Selecting previously unselected package fonts-dejavu-core.
128s Preparing to unpack .../009-fonts-dejavu-core_2.37-8_all.deb ...
128s Unpacking fonts-dejavu-core (2.37-8) ...
128s Selecting previously unselected package fontconfig-config.
128s Preparing to unpack .../010-fontconfig-config_2.15.0-2.2ubuntu1_ppc64el.deb ...
129s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ...
129s Selecting previously unselected package libsecret-common.
129s Preparing to unpack .../011-libsecret-common_0.21.7-1_all.deb ...
129s Unpacking libsecret-common (0.21.7-1) ...
129s Selecting previously unselected package libsecret-1-0:ppc64el.
129s Preparing to unpack .../012-libsecret-1-0_0.21.7-1_ppc64el.deb ...
129s Unpacking libsecret-1-0:ppc64el (0.21.7-1) ...
129s Selecting previously unselected package gir1.2-secret-1:ppc64el.
129s Preparing to unpack .../013-gir1.2-secret-1_0.21.7-1_ppc64el.deb ...
129s Unpacking gir1.2-secret-1:ppc64el (0.21.7-1) ...
129s Selecting previously unselected package liberror-perl.
129s Preparing to unpack .../014-liberror-perl_0.17030-1_all.deb ...
129s Unpacking liberror-perl (0.17030-1) ...
129s Selecting previously unselected package git-man.
129s Preparing to unpack .../015-git-man_1%3a2.48.1-0ubuntu1_all.deb ...
129s Unpacking git-man (1:2.48.1-0ubuntu1) ...
129s Selecting previously unselected package git.
129s Preparing to unpack .../016-git_1%3a2.48.1-0ubuntu1_ppc64el.deb ...
129s Unpacking git (1:2.48.1-0ubuntu1) ...
129s Selecting previously unselected package libfontconfig1:ppc64el.
129s Preparing to unpack .../017-libfontconfig1_2.15.0-2.2ubuntu1_ppc64el.deb ...
129s Unpacking libfontconfig1:ppc64el (2.15.0-2.2ubuntu1) ...
129s Selecting previously unselected package libpixman-1-0:ppc64el.
129s Preparing to unpack .../018-libpixman-1-0_0.44.0-3_ppc64el.deb ...
129s Unpacking libpixman-1-0:ppc64el (0.44.0-3) ...
129s Selecting previously unselected package libxcb-render0:ppc64el.
129s Preparing to unpack .../019-libxcb-render0_1.17.0-2_ppc64el.deb ...
129s Unpacking libxcb-render0:ppc64el (1.17.0-2) ...
129s Selecting previously unselected package libxcb-shm0:ppc64el.
129s Preparing to unpack .../020-libxcb-shm0_1.17.0-2_ppc64el.deb ...
129s Unpacking libxcb-shm0:ppc64el (1.17.0-2) ...
129s Selecting previously unselected package libxrender1:ppc64el.
129s Preparing to unpack .../021-libxrender1_1%3a0.9.10-1.1build1_ppc64el.deb ...
129s Unpacking libxrender1:ppc64el (1:0.9.10-1.1build1) ...
129s Selecting previously unselected package libcairo2:ppc64el.
129s Preparing to unpack .../022-libcairo2_1.18.4-1_ppc64el.deb ...
129s Unpacking libcairo2:ppc64el (1.18.4-1) ...
129s Selecting previously unselected package libcairo-gobject2:ppc64el.
129s Preparing to unpack .../023-libcairo-gobject2_1.18.4-1_ppc64el.deb ...
129s Unpacking libcairo-gobject2:ppc64el (1.18.4-1) ...
129s Selecting previously unselected package libxslt1.1:ppc64el.
129s Preparing to unpack .../024-libxslt1.1_1.1.39-0exp1ubuntu4_ppc64el.deb ...
129s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1ubuntu4) ...
129s Selecting previously unselected package python3-dateutil.
129s Preparing to unpack .../025-python3-dateutil_2.9.0-4_all.deb ...
129s Unpacking python3-dateutil (2.9.0-4) ...
129s Selecting previously unselected package python3-adal.
129s Preparing to unpack .../026-python3-adal_1.2.7-5_all.deb ...
129s Unpacking python3-adal (1.2.7-5) ...
129s Selecting previously unselected package python3-aiohappyeyeballs.
129s Preparing to unpack .../027-python3-aiohappyeyeballs_2.6.1-1_all.deb ...
129s Unpacking python3-aiohappyeyeballs (2.6.1-1) ...
129s Selecting previously unselected package python3-multidict.
129s Preparing to unpack .../028-python3-multidict_6.2.0-2_ppc64el.deb ...
129s Unpacking python3-multidict (6.2.0-2) ...
129s Selecting previously unselected package python3-yarl.
129s Preparing to unpack .../029-python3-yarl_1.13.1-1build2_ppc64el.deb ...
129s Unpacking python3-yarl (1.13.1-1build2) ...
129s Selecting previously unselected package python3-async-timeout.
129s Preparing to unpack .../030-python3-async-timeout_5.0.1-1_all.deb ...
129s Unpacking python3-async-timeout (5.0.1-1) ...
129s Selecting previously unselected package python3-frozenlist.
129s Preparing to unpack .../031-python3-frozenlist_1.5.0-1build2_ppc64el.deb ...
129s Unpacking python3-frozenlist (1.5.0-1build2) ...
129s Selecting previously unselected package python3-aiosignal.
129s Preparing to unpack .../032-python3-aiosignal_1.3.2-1_all.deb ...
129s Unpacking python3-aiosignal (1.3.2-1) ...
129s Selecting previously unselected package python3-aiohttp.
130s Preparing to unpack .../033-python3-aiohttp_3.10.11-1build1_ppc64el.deb ...
130s Unpacking python3-aiohttp (3.10.11-1build1) ...
130s Selecting previously unselected package python3-avro.
130s Preparing to unpack .../034-python3-avro_1.12.0+dfsg-1_all.deb ...
130s Unpacking python3-avro (1.12.0+dfsg-1) ...
130s Selecting previously unselected package python3-isodate.
130s Preparing to unpack .../035-python3-isodate_0.7.0-1_all.deb ...
130s Unpacking python3-isodate (0.7.0-1) ...
130s Selecting previously unselected package python3-requests-oauthlib.
130s Preparing to unpack .../036-python3-requests-oauthlib_1.3.1-1_all.deb ...
130s Unpacking python3-requests-oauthlib (1.3.1-1) ...
130s Selecting previously unselected package python3-msrest.
130s Preparing to unpack .../037-python3-msrest_0.6.21-5_all.deb ...
130s Unpacking python3-msrest (0.6.21-5) ...
130s Selecting previously unselected package python3-msrestazure.
130s Preparing to unpack .../038-python3-msrestazure_0.6.4-4_all.deb ...
130s Unpacking python3-msrestazure (0.6.4-4) ...
130s Selecting previously unselected package python3-azure-storage.
130s Preparing to unpack .../039-python3-azure-storage_20250401+git-1_all.deb ...
130s Unpacking python3-azure-storage (20250401+git-1) ...
130s Selecting previously unselected package python3-colorama.
130s Preparing to unpack .../040-python3-colorama_0.4.6-4_all.deb ...
130s Unpacking python3-colorama (0.4.6-4) ...
130s Selecting previously unselected package python3-marshmallow.
130s Preparing to unpack .../041-python3-marshmallow_3.26.1-0.2_all.deb ...
130s Unpacking python3-marshmallow (3.26.1-0.2) ...
130s Selecting previously unselected package python3-msal.
130s Preparing to unpack .../042-python3-msal_1.32.0-1_all.deb ...
130s Unpacking python3-msal (1.32.0-1) ...
130s Selecting previously unselected package python3-cairo.
130s Preparing to unpack .../043-python3-cairo_1.27.0-2_ppc64el.deb ...
130s Unpacking python3-cairo (1.27.0-2) ...
130s Selecting previously unselected package python3-gi-cairo.
130s Preparing to unpack .../044-python3-gi-cairo_3.50.0-4build1_ppc64el.deb ...
130s Unpacking python3-gi-cairo (3.50.0-4build1) ...
130s Selecting previously unselected package python3-portalocker.
130s Preparing to unpack .../045-python3-portalocker_2.2.1-1_all.deb ...
130s Unpacking python3-portalocker (2.2.1-1) ...
130s Selecting previously unselected package python3-msal-extensions.
130s Preparing to unpack .../046-python3-msal-extensions_1.3.1-1_all.deb ...
130s Unpacking python3-msal-extensions (1.3.1-1) ...
130s Selecting previously unselected package python3-click.
130s Preparing to unpack .../047-python3-click_8.2.0+0.really.8.1.8-1_all.deb ...
130s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ...
130s Selecting previously unselected package python3-joblib.
130s Preparing to unpack .../048-python3-joblib_1.4.2-3_all.deb ...
130s Unpacking python3-joblib (1.4.2-3) ...
130s Selecting previously unselected package python3-regex.
130s Preparing to unpack .../049-python3-regex_0.1.20241106-1build1_ppc64el.deb ...
130s Unpacking python3-regex (0.1.20241106-1build1) ...
130s Selecting previously unselected package python3-tqdm.
130s Preparing to unpack .../050-python3-tqdm_4.67.1-3_all.deb ...
130s Unpacking python3-tqdm (4.67.1-3) ...
130s Selecting previously unselected package python3-nltk.
130s Preparing to unpack .../051-python3-nltk_3.9.1-2_all.deb ...
130s Unpacking python3-nltk (3.9.1-2) ...
130s Selecting previously unselected package python3-psutil.
130s Preparing to unpack .../052-python3-psutil_5.9.8-2build3_ppc64el.deb ...
130s Unpacking python3-psutil (5.9.8-2build3) ...
130s Selecting previously unselected package python3-pydash.
130s Preparing to unpack .../053-python3-pydash_8.0.3-3_all.deb ...
130s Unpacking python3-pydash (8.0.3-3) ...
130s Selecting previously unselected package python3-six.
130s Preparing to unpack .../054-python3-six_1.17.0-1_all.deb ...
130s Unpacking python3-six (1.17.0-1) ...
130s Selecting previously unselected package python3-ruamel.yaml.clib.
130s Preparing to unpack .../055-python3-ruamel.yaml.clib_0.2.12+ds-1build1_ppc64el.deb ...
130s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ...
130s Selecting previously unselected package python3-ruamel.yaml.
130s Preparing to unpack .../056-python3-ruamel.yaml_0.18.10+ds-1_all.deb ...
130s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ...
130s Selecting previously unselected package python3-strictyaml.
130s Preparing to unpack .../057-python3-strictyaml_1.6.1-3_all.deb ...
130s Unpacking python3-strictyaml (1.6.1-3) ...
130s Selecting previously unselected package python3-websocket.
130s Preparing to unpack .../058-python3-websocket_1.8.0-2_all.deb ...
130s Unpacking python3-websocket (1.8.0-2) ...
130s Selecting previously unselected package python3-azure.
130s Preparing to unpack .../059-python3-azure_20250401+git-1_all.deb ...
130s Unpacking python3-azure (20250401+git-1) ...
135s Selecting previously unselected package python3-jmespath.
135s Preparing to unpack .../060-python3-jmespath_1.0.1-1_all.deb ...
135s Unpacking python3-jmespath (1.0.1-1) ...
135s Selecting previously unselected package python3-botocore.
135s Preparing to unpack .../061-python3-botocore_1.37.9+repack-1_all.deb ...
135s Unpacking python3-botocore (1.37.9+repack-1) ...
136s Selecting previously unselected package python3-s3transfer.
136s Preparing to unpack .../062-python3-s3transfer_0.11.2-2_all.deb ...
136s Unpacking python3-s3transfer (0.11.2-2) ...
136s Selecting previously unselected package python3-boto3.
136s Preparing to unpack .../063-python3-boto3_1.37.9-1_all.deb ...
136s Unpacking python3-boto3 (1.37.9-1) ...
136s Selecting previously unselected package python3-cachetools.
136s Preparing to unpack .../064-python3-cachetools_5.3.3-1_all.deb ...
136s Unpacking python3-cachetools (5.3.3-1) ...
136s Selecting previously unselected package python3-wrapt.
136s Preparing to unpack .../065-python3-wrapt_1.15.0-4build1_ppc64el.deb ...
136s Unpacking python3-wrapt (1.15.0-4build1) ...
136s Selecting previously unselected package python3-deprecated.
136s Preparing to unpack .../066-python3-deprecated_1.2.18-1_all.deb ...
136s Unpacking python3-deprecated (1.2.18-1) ...
136s Selecting previously unselected package python3-execnet.
136s Preparing to unpack .../067-python3-execnet_2.1.1-1_all.deb ...
136s Unpacking python3-execnet (2.1.1-1) ...
136s Selecting previously unselected package python3-mccabe.
136s Preparing to unpack .../068-python3-mccabe_0.7.0-1_all.deb ...
136s Unpacking python3-mccabe (0.7.0-1) ...
136s Selecting previously unselected package python3-pycodestyle.
136s Preparing to unpack .../069-python3-pycodestyle_2.12.1-2_all.deb ...
136s Unpacking python3-pycodestyle (2.12.1-2) ...
136s Selecting previously unselected package python3-pyflakes.
136s Preparing to unpack .../070-python3-pyflakes_3.2.0-3_all.deb ...
136s Unpacking python3-pyflakes (3.2.0-3) ...
136s Selecting previously unselected package python3-flake8.
136s Preparing to unpack .../071-python3-flake8_7.1.1-3_all.deb ...
136s Unpacking python3-flake8 (7.1.1-3) ...
136s Selecting previously unselected package python3-freezegun.
136s Preparing to unpack .../072-python3-freezegun_1.5.1-1.2_all.deb ...
136s Unpacking python3-freezegun (1.5.1-1.2) ...
136s Selecting previously unselected package python3-requests-toolbelt.
136s Preparing to unpack .../073-python3-requests-toolbelt_1.0.0-4_all.deb ...
136s Unpacking python3-requests-toolbelt (1.0.0-4) ...
136s Selecting previously unselected package python3-gitlab.
136s Preparing to unpack .../074-python3-gitlab_1%3a4.9.0-1_all.deb ...
136s Unpacking python3-gitlab (1:4.9.0-1) ...
136s Selecting previously unselected package python3-pyasn1.
136s Preparing to unpack .../075-python3-pyasn1_0.6.1-1_all.deb ...
136s Unpacking python3-pyasn1 (0.6.1-1) ...
136s Selecting previously unselected package python3-pyasn1-modules.
136s Preparing to unpack .../076-python3-pyasn1-modules_0.4.1-2_all.deb ...
136s Unpacking python3-pyasn1-modules (0.4.1-2) ...
136s Selecting previously unselected package python3-pyu2f.
136s Preparing to unpack .../077-python3-pyu2f_0.1.5-4_all.deb ...
136s Unpacking python3-pyu2f (0.1.5-4) ...
136s Selecting previously unselected package python3-responses.
136s Preparing to unpack .../078-python3-responses_0.25.6-1_all.deb ...
136s Unpacking python3-responses (0.25.6-1) ...
136s Selecting previously unselected package python3-rsa.
136s Preparing to unpack .../079-python3-rsa_4.9-2_all.deb ...
136s Unpacking python3-rsa (4.9-2) ...
136s Selecting previously unselected package python3-google-auth.
136s Preparing to unpack .../080-python3-google-auth_2.28.2-3_all.deb ...
136s Unpacking python3-google-auth (2.28.2-3) ...
136s Selecting previously unselected package python3-httmock.
136s Preparing to unpack .../081-python3-httmock_1.4.0-5_all.deb ...
136s Unpacking python3-httmock (1.4.0-5) ...
136s Selecting previously unselected package python3-pyhcl.
136s Preparing to unpack .../082-python3-pyhcl_0.4.4-6_all.deb ...
136s Unpacking python3-pyhcl (0.4.4-6) ...
136s Selecting previously unselected package python3-hvac.
136s Preparing to unpack .../083-python3-hvac_2.3.0-3_all.deb ...
136s Unpacking python3-hvac (2.3.0-3) ...
136s Selecting previously unselected package python3-iniconfig.
136s Preparing to unpack .../084-python3-iniconfig_1.1.1-2_all.deb ...
136s Unpacking python3-iniconfig (1.1.1-2) ...
136s Selecting previously unselected package python3-kubernetes.
136s Preparing to unpack .../085-python3-kubernetes_30.1.0-2_all.deb ...
136s Unpacking python3-kubernetes (30.1.0-2) ...
137s Selecting previously unselected package python3-lxml:ppc64el.
137s Preparing to unpack .../086-python3-lxml_5.3.2-1_ppc64el.deb ...
137s Unpacking python3-lxml:ppc64el (5.3.2-1) ...
137s Selecting previously unselected package python3-pathspec.
137s Preparing to unpack .../087-python3-pathspec_0.12.1-1_all.deb ...
137s Unpacking python3-pathspec (0.12.1-1) ...
137s Selecting previously unselected package python3-pluggy.
137s Preparing to unpack .../088-python3-pluggy_1.5.0-1_all.deb ...
137s Unpacking python3-pluggy (1.5.0-1) ...
137s Selecting previously unselected package python3-proxmoxer.
137s Preparing to unpack .../089-python3-proxmoxer_2.2.0-1_all.deb ...
137s Unpacking python3-proxmoxer (2.2.0-1) ...
137s Selecting previously unselected package python3-py.
137s Preparing to unpack .../090-python3-py_1.11.0-4_all.deb ...
137s Unpacking python3-py (1.11.0-4) ...
137s Selecting previously unselected package python3-pytest.
137s Preparing to unpack .../091-python3-pytest_8.3.5-1_all.deb ...
137s Unpacking python3-pytest (8.3.5-1) ...
137s Selecting previously unselected package python3-pytest-forked.
137s Preparing to unpack .../092-python3-pytest-forked_1.6.0-3_all.deb ...
137s Unpacking python3-pytest-forked (1.6.0-3) ...
137s Selecting previously unselected package python3-pytest-mock.
137s Preparing to unpack .../093-python3-pytest-mock_3.14.0-2_all.deb ...
137s Unpacking python3-pytest-mock (3.14.0-2) ...
137s Selecting previously unselected package python3-pytest-xdist.
137s Preparing to unpack .../094-python3-pytest-xdist_3.6.1-1_all.deb ...
137s Unpacking python3-pytest-xdist (3.6.1-1) ...
137s Selecting previously unselected package python3-pyvmomi.
137s Preparing to unpack .../095-python3-pyvmomi_8.0.3.0.1-1_all.deb ...
137s Unpacking python3-pyvmomi (8.0.3.0.1-1) ...
137s Selecting previously unselected package python3-redis.
137s Preparing to unpack .../096-python3-redis_4.3.4-4_all.deb ...
137s Unpacking python3-redis (4.3.4-4) ...
137s Selecting previously unselected package python3-textfsm.
137s Preparing to unpack .../097-python3-textfsm_1.1.3-3_all.deb ...
137s Unpacking python3-textfsm (1.1.3-3) ...
137s Selecting previously unselected package python3-xmltodict.
137s Preparing to unpack .../098-python3-xmltodict_0.13.0-1_all.deb ...
137s Unpacking python3-xmltodict (0.13.0-1) ...
137s Selecting previously unselected package yamllint.
137s Preparing to unpack .../099-yamllint_1.35.1-2_all.deb ...
137s Unpacking yamllint (1.35.1-2) ...
137s Selecting previously unselected package python3-mock.
137s Preparing to unpack .../100-python3-mock_5.1.0-1_all.deb ...
137s Unpacking python3-mock (5.1.0-1) ...
137s Setting up python3-iniconfig (1.1.1-2) ...
137s Setting up libpixman-1-0:ppc64el (0.44.0-3) ...
137s Setting up libsodium23:ppc64el (1.0.18-1build3) ...
137s Setting up python3-requests-toolbelt (1.0.0-4) ...
138s Setting up libxrender1:ppc64el (1:0.9.10-1.1build1) ...
138s Setting up python3-py (1.11.0-4) ...
138s Setting up python3-joblib (1.4.2-3) ...
138s Setting up python3-cachetools (5.3.3-1) ...
138s Setting up python3-colorama (0.4.6-4) ...
138s Setting up libxcb-render0:ppc64el (1.17.0-2) ...
138s Setting up python3-tqdm (4.67.1-3) ...
138s Setting up python3-pyflakes (3.2.0-3) ...
139s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ...
139s Setting up python3-resolvelib (1.1.0-1) ...
139s Setting up python3-msal (1.32.0-1) ...
139s Setting up libxcb-shm0:ppc64el (1.17.0-2) ...
139s Setting up python3-httmock (1.4.0-5) ...
139s Setting up python3-click (8.2.0+0.really.8.1.8-1) ...
139s Setting up python3-psutil (5.9.8-2build3) ...
139s Setting up python3-multidict (6.2.0-2) ...
140s Setting up python3-frozenlist (1.5.0-1build2) ...
140s Setting up python3-aiosignal (1.3.2-1) ...
140s Setting up python3-mock (5.1.0-1) ...
140s Setting up python3-async-timeout (5.0.1-1) ...
140s Setting up liberror-perl (0.17030-1) ...
140s Setting up python3-six (1.17.0-1) ...
140s Setting up python3-responses (0.25.6-1) ...
140s Setting up python3-pyvmomi (8.0.3.0.1-1) ...
141s Setting up python3-isodate (0.7.0-1) ...
141s Setting up python3-pycodestyle (2.12.1-2) ...
141s Setting up python3-xmltodict (0.13.0-1) ...
141s Setting up python3-packaging (24.2-1) ...
141s Setting up python3-pyu2f (0.1.5-4) ...
141s Setting up python3-avro (1.12.0+dfsg-1) ...
141s Setting up python3-jmespath (1.0.1-1) ...
142s Setting up fonts-dejavu-mono (2.37-8) ...
142s Setting up python3-wrapt (1.15.0-4build1) ...
142s Setting up fonts-dejavu-core (2.37-8) ...
142s Setting up python3-aiohappyeyeballs (2.6.1-1) ...
142s Setting up python3-regex (0.1.20241106-1build1) ...
142s Setting up python3-pluggy (1.5.0-1) ...
142s Setting up python3-ruamel.yaml (0.18.10+ds-1) ...
142s Setting up python3-dnspython (2.7.0-1ubuntu1) ...
143s Setting up python3-portalocker (2.2.1-1) ...
143s Setting up libxslt1.1:ppc64el (1.1.39-0exp1ubuntu4) ...
143s Setting up python3-pyasn1 (0.6.1-1) ...
143s Setting up python3-proxmoxer (2.2.0-1) ...
143s Setting up git-man (1:2.48.1-0ubuntu1) ...
143s Setting up python3-dateutil (2.9.0-4) ...
143s Setting up python3-textfsm (1.1.3-3) ...
143s Setting up python3-mccabe (0.7.0-1) ...
144s Setting up python3-execnet (2.1.1-1) ...
144s Setting up python3-pathspec (0.12.1-1) ...
144s Setting up python3-pydash (8.0.3-3) ...
144s Setting up python3-nltk (3.9.1-2) ...
145s Setting up python3-yarl (1.13.1-1build2) ...
145s Setting up python3-pyhcl (0.4.4-6) ...
145s Setting up python3-gitlab (1:4.9.0-1) ...
146s Setting up python3-websocket (1.8.0-2) ...
146s Setting up python3-deprecated (1.2.18-1) ...
146s Setting up libsecret-common (0.21.7-1) ...
146s Setting up python3-freezegun (1.5.1-1.2) ...
146s Setting up python3-nacl (1.5.0-7) ...
146s Setting up python3-requests-oauthlib (1.3.1-1) ...
146s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ...
146s Setting up python3-pytest (8.3.5-1) ...
147s Setting up python3-aiohttp (3.10.11-1build1) ...
147s Setting up python3-marshmallow (3.26.1-0.2) ...
147s Setting up ansible-core (2.18.1-4ubuntu1) ...
149s Setting up python3-flake8 (7.1.1-3) ...
149s Setting up python3-msrest (0.6.21-5) ...
149s Setting up python3-pytest-forked (1.6.0-3) ...
149s Setting up python3-strictyaml (1.6.1-3) ...
150s Setting up libsecret-1-0:ppc64el (0.21.7-1) ...
150s Setting up yamllint (1.35.1-2) ...
150s Setting up gir1.2-secret-1:ppc64el (0.21.7-1) ...
150s Setting up python3-pyasn1-modules (0.4.1-2) ...
150s Setting up python3-botocore (1.37.9+repack-1) ...
150s Setting up python3-hvac (2.3.0-3) ...
151s Setting up git (1:2.48.1-0ubuntu1) ...
151s Setting up python3-redis (4.3.4-4) ...
151s Setting up python3-adal (1.2.7-5) ...
151s Setting up python3-pytest-mock (3.14.0-2) ...
151s Setting up python3-lxml:ppc64el (5.3.2-1) ...
151s Setting up python3-rsa (4.9-2) ...
151s Setting up libfontconfig1:ppc64el (2.15.0-2.2ubuntu1) ...
151s Setting up python3-msrestazure (0.6.4-4) ...
152s Setting up ansible (11.2.0+dfsg-1) ...
180s Setting up python3-paramiko (3.5.1-2ubuntu1) ...
180s Setting up python3-pytest-xdist (3.6.1-1) ...
180s Setting up python3-s3transfer (0.11.2-2) ...
180s Setting up libcairo2:ppc64el (1.18.4-1) ...
180s Setting up python3-google-auth (2.28.2-3) ...
181s Setting up python3-boto3 (1.37.9-1) ...
181s Setting up libcairo-gobject2:ppc64el (1.18.4-1) ...
181s Setting up python3-cairo (1.27.0-2) ...
181s Setting up python3-kubernetes (30.1.0-2) ...
182s Setting up python3-gi-cairo (3.50.0-4build1) ...
182s Setting up python3-msal-extensions (1.3.1-1) ...
182s Setting up python3-azure-storage (20250401+git-1) ...
183s Setting up python3-azure (20250401+git-1) ...
199s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:80: SyntaxWarning: invalid escape sequence '\ '
199s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example,
199s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:405: SyntaxWarning: invalid escape sequence '\ '
199s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example,
202s /usr/lib/python3/dist-packages/azure/appconfiguration/_generated/models/_models.py:238: SyntaxWarning: invalid escape sequence '\ '
202s """An error, available when the status is ``Failed``\ , describing why the operation
202s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9067: SyntaxWarning: invalid escape sequence '\ '
202s """The source port ranges to match for the rule. Valid values are '\ *' (for all ports 0 - 65535),
202s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9235: SyntaxWarning: invalid escape sequence '\ '
202s using brackets (for example abc[\ *] would match a file named abc*\ ). Note that both and / are
203s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2326: SyntaxWarning: invalid escape sequence '\ '
203s payload to scoring rule. If not set, a job's labels (sent in the payload as ``job``\ ) and a
203s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2346: SyntaxWarning: invalid escape sequence '\ '
203s If not set, a job's labels (sent in the payload as ``job``\ ) and a job's worker selectors
207s /usr/lib/python3/dist-packages/azure/mgmt/advisor/aio/operations/_recommendations_operations.py:190: SyntaxWarning: invalid escape sequence '\ '
207s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category
207s /usr/lib/python3/dist-packages/azure/mgmt/advisor/operations/_recommendations_operations.py:303: SyntaxWarning: invalid escape sequence '\ '
207s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category
208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:3917: SyntaxWarning: invalid escape sequence '\ '
208s Possible Values::code:`
`:code:`
` **Standard**\ :code:`
`:code:`
`
208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10212: SyntaxWarning: invalid escape sequence '\ '
208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10255: SyntaxWarning: invalid escape sequence '\ '
208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10284: SyntaxWarning: invalid escape sequence '\ '
208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10320: SyntaxWarning: invalid escape sequence '\ '
208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10342: SyntaxWarning: invalid escape sequence '\ '
208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10375: SyntaxWarning: invalid escape sequence '\ '
208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10396: SyntaxWarning: invalid escape sequence '\ '
208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10429: SyntaxWarning: invalid escape sequence '\ '
208s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14746: SyntaxWarning: invalid escape sequence '\ '
208s :ivar allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ ,
208s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14771: SyntaxWarning: invalid escape sequence '\ '
208s :keyword allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ ,
213s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:1420: SyntaxWarning: invalid escape sequence '\ '
213s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\
213s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:2310: SyntaxWarning: invalid escape sequence '\ '
213s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\
213s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:1547: SyntaxWarning: invalid escape sequence '\ '
213s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\
213s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:2524: SyntaxWarning: invalid escape sequence '\ '
213s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\
218s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:624: SyntaxWarning: invalid escape sequence '\ '
218s and Screenshot to diagnose VM status. **NOTE**\ : If storageUri is being
218s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:3707: SyntaxWarning: invalid escape sequence '\W'
218s characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_])
224s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16843: SyntaxWarning: invalid escape sequence '\S'
224s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required.
224s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16916: SyntaxWarning: invalid escape sequence '\S'
224s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required.
226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:63: SyntaxWarning: invalid escape sequence '\w'
226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:130: SyntaxWarning: invalid escape sequence '\w'
226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:224: SyntaxWarning: invalid escape sequence '\w'
226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:312: SyntaxWarning: invalid escape sequence '\w'
226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:398: SyntaxWarning: invalid escape sequence '\w'
226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:543: SyntaxWarning: invalid escape sequence '\w'
226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:612: SyntaxWarning: invalid escape sequence '\w'
226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:675: SyntaxWarning: invalid escape sequence '\w'
226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:738: SyntaxWarning: invalid escape sequence '\w'
226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
226s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:807: SyntaxWarning: invalid escape sequence '\w'
226s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
230s /usr/lib/python3/dist-packages/azure/mgmt/hybridnetwork/models/_models_py3.py:6032: SyntaxWarning: invalid escape sequence '\ '
230s :ivar provisioning_state: The provisioning state of the site resource. **TODO**\ : Confirm if
233s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3866: SyntaxWarning: invalid escape sequence '\ '
233s pattern set glob-style pattern (e.g., '\ *', 'clients/*\ '). Required."""
233s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3868: SyntaxWarning: invalid escape sequence '\ '
233s """Give access for ``Read``\ , ``Write`` and ``ReadWrite`` access level. Required. Known values
235s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:169: SyntaxWarning: invalid escape sequence '\ '
235s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\
235s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:1032: SyntaxWarning: invalid escape sequence '\ '
235s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\
244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2542: SyntaxWarning: invalid escape sequence '\R'
244s """Execute Reverse Replication\Reprotect.
244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2583: SyntaxWarning: invalid escape sequence '\R'
244s """Execute Reverse Replication\Reprotect.
244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2622: SyntaxWarning: invalid escape sequence '\R'
244s """Execute Reverse Replication\Reprotect.
244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5397: SyntaxWarning: invalid escape sequence '\L'
244s :ivar lun_id: Ordinal\LunId of the disk for the Azure VM.
244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5448: SyntaxWarning: invalid escape sequence '\L'
244s :keyword lun_id: Ordinal\LunId of the disk for the Azure VM.
244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8836: SyntaxWarning: invalid escape sequence '\S'
244s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8978: SyntaxWarning: invalid escape sequence '\S'
244s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
244s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9510: SyntaxWarning: invalid escape sequence '\S'
244s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9675: SyntaxWarning: invalid escape sequence '\S'
245s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11412: SyntaxWarning: invalid escape sequence '\S'
245s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after
245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11541: SyntaxWarning: invalid escape sequence '\S'
245s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after
245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12193: SyntaxWarning: invalid escape sequence '\S'
245s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12516: SyntaxWarning: invalid escape sequence '\S'
245s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26323: SyntaxWarning: invalid escape sequence '\S'
245s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26382: SyntaxWarning: invalid escape sequence '\S'
245s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3476: SyntaxWarning: invalid escape sequence '\R'
245s """Execute Reverse Replication\Reprotect.
245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3517: SyntaxWarning: invalid escape sequence '\R'
245s """Execute Reverse Replication\Reprotect.
245s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3556: SyntaxWarning: invalid escape sequence '\R'
245s """Execute Reverse Replication\Reprotect.
245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_azure_reservation_api_operations.py:163: SyntaxWarning: invalid escape sequence '\ '
245s """Get list of applicable ``Reservation``\ s.
245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:377: SyntaxWarning: invalid escape sequence '\ '
245s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:407: SyntaxWarning: invalid escape sequence '\ '
245s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:437: SyntaxWarning: invalid escape sequence '\ '
245s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:583: SyntaxWarning: invalid escape sequence '\ '
245s """Merges two ``Reservation``\ s.
245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:614: SyntaxWarning: invalid escape sequence '\ '
245s """Merges two ``Reservation``\ s.
245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:645: SyntaxWarning: invalid escape sequence '\ '
245s """Merges two ``Reservation``\ s.
245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:721: SyntaxWarning: invalid escape sequence '\ '
245s """Get ``Reservation``\ s in a given reservation Order.
245s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_order_operations.py:183: SyntaxWarning: invalid escape sequence '\ '
245s """Get all ``ReservationOrder``\ s.
246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3172: SyntaxWarning: invalid escape sequence '\ '
246s """List of ``Reservation``\ s.
246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3288: SyntaxWarning: invalid escape sequence '\ '
246s """List of ``ReservationOrder``\ s.
246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_azure_reservation_api_operations.py:239: SyntaxWarning: invalid escape sequence '\ '
246s """Get list of applicable ``Reservation``\ s.
246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:662: SyntaxWarning: invalid escape sequence '\ '
246s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:692: SyntaxWarning: invalid escape sequence '\ '
246s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:722: SyntaxWarning: invalid escape sequence '\ '
246s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:868: SyntaxWarning: invalid escape sequence '\ '
246s """Merges two ``Reservation``\ s.
246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:899: SyntaxWarning: invalid escape sequence '\ '
246s """Merges two ``Reservation``\ s.
246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:930: SyntaxWarning: invalid escape sequence '\ '
246s """Merges two ``Reservation``\ s.
246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:1006: SyntaxWarning: invalid escape sequence '\ '
246s """Get ``Reservation``\ s in a given reservation Order.
246s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_order_operations.py:299: SyntaxWarning: invalid escape sequence '\ '
246s """Get all ``ReservationOrder``\ s.
250s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:68: SyntaxWarning: invalid escape sequence '\ '
250s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end``
250s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:90: SyntaxWarning: invalid escape sequence '\ '
250s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after
250s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1141: SyntaxWarning: invalid escape sequence '\ '
250s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end``
250s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1163: SyntaxWarning: invalid escape sequence '\ '
250s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after
255s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2858: SyntaxWarning: invalid escape sequence '\ '
255s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client
255s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2925: SyntaxWarning: invalid escape sequence '\ '
255s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client
258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_functions_operations.py:595: SyntaxWarning: invalid escape sequence '\ '
258s properties to include in the response, or "\ *" to include all properties. By default, all
258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_inputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ '
258s properties to include in the response, or "\ *" to include all properties. By default, all
258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_outputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ '
258s properties to include in the response, or "\ *" to include all properties. By default, all
258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/models/_stream_analytics_management_client_enums.py:14: SyntaxWarning: invalid escape sequence '\ '
258s """Authentication Mode. Valid modes are ``ConnectionString``\ , ``Msi`` and 'UserToken'."""
258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_functions_operations.py:859: SyntaxWarning: invalid escape sequence '\ '
258s properties to include in the response, or "\ *" to include all properties. By default, all
258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_inputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ '
258s properties to include in the response, or "\ *" to include all properties. By default, all
258s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_outputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ '
258s properties to include in the response, or "\ *" to include all properties. By default, all
258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_no_subscription_operations.py:193: SyntaxWarning: invalid escape sequence '\ '
258s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_operations.py:194: SyntaxWarning: invalid escape sequence '\ '
258s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:177: SyntaxWarning: invalid escape sequence '\ '
258s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the
258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:540: SyntaxWarning: invalid escape sequence '\ '
258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:582: SyntaxWarning: invalid escape sequence '\ '
258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
258s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:622: SyntaxWarning: invalid escape sequence '\ '
258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_no_subscription_operations.py:308: SyntaxWarning: invalid escape sequence '\ '
258s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_operations.py:326: SyntaxWarning: invalid escape sequence '\ '
258s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:319: SyntaxWarning: invalid escape sequence '\ '
258s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the
258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:681: SyntaxWarning: invalid escape sequence '\ '
258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:723: SyntaxWarning: invalid escape sequence '\ '
258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
258s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:763: SyntaxWarning: invalid escape sequence '\ '
258s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
258s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6232: SyntaxWarning: invalid escape sequence '\ '
258s :ivar maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60},
258s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6288: SyntaxWarning: invalid escape sequence '\ '
258s :keyword maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60},
265s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2909: SyntaxWarning: invalid escape sequence '\W'
265s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
265s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2954: SyntaxWarning: invalid escape sequence '\W'
265s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
265s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:1980: SyntaxWarning: invalid escape sequence '\W'
265s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
265s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:2025: SyntaxWarning: invalid escape sequence '\W'
265s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
266s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:2732: SyntaxWarning: invalid escape sequence '\:'
266s attr:\:code:``=:code:``.
266s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:3537: SyntaxWarning: invalid escape sequence '\:'
266s attr:\:code:``=\:code:``.
266s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:4216: SyntaxWarning: invalid escape sequence '\:'
266s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:``
266s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:6219: SyntaxWarning: invalid escape sequence '\:'
266s attr:\:code:``=:code:``.
266s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7024: SyntaxWarning: invalid escape sequence '\:'
266s attr:\:code:``=\:code:``.
266s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7703: SyntaxWarning: invalid escape sequence '\:'
266s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:``
268s /usr/lib/python3/dist-packages/azure/servicemanagement/schedulermanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m'
268s CURRENT_USER\my\CertificateName format.
268s /usr/lib/python3/dist-packages/azure/servicemanagement/servicebusmanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m'
268s CURRENT_USER\my\CertificateName format.
268s /usr/lib/python3/dist-packages/azure/servicemanagement/servicemanagementservice.py:81: SyntaxWarning: invalid escape sequence '\m'
268s CURRENT_USER\my\CertificateName format.
268s /usr/lib/python3/dist-packages/azure/servicemanagement/sqldatabasemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m'
268s CURRENT_USER\my\CertificateName format.
268s /usr/lib/python3/dist-packages/azure/servicemanagement/websitemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m'
268s CURRENT_USER\my\CertificateName format.
268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:110: SyntaxWarning: invalid escape sequence '\d'
268s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:1328: SyntaxWarning: invalid escape sequence '\d'
268s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..).
268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4218: SyntaxWarning: invalid escape sequence '\d'
268s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4280: SyntaxWarning: invalid escape sequence '\d'
268s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:18198: SyntaxWarning: invalid escape sequence '\d'
268s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19096: SyntaxWarning: invalid escape sequence '\d'
268s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with
268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19185: SyntaxWarning: invalid escape sequence '\d'
268s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
268s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19749: SyntaxWarning: invalid escape sequence '\d'
268s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
269s Processing triggers for libc-bin (2.41-6ubuntu1) ...
269s Processing triggers for man-db (2.13.0-1) ...
271s autopkgtest [07:54:13]: test unit-tests-stable.py: [-----------------------
272s
272s
272s
272s ############################################################
272s ############################################################
272s #### Running tests in ansible_collections/community/postgresql
272s ############################################################
272s ############################################################
272s Unit test modules with Python 3.13
274s ============================= test session starts ==============================
274s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
274s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/postgresql
274s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
274s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
274s created: 2/2 workers
274s 2 workers [30 items]
274s
274s .............................. [100%]
274s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/postgresql/tests/output/junit/python3.13-modules-units.xml -
274s ============================== 30 passed in 0.95s ==============================
274s Unit test module_utils with Python 3.13
275s ============================= test session starts ==============================
275s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
275s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/postgresql
275s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
275s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
275s created: 2/2 workers
275s 2 workers [41 items]
275s
275s ......................................... [100%]
275s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/postgresql/tests/output/junit/python3.13-module_utils-units.xml -
275s ============================== 41 passed in 0.81s ==============================
275s
275s
275s
275s ############################################################
275s ############################################################
275s #### Running tests in ansible_collections/community/crypto
275s ############################################################
275s ############################################################
276s Unit test modules with Python 3.13
277s ============================= test session starts ==============================
277s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
277s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto
277s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
277s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
277s created: 2/2 workers
277s 2 workers [76 items]
277s
277s ........................................................................ [ 94%]
277s .... [100%]
277s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/output/junit/python3.13-modules-units.xml -
277s ============================== 76 passed in 0.95s ==============================
277s Unit test module_utils with Python 3.13
278s ============================= test session starts ==============================
278s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
278s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto
278s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
278s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
278s created: 2/2 workers
278s 2 workers [520 items]
278s
280s ........................................................................ [ 13%]
281s ..........................................sssssss....................... [ 27%]
281s ........................................................................ [ 41%]
282s ...........................................................s.ss.s.s.ss.s [ 55%]
285s ........................................................................ [ 69%]
289s ........................................................................ [ 83%]
293s ........................................................................ [ 96%]
293s ................ [100%]
293s =============================== warnings summary ===============================
293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_default_key_params[dsa-None-None-None]
293s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:151: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release
293s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment)
293s
293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_default_key_params[dsa-None-None-None]
293s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:153: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release
293s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment)
293s
293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
293s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:351: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release
293s assert OpensshKeypair.generate() != OpensshKeypair.generate(keytype='dsa')
293s
293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
293s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:363: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release
293s 'pair': OpensshKeypair.generate(keytype='dsa', passphrase='change_me'.encode('UTF-8')),
293s
293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
293s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/plugins/module_utils/openssh/cryptography.py:560: CryptographyDeprecationWarning: SSH DSA keys are deprecated and will be removed in a future release.
293s privatekey = privatekey_loader(
293s
293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
293s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/plugins/module_utils/openssh/cryptography.py:615: CryptographyDeprecationWarning: SSH DSA keys are deprecated and will be removed in a future release.
293s publickey = publickey_loader(
293s
293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
293s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:380: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release
293s loaded_dsa_key = OpensshKeypair.load(path=keys['dsa']['filename'], passphrase='change_me'.encode('UTF-8'))
293s
293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
293s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:383: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release
293s loaded_dsa_key.update_passphrase('change_me_again'.encode('UTF-8'))
293s
293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_keypair_comparison
293s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:386: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release
293s loaded_dsa_key.update_passphrase('change_me'.encode('UTF-8'))
293s
293s tests/unit/plugins/module_utils/test_time.py: 16 warnings
293s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/plugins/module_utils/time.py:95: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
293s return datetime.datetime.utcfromtimestamp(timestamp)
293s
293s tests/unit/plugins/module_utils/openssh/test_cryptography.py::test_valid_user_key_params[dsa-1024-change_me-comment]
293s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/unit/plugins/module_utils/openssh/test_cryptography.py:169: CryptographyDeprecationWarning: SSH DSA key support is deprecated and will be removed in a future release
293s pair = OpensshKeypair.generate(keytype=keytype, size=size, passphrase=passphrase, comment=comment)
293s
293s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
293s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/crypto/tests/output/junit/python3.13-module_utils-units.xml -
293s =========================== short test summary info ============================
293s SKIPPED [15] tests/unit/plugins/module_utils/crypto/test_asn1.py:78: unconditional skip
293s ================ 505 passed, 15 skipped, 26 warnings in 15.66s =================
293s Skipping ansible_collections/community/dns
293s Skipping ansible_collections/community/hrobot
293s Skipping ansible_collections/community/library_inventory_filtering_v1
293s
293s
293s
293s ############################################################
293s ############################################################
293s #### Running tests in ansible_collections/community/docker
293s ############################################################
293s ############################################################
293s Unit test modules with Python 3.13
295s ============================= test session starts ==============================
295s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
295s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/docker
295s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
295s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
295s created: 2/2 workers
295s 2 workers [27 items]
295s
297s ........................... [100%]
297s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/docker/tests/output/junit/python3.13-modules-units.xml -
297s ============================== 27 passed in 3.08s ==============================
297s Unit test module_utils with Python 3.13
299s ============================= test session starts ==============================
299s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
299s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/docker
299s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
299s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
299s created: 2/2 workers
299s 2 workers [551 items]
299s
299s .................................................ss.s.s.ss.s.s.......... [ 13%]
299s .......s..s.ss.s.........s.............................................. [ 26%]
300s ..........s.....................................................s....... [ 39%]
300s .............................s.......................................... [ 52%]
300s ........................................................................ [ 65%]
301s ........................................................................ [ 78%]
301s ........................................................................ [ 91%]
301s ............................................... [100%]
301s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/docker/tests/output/junit/python3.13-module_utils-units.xml -
301s =========================== short test summary info ============================
301s SKIPPED [8] tests/unit/plugins/module_utils/_api/api/test_client.py: This test requires starting a networking server and tries to access it. This does not work with network separation with Docker-based unit tests, but it does work with podman-based unit tests.
301s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:99: match_hostname is not available
301s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:92: match_hostname is not available
301s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:95: match_hostname is not available
301s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:86: match_hostname is not available
301s SKIPPED [1] tests/unit/plugins/module_utils/_api/transport/test_ssladapter.py:89: match_hostname is not available
301s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_build.py:254: Backslash patterns only on Windows
301s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_build.py:276: Backslash patterns only on Windows
301s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_config.py:76: condition: sys.platform != 'win32'
301s SKIPPED [1] tests/unit/plugins/module_utils/_api/utils/test_utils.py:471: shlex doesn't support bytes in py3
301s ======================= 534 passed, 17 skipped in 4.11s ========================
301s Unit test controller with Python 3.13
303s ============================= test session starts ==============================
303s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
303s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/docker
303s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
303s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
303s created: 2/2 workers
303s 2 workers [16 items]
303s
303s ................ [100%]
303s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/docker/tests/output/junit/python3.13-controller-units.xml -
303s ============================== 16 passed in 1.26s ==============================
303s
303s
303s
303s ############################################################
303s ############################################################
303s #### Running tests in ansible_collections/community/aws
303s ############################################################
303s ############################################################
303s Unit test modules with Python 3.13
305s ============================= test session starts ==============================
305s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
305s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws
305s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
305s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
305s created: 2/2 workers
305s 2 workers [33 items]
305s
305s ................................. [100%]
305s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws/tests/output/junit/python3.13-modules-units.xml -
305s =========================== short test summary info ============================
305s SKIPPED [1] ../../amazon/aws/tests/unit/utils/amazon_placebo_fixtures.py:16: could not import 'placebo': No module named 'placebo'
305s ======================== 33 passed, 1 skipped in 1.24s =========================
305s Unit test controller with Python 3.13
307s ============================= test session starts ==============================
307s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
307s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws
307s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
307s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
307s created: 2/2 workers
307s 2 workers [52 items]
307s
307s .................................................... [100%]
307s =============================== warnings summary ===============================
307s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_start_session
307s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:85: PytestUnraisableExceptionWarning: Exception ignored in:
307s
307s Traceback (most recent call last):
307s File "/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws/plugins/connection/aws_ssm.py", line 496, in __del__
307s self.close()
307s ~~~~~~~~~~^^
307s File "/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws/plugins/connection/aws_ssm.py", line 961, in close
307s self._vvv(f"CLOSING SSM CONNECTION TO: {self.instance_id}")
307s ^^^^^^^^^^^^^^^^
307s AttributeError: 'Connection' object has no attribute 'instance_id'
307s
307s warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
307s
307s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_exec_command
307s /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_exec_command returned ('a', 'b', ), which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`?
307s warnings.warn(
307s
307s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_wrap_command
307s /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_wrap_command returned 'windows1', which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`?
307s warnings.warn(
307s
307s tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_post_process
307s /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but tests/unit/plugins/connection/test_aws_ssm.py::TestConnectionBaseClass::test_plugins_connection_aws_ssm_post_process returned (0, ), which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`?
307s warnings.warn(
307s
307s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
307s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/aws/tests/output/junit/python3.13-controller-units.xml -
307s ======================== 52 passed, 4 warnings in 1.72s ========================
307s
307s
307s
307s ############################################################
307s ############################################################
307s #### Running tests in ansible_collections/community/vmware
307s ############################################################
307s ############################################################
308s Unit test controller with Python 3.13
309s ============================= test session starts ==============================
309s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
309s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/vmware
309s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
309s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
309s created: 2/2 workers
309s 2 workers [32 items]
309s
309s ................................ [100%]
309s =============================== warnings summary ===============================
309s tests/unit/module_utils/test_vmware.py::test_required_params[validate_certs]
309s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module0-testcase0]
309s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module5-testcase5]
309s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module7-testcase7]
309s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/vmware/plugins/module_utils/vmware.py:752: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
309s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
309s
309s tests/unit/module_utils/test_vmware.py::test_required_params[valid_http_proxy]
309s tests/unit/modules/cloud/vmware/test_vmware_guest.py::test_vmware_guest_with_parameters[patch_ansible_module6-testcase6]
309s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/vmware/plugins/module_utils/vmware.py:757: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
309s ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
309s
309s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
309s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/vmware/tests/output/junit/python3.13-controller-units.xml -
309s ======================== 32 passed, 6 warnings in 1.12s ========================
309s
309s
309s
309s ############################################################
309s ############################################################
309s #### Running tests in ansible_collections/community/libvirt
309s ############################################################
309s ############################################################
310s Unit test controller with Python 3.13
311s ============================= test session starts ==============================
311s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
311s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/libvirt
311s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
311s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
311s created: 2/2 workers
311s 2 workers [4 items]
311s
311s .... [100%]
311s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/libvirt/tests/output/junit/python3.13-controller-units.xml -
311s ============================== 4 passed in 0.65s ===============================
311s
311s
311s
311s ############################################################
311s ############################################################
311s #### Running tests in ansible_collections/community/rabbitmq
311s ############################################################
311s ############################################################
311s Unit test controller with Python 3.13
312s ============================= test session starts ==============================
312s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
312s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/rabbitmq
312s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
312s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
312s created: 2/2 workers
312s 2 workers [30 items]
312s
312s .............................. [100%]
312s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/rabbitmq/tests/output/junit/python3.13-controller-units.xml -
312s ============================== 30 passed in 0.98s ==============================
312s
312s
312s
312s ############################################################
312s ############################################################
312s #### Running tests in ansible_collections/community/hashi_vault
312s ############################################################
312s ############################################################
313s Unit test modules with Python 3.13
315s ============================= test session starts ==============================
315s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
315s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault
315s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
315s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
315s created: 2/2 workers
315s 2 workers [281 items]
315s
315s ........................................................................ [ 25%]
316s ........................................................................ [ 51%]
317s ........................................................................ [ 76%]
317s ................................................................. [100%]
317s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-modules-units.xml -
317s ============================= 281 passed in 3.85s ==============================
317s Unit test module_utils with Python 3.13
319s ============================= test session starts ==============================
319s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
319s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault
319s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
319s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
319s created: 2/2 workers
319s 2 workers [1436 items]
319s
319s ........................................................................ [ 5%]
320s ........................................................................ [ 10%]
320s ........................................................................ [ 15%]
321s ........................................................................ [ 20%]
321s ........................................................................ [ 25%]
322s ........................................................................ [ 30%]
323s ........................................................................ [ 35%]
323s ........................................................................ [ 40%]
324s ........................................................................ [ 45%]
324s ........................................................................ [ 50%]
325s ........................................................................ [ 55%]
325s ........................................................................ [ 60%]
326s ........................................................................ [ 65%]
326s ........................................................................ [ 70%]
326s ........................................................................ [ 75%]
327s ........................................................................ [ 80%]
327s ........................................................................ [ 85%]
328s ........................................................................ [ 90%]
328s ........................................................................ [ 95%]
329s .................................................................... [100%]
329s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-module_utils-units.xml -
329s ============================ 1436 passed in 11.01s =============================
329s Unit test controller with Python 3.13
331s ============================= test session starts ==============================
331s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
331s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault
331s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
331s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
331s created: 2/2 workers
331s 2 workers [619 items]
331s
332s ........................................................................ [ 11%]
333s ........................................................................ [ 23%]
334s ........................................................................ [ 34%]
335s ........................................................................ [ 46%]
336s ........................................................................ [ 58%]
337s ........................................................................ [ 69%]
338s ........................................................................ [ 81%]
338s ........................................................................ [ 93%]
338s ........................................... [100%]
338s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/hashi_vault/tests/output/junit/python3.13-controller-units.xml -
338s ============================= 619 passed in 8.69s ==============================
338s
338s
338s
338s ############################################################
338s ############################################################
338s #### Running tests in ansible_collections/community/digitalocean
338s ############################################################
338s ############################################################
339s Unit test modules with Python 3.13
340s ============================= test session starts ==============================
340s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
340s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/digitalocean
340s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
340s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
340s created: 2/2 workers
340s 2 workers [32 items]
340s
340s ................................ [100%]
340s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/digitalocean/tests/output/junit/python3.13-modules-units.xml -
340s ============================== 32 passed in 1.12s ==============================
340s Unit test controller with Python 3.13
341s ============================= test session starts ==============================
341s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
341s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/digitalocean
341s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
341s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
341s created: 2/2 workers
341s 2 workers [14 items]
341s
342s .............. [100%]
342s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/digitalocean/tests/output/junit/python3.13-controller-units.xml -
342s ============================== 14 passed in 0.96s ==============================
342s
342s
342s
342s ############################################################
342s ############################################################
342s #### Running tests in ansible_collections/community/windows
342s ############################################################
342s ############################################################
342s Unit test controller with Python 3.13
343s ============================= test session starts ==============================
343s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
343s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/windows
343s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
343s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
343s created: 2/2 workers
343s 2 workers [32 items]
343s
344s ................................ [100%]
344s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/windows/tests/output/junit/python3.13-controller-units.xml -
344s ============================== 32 passed in 1.43s ==============================
344s
344s
344s
344s ############################################################
344s ############################################################
344s #### Running tests in ansible_collections/community/sap_libs
344s ############################################################
344s ############################################################
344s Unit test modules with Python 3.13
345s ============================= test session starts ==============================
345s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
345s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/sap_libs
345s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
345s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
345s created: 2/2 workers
345s 2 workers [49 items]
345s
345s ................................................. [100%]
345s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/sap_libs/tests/output/junit/python3.13-modules-units.xml -
345s ============================== 49 passed in 1.02s ==============================
345s
345s
345s
345s ############################################################
345s ############################################################
345s #### Running tests in ansible_collections/community/routeros
345s ############################################################
345s ############################################################
346s Unit test modules with Python 3.13
347s ============================= test session starts ==============================
347s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
347s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/routeros
347s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
347s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
347s created: 2/2 workers
347s 2 workers [115 items]
347s
347s ........................................................................ [ 62%]
348s ........................................... [100%]
348s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/routeros/tests/output/junit/python3.13-modules-units.xml -
348s ============================= 115 passed in 1.68s ==============================
348s Unit test module_utils with Python 3.13
349s ============================= test session starts ==============================
349s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
349s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/routeros
349s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
349s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
349s created: 2/2 workers
349s 2 workers [146 items]
349s
349s ........................................................................ [ 49%]
349s ........................................................................ [ 98%]
349s .. [100%]
349s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/routeros/tests/output/junit/python3.13-module_utils-units.xml -
349s ============================= 146 passed in 1.29s ==============================
350s
350s
350s
350s ############################################################
350s ############################################################
350s #### Running tests in ansible_collections/community/grafana
350s ############################################################
350s ############################################################
350s Unit test controller with Python 3.13
351s ============================= test session starts ==============================
351s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
351s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/grafana
351s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
351s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
351s created: 2/2 workers
351s 2 workers [31 items]
351s
351s ............................... [100%]
351s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/grafana/tests/output/junit/python3.13-controller-units.xml -
351s ============================== 31 passed in 0.96s ==============================
351s
351s
351s
351s ############################################################
351s ############################################################
351s #### Running tests in ansible_collections/community/network
351s ############################################################
351s ############################################################
351s Unit test modules with Python 3.13
357s ============================= test session starts ==============================
357s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
357s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network
357s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
357s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
357s created: 2/2 workers
357s 2 workers [930 items]
357s
358s ........................................................................ [ 7%]
359s ........................................................................ [ 15%]
359s ........................................................................ [ 23%]
360s ........................................................................ [ 30%]
360s ........................................................................ [ 38%]
361s ........................................................................ [ 46%]
362s ........................................................................ [ 54%]
363s ........................................................................ [ 61%]
364s ............................................................ss.ssss.ss.s [ 69%]
364s sss.sss.sss.sss.sss.sss.ssss.sss.ss.ssss.ss.ss.ss.ss.ss.ss.ss.ss........ [ 77%]
365s ......................ss.ss.s........................................... [ 85%]
365s ........................................................................ [ 92%]
366s .................................................................. [100%]
366s =============================== warnings summary ===============================
366s tests/unit/plugins/modules/test_ce_is_is_instance.py::TestCloudEngineLacpModule::test_isis_instance_present
366s tests/unit/plugins/modules/test_ce_is_is_instance.py::TestCloudEngineLacpModule::test_isis_instance_present
366s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network/plugins/modules/ce_is_is_instance.py:196: DeprecationWarning: Testing an element's truth value will always return True in future versions. Use specific 'len(elem)' or 'elem is not None' test instead.
366s if glb:
366s
366s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_absent
366s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_absent
366s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_present
366s tests/unit/plugins/modules/test_ce_is_is_interface.py::TestCloudEngineLacpModule::test_isis_interface_present
366s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network/plugins/modules/ce_is_is_interface.py:513: DeprecationWarning: Testing an element's truth value will always return True in future versions. Use specific 'len(elem)' or 'elem is not None' test instead.
366s if glb:
366s
366s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
366s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network/tests/output/junit/python3.13-modules-units.xml -
366s =========================== short test summary info ============================
366s SKIPPED [61] tests/unit/plugins/modules/test_nuage_vspk.py: Nuage Ansible modules requires Python 2.7
366s ================= 869 passed, 61 skipped, 6 warnings in 14.05s =================
366s Unit test module_utils with Python 3.13
367s ============================= test session starts ==============================
367s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
367s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network
367s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
367s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
367s created: 2/2 workers
367s 2 workers [172 items]
367s
368s ........................................................................ [ 41%]
368s ........................................................................ [ 83%]
368s ............................ [100%]
368s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network/tests/output/junit/python3.13-module_utils-units.xml -
368s ============================= 172 passed in 2.15s ==============================
368s Unit test controller with Python 3.13
370s ============================= test session starts ==============================
370s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
370s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network
370s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
370s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
370s created: 2/2 workers
370s 2 workers [50 items]
370s
370s .................................................. [100%]
370s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/network/tests/output/junit/python3.13-controller-units.xml -
370s ============================== 50 passed in 1.33s ==============================
370s
370s
370s
370s ############################################################
370s ############################################################
370s #### Running tests in ansible_collections/community/mysql
370s ############################################################
370s ############################################################
370s Unit test modules with Python 3.13
371s ============================= test session starts ==============================
371s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
371s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/mysql
371s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
371s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
371s created: 2/2 workers
371s 2 workers [43 items]
371s
372s ........................................... [100%]
372s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/mysql/tests/output/junit/python3.13-modules-units.xml -
372s ============================== 43 passed in 0.87s ==============================
372s Unit test module_utils with Python 3.13
373s ============================= test session starts ==============================
373s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
373s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/mysql
373s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
373s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
373s created: 2/2 workers
373s 2 workers [84 items]
373s
373s ........................................................................ [ 85%]
373s ............ [100%]
373s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/mysql/tests/output/junit/python3.13-module_utils-units.xml -
373s ============================== 84 passed in 1.01s ==============================
373s
373s
373s
373s ############################################################
373s ############################################################
373s #### Running tests in ansible_collections/community/ciscosmb
373s ############################################################
373s ############################################################
373s Unit test modules with Python 3.13
374s ============================= test session starts ==============================
374s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
374s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/ciscosmb
374s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
374s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
374s created: 2/2 workers
374s 2 workers [56 items]
374s
375s ........................................................ [100%]
375s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/ciscosmb/tests/output/junit/python3.13-modules-units.xml -
375s ============================== 56 passed in 1.16s ==============================
375s
375s
375s
375s ############################################################
375s ############################################################
375s #### Running tests in ansible_collections/community/okd
375s ############################################################
375s ############################################################
375s Unit test modules with Python 3.13
377s ============================= test session starts ==============================
377s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
377s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/okd
377s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
377s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
377s created: 2/2 workers
377s 2 workers [13 items]
377s
377s ............. [100%]
377s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/okd/tests/output/junit/python3.13-modules-units.xml -
377s ============================== 13 passed in 1.38s ==============================
377s Unit test module_utils with Python 3.13
378s ============================= test session starts ==============================
378s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
378s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/okd
378s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
378s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
378s created: 2/2 workers
378s 2 workers [15 items]
378s
378s .s.s........... [100%]
378s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/community/okd/tests/output/junit/python3.13-module_utils-units.xml -
378s =========================== short test summary info ============================
378s SKIPPED [2] tests/unit/plugins/module_utils/test_ldap_dn.py: This test requires the python-ldap library
378s ======================== 13 passed, 2 skipped in 0.68s =========================
378s Skipping ansible_collections/community/general
378s Skipping ansible_collections/cisco/dnac
378s
378s
378s
378s ############################################################
378s ############################################################
378s #### Running tests in ansible_collections/cisco/nxos
378s ############################################################
378s ############################################################
378s Unit test controller with Python 3.13
381s ============================= test session starts ==============================
381s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
381s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos
381s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
381s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
381s created: 2/2 workers
381s 2 workers [773 items]
381s
382s ........................................................................ [ 9%]
384s ........................................................................ [ 18%]
386s ........................................................................ [ 27%]
393s ........................................................................ [ 37%]
394s ........................................................................ [ 46%]
396s ........................................................................ [ 55%]
397s ........................................................................ [ 65%]
399s ........................................................................ [ 74%]
401s ........................................................................ [ 83%]
402s ........................................................................ [ 93%]
403s ..................................................... [100%]
403s =============================== warnings summary ===============================
403s tests/unit/modules/network/nxos/test_nxos_acls.py: 91 warnings
403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:270: DeprecationWarning: 'count' is passed as positional argument
403s ace = re.sub(seq, "", ace, 1)
403s
403s tests/unit/modules/network/nxos/test_nxos_acls.py: 84 warnings
403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:279: DeprecationWarning: 'count' is passed as positional argument
403s ace = re.sub(grant, "", ace, 1)
403s
403s tests/unit/modules/network/nxos/test_nxos_acls.py: 84 warnings
403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:287: DeprecationWarning: 'count' is passed as positional argument
403s ace = re.sub(pro, "", ace, 1)
403s
403s tests/unit/modules/network/nxos/test_nxos_acls.py: 168 warnings
403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:117: DeprecationWarning: 'count' is passed as positional argument
403s ace = re.sub(option, "", ace, 1)
403s
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_ranges
403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:142: DeprecationWarning: 'count' is passed as positional argument
403s ace = re.sub(range_substring, "", ace, 1)
403s
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered
403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:116: DeprecationWarning: 'count' is passed as positional argument
403s ace = re.sub("{0}".format(wb), "", ace, 1)
403s
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark
403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:126: DeprecationWarning: 'count' is passed as positional argument
403s ace = re.sub(port_pro.group(1), "", ace, 1)
403s
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_gathered
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark
403s tests/unit/modules/network/nxos/test_nxos_acls.py::TestNxosAclsModule::test_nxos_acls_parse_remark
403s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py:127: DeprecationWarning: 'count' is passed as positional argument
403s ace = re.sub(port_pro.group(2), "", ace, 1)
403s
403s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
403s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/nxos/tests/output/junit/python3.13-controller-units.xml -
403s ====================== 773 passed, 440 warnings in 24.09s ======================
403s Skipping ansible_collections/cisco/aci
403s
403s
403s
403s ############################################################
403s ############################################################
403s #### Running tests in ansible_collections/cisco/asa
403s ############################################################
403s ############################################################
403s Unit test controller with Python 3.13
406s ============================= test session starts ==============================
406s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
406s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/asa
406s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
406s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
406s created: 2/2 workers
406s 2 workers [21 items]
406s
412s ..................... [100%]
412s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/asa/tests/output/junit/python3.13-controller-units.xml -
412s ============================== 21 passed in 7.85s ==============================
412s
412s
412s
412s ############################################################
412s ############################################################
412s #### Running tests in ansible_collections/cisco/ios
412s ############################################################
412s ############################################################
412s Unit test controller with Python 3.13
414s ============================= test session starts ==============================
414s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
414s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/ios
414s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
414s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
414s created: 2/2 workers
414s 2 workers [425 items]
414s
416s ........................................................................ [ 16%]
418s ........................................................................ [ 33%]
421s ........................................................................ [ 50%]
428s ........................................................................ [ 67%]
431s ........................................................................ [ 84%]
482s ................................................................. [100%]
482s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/ios/tests/output/junit/python3.13-controller-units.xml -
482s ======================== 425 passed in 69.74s (0:01:09) ========================
482s
482s
482s
482s ############################################################
482s ############################################################
482s #### Running tests in ansible_collections/cisco/iosxr
482s ############################################################
482s ############################################################
483s Unit test controller with Python 3.13
485s ============================= test session starts ==============================
485s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
485s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/iosxr
485s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
485s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
485s created: 2/2 workers
485s 2 workers [310 items]
485s
486s ........................................................................ [ 23%]
489s ........................................................................ [ 46%]
490s ........................................................................ [ 69%]
492s ........................................................................ [ 92%]
493s ...................... [100%]
493s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/iosxr/tests/output/junit/python3.13-controller-units.xml -
493s ============================= 310 passed in 9.86s ==============================
493s
493s
493s
493s ############################################################
493s ############################################################
493s #### Running tests in ansible_collections/arista/eos
493s ############################################################
493s ############################################################
493s Unit test controller with Python 3.13
495s ============================= test session starts ==============================
495s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
495s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/arista/eos
495s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
495s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
495s created: 2/2 workers
495s 2 workers [307 items]
495s
496s ........................................................................ [ 23%]
497s ........................................................................ [ 46%]
499s ........................................................................ [ 70%]
501s ........................................................................ [ 93%]
501s ................... [100%]
501s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/arista/eos/tests/output/junit/python3.13-controller-units.xml -
501s ============================= 307 passed in 7.17s ==============================
501s Skipping ansible_collections/splunk/es
501s
501s
501s
501s ############################################################
501s ############################################################
501s #### Running tests in ansible_collections/kubernetes/core
501s ############################################################
501s ############################################################
501s Unit test controller with Python 3.13
503s ============================= test session starts ==============================
503s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
503s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/kubernetes/core
503s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
503s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
503s created: 2/2 workers
503s 2 workers [172 items]
503s
504s ........................................................................ [ 41%]
509s ........................................................................ [ 83%]
513s ............................ [100%]
513s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/kubernetes/core/tests/output/junit/python3.13-controller-units.xml -
513s ============================= 172 passed in 11.74s =============================
514s
514s
514s
514s ############################################################
514s ############################################################
514s #### Running tests in ansible_collections/vyos/vyos
514s ############################################################
514s ############################################################
514s Unit test controller with Python 3.13
516s ============================= test session starts ==============================
516s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
516s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vyos/vyos
516s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
516s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
516s created: 2/2 workers
516s 2 workers [212 items]
516s
517s ........................................................................ [ 33%]
518s ........................................................................ [ 67%]
521s .................................................................... [100%]
521s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vyos/vyos/tests/output/junit/python3.13-controller-units.xml -
521s ============================= 212 passed in 7.14s ==============================
522s
522s
522s
522s ############################################################
522s ############################################################
522s #### Running tests in ansible_collections/hetzner/hcloud
522s ############################################################
522s ############################################################
522s Unit test controller with Python 3.13
523s ============================= test session starts ==============================
523s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
523s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/hetzner/hcloud
523s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
523s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
523s created: 2/2 workers
523s 2 workers [30 items]
523s
524s .............................. [100%]
524s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/hetzner/hcloud/tests/output/junit/python3.13-controller-units.xml -
524s ============================== 30 passed in 1.44s ==============================
524s Skipping ansible_collections/ngine_io/cloudstack
524s Skipping ansible_collections/vmware/vmware
524s
524s
524s
524s ############################################################
524s ############################################################
524s #### Running tests in ansible_collections/google/cloud
524s ############################################################
524s ############################################################
524s Unit test controller with Python 3.13
525s ============================= test session starts ==============================
525s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
525s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/google/cloud
525s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
525s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
525s created: 2/2 workers
525s 2 workers [17 items]
525s
526s ................. [100%]
526s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/google/cloud/tests/output/junit/python3.13-controller-units.xml -
526s ============================== 17 passed in 1.09s ==============================
526s
526s
526s
526s ############################################################
526s ############################################################
526s #### Running tests in ansible_collections/amazon/aws
526s ############################################################
526s ############################################################
526s Unit test modules with Python 3.13
528s ============================= test session starts ==============================
528s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
528s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/amazon/aws
528s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
528s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
528s created: 2/2 workers
528s 2 workers [348 items]
528s
529s ........................................................................ [ 20%]
529s ........................................................................ [ 41%]
530s ........................................................................ [ 62%]
530s ........................................................................ [ 82%]
531s ............................................................ [100%]
531s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/amazon/aws/tests/output/junit/python3.13-modules-units.xml -
531s =========================== short test summary info ============================
531s SKIPPED [1] tests/unit/utils/amazon_placebo_fixtures.py:16: could not import 'placebo': No module named 'placebo'
531s ======================== 348 passed, 1 skipped in 4.43s ========================
531s Unit test controller with Python 3.13
534s ============================= test session starts ==============================
534s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
534s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/amazon/aws
534s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
534s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
534s created: 2/2 workers
534s 2 workers [1252 items]
534s
535s ........................................................................ [ 5%]
536s ........................................................................ [ 11%]
537s ........................................................................ [ 17%]
537s ........................................................................ [ 23%]
538s ........................................................................ [ 28%]
539s ........................................................................ [ 34%]
555s ........................................................................ [ 40%]
556s ........................................................................ [ 46%]
557s ........................................................................ [ 51%]
558s ........................................................................ [ 57%]
559s ........................................................................ [ 63%]
560s ........................................................................ [ 69%]
561s ........................................................................ [ 74%]
562s ........................................................................ [ 80%]
562s ........................................................................ [ 86%]
564s ........................................................................ [ 92%]
737s ........................................................................ [ 97%]
738s ............................ [100%]
738s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/amazon/aws/tests/output/junit/python3.13-controller-units.xml -
738s ======================= 1252 passed in 206.13s (0:03:26) =======================
738s
738s
738s
738s ############################################################
738s ############################################################
738s #### Running tests in ansible_collections/wti/remote
738s ############################################################
738s ############################################################
738s Unit test controller with Python 3.13
739s ============================= test session starts ==============================
739s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
739s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/wti/remote
739s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
739s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
739s created: 2/2 workers
739s 2 workers [1 item]
739s
739s . [100%]
739s =============================== warnings summary ===============================
739s tests/unit/test_example.py::test_example
739s /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but tests/unit/test_example.py::test_example returned 1, which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`?
739s warnings.warn(
739s
739s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
739s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/wti/remote/tests/output/junit/python3.13-controller-units.xml -
739s ========================= 1 passed, 1 warning in 0.53s =========================
739s
739s
739s
739s ############################################################
739s ############################################################
739s #### Running tests in ansible_collections/vultr/cloud
739s ############################################################
739s ############################################################
739s Unit test controller with Python 3.13
741s ============================= test session starts ==============================
741s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
741s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vultr/cloud
741s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
741s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
741s created: 2/2 workers
741s 2 workers [15 items]
741s
741s ............... [100%]
741s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/vultr/cloud/tests/output/junit/python3.13-controller-units.xml -
741s ============================== 15 passed in 1.25s ==============================
741s
741s
741s
741s ############################################################
741s ############################################################
741s #### Running tests in ansible_collections/cyberark/conjur
741s ############################################################
741s ############################################################
741s Unit test controller with Python 3.13
743s ============================= test session starts ==============================
743s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
743s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cyberark/conjur
743s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
743s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
743s created: 2/2 workers
743s 2 workers [21 items]
743s
743s ..................... [100%]
743s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cyberark/conjur/tests/output/junit/python3.13-controller-units.xml -
743s ============================== 21 passed in 1.24s ==============================
743s
743s
743s
743s ############################################################
743s ############################################################
743s #### Running tests in ansible_collections/ibm/storage_virtualize
743s ############################################################
743s ############################################################
743s Unit test modules with Python 3.13
745s ============================= test session starts ==============================
745s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
745s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/storage_virtualize
745s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
745s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
745s created: 2/2 workers
745s 2 workers [762 items]
745s
746s ........................................................................ [ 9%]
747s ........................................................................ [ 18%]
747s ........................................................................ [ 28%]
748s ........................................................................ [ 37%]
749s ........................................................................ [ 47%]
750s ........................................................................ [ 56%]
751s ........................................................................ [ 66%]
752s ........................................................................ [ 75%]
753s ........................................................................ [ 85%]
753s ........................................................................ [ 94%]
754s .......................................... [100%]
754s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/storage_virtualize/tests/output/junit/python3.13-modules-units.xml -
754s ============================= 762 passed in 10.40s =============================
754s Unit test module_utils with Python 3.13
755s ============================= test session starts ==============================
755s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
755s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/storage_virtualize
755s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
755s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
755s created: 2/2 workers
755s 2 workers [12 items]
755s
755s ............ [100%]
755s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/storage_virtualize/tests/output/junit/python3.13-module_utils-units.xml -
755s ============================== 12 passed in 0.85s ==============================
755s
755s
755s
755s ############################################################
755s ############################################################
755s #### Running tests in ansible_collections/ibm/spectrum_virtualize
755s ############################################################
755s ############################################################
756s Unit test modules with Python 3.13
758s ============================= test session starts ==============================
758s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
758s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/spectrum_virtualize
758s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
758s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
758s created: 2/2 workers
758s 2 workers [613 items]
758s
758s ........................................................................ [ 11%]
759s ........................................................................ [ 23%]
760s ........................................................................ [ 35%]
761s ........................................................................ [ 46%]
761s ........................................................................ [ 58%]
762s ........................................................................ [ 70%]
763s ........................................................................ [ 82%]
763s ........................................................................ [ 93%]
764s ..................................... [100%]
764s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/spectrum_virtualize/tests/output/junit/python3.13-modules-units.xml -
764s ============================= 613 passed in 7.70s ==============================
764s Unit test module_utils with Python 3.13
765s ============================= test session starts ==============================
765s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
765s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/spectrum_virtualize
765s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
765s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
765s created: 2/2 workers
765s 2 workers [9 items]
765s
765s ......... [100%]
765s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/spectrum_virtualize/tests/output/junit/python3.13-module_utils-units.xml -
765s ============================== 9 passed in 0.81s ===============================
765s
765s
765s
765s ############################################################
765s ############################################################
765s #### Running tests in ansible_collections/ibm/qradar
765s ############################################################
765s ############################################################
765s Unit test controller with Python 3.13
766s ============================= test session starts ==============================
766s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
766s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/qradar
766s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
766s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
766s created: 2/2 workers
766s 2 workers [5 items]
766s
766s ..... [100%]
766s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ibm/qradar/tests/output/junit/python3.13-controller-units.xml -
766s ============================== 5 passed in 0.87s ===============================
766s
766s
766s
766s ############################################################
766s ############################################################
766s #### Running tests in ansible_collections/kubevirt/core
766s ############################################################
766s ############################################################
767s Unit test controller with Python 3.13
769s ============================= test session starts ==============================
769s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
769s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/kubevirt/core
769s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
769s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
769s created: 2/2 workers
769s 2 workers [190 items]
769s
770s ........................................................................ [ 37%]
770s ........................................................................ [ 75%]
770s .............................................. [100%]
770s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/kubevirt/core/tests/output/junit/python3.13-controller-units.xml -
770s ============================= 190 passed in 2.61s ==============================
771s
771s
771s
771s ############################################################
771s ############################################################
771s #### Running tests in ansible_collections/dellemc/openmanage
771s ############################################################
771s ############################################################
771s Unit test modules with Python 3.13
778s ============================= test session starts ==============================
778s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
778s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage
778s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
778s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
778s created: 2/2 workers
778s 2 workers [2636 items]
778s
778s ........................................................................ [ 2%]
779s ........................................................................ [ 5%]
780s ........................................................................ [ 8%]
780s ........................................................................ [ 10%]
781s ........................................................................ [ 13%]
782s ........................................................................ [ 16%]
783s ........................................................................ [ 19%]
784s ........................................................................ [ 21%]
785s ........................................................................ [ 24%]
786s ........................................................................ [ 27%]
787s ........................................................................ [ 30%]
792s ........................................................................ [ 32%]
794s ........................................................................ [ 35%]
795s ........................................................................ [ 38%]
796s ........................................................................ [ 40%]
797s ........................................................................ [ 43%]
797s ........................................................................ [ 46%]
798s ........................................................................ [ 49%]
799s ........................................................................ [ 51%]
800s ........................................................................ [ 54%]
801s ........................................................................ [ 57%]
802s ........................................................................ [ 60%]
805s ........................................................................ [ 62%]
806s ........................................................................ [ 65%]
807s ........................................................................ [ 68%]
808s ........................................................................ [ 71%]
810s ........................................................................ [ 73%]
811s ........................................................................ [ 76%]
812s ........................................................................ [ 79%]
813s ........................................................................ [ 81%]
814s ........................................................................ [ 84%]
815s ........................................................................ [ 87%]
848s ........................................................................ [ 90%]
849s ........................................................................ [ 92%]
850s ........................................................................ [ 95%]
852s ........................................................................ [ 98%]
852s ............................................ [100%]
852s =============================== warnings summary ===============================
852s tests/unit/plugins/modules/test_idrac_support_assist.py: 30 warnings
852s tests/unit/plugins/modules/test_idrac_system_erase.py: 6 warnings
852s tests/unit/plugins/modules/test_idrac_diagnostics.py: 19 warnings
852s tests/unit/plugins/modules/test_idrac_firmware_info.py: 6 warnings
852s tests/unit/plugins/modules/test_ome_application_network_proxy.py: 1 warning
852s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage/plugins/module_utils/utils.py:117: DeprecationWarning: 'count' is passed as positional argument
852s ipv6_short = re.sub(r'(:0)+', ':', tempstr, 1)
852s
852s tests/unit/plugins/modules/test_idrac_server_config_profile.py::TestServerConfigProfile::test_compare_custom_default_configs[params0]
852s tests/unit/plugins/modules/test_idrac_server_config_profile.py::TestServerConfigProfile::test_compare_custom_default_configs[params0]
852s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage/plugins/modules/idrac_server_config_profile.py:861: DeprecationWarning: Testing an element's truth value will always return True in future versions. Use specific 'len(elem)' or 'elem is not None' test instead.
852s if component:
852s
852s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
852s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage/tests/output/junit/python3.13-modules-units.xml -
852s =========================== short test summary info ============================
852s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_configure_idrac_eventing.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_configure_idrac_services.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_idrac_lc_attributes.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_idrac_storage_volume.py:22: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_dellemc_system_lockdown_mode.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_firmware.py:27: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_job_status_info.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_jobs.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_logs.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_lifecycle_controller_status_info.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_network.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_os_deployment.py:22: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_syslog.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_system_info.py:26: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s SKIPPED [1] tests/unit/plugins/modules/test_idrac_timezone_ntp.py:25: could not import 'omsdk.sdkfile': No module named 'omsdk'
852s =========== 2636 passed, 15 skipped, 64 warnings in 81.11s (0:01:21) ===========
853s Unit test module_utils with Python 3.13
854s ============================= test session starts ==============================
854s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
854s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage
854s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
854s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
854s created: 2/2 workers
854s 2 workers [121 items]
854s
854s ........................................................................ [ 59%]
855s ................................................. [100%]
855s =============================== warnings summary ===============================
855s tests/unit/plugins/module_utils/test_idrac_redfish.py::TestIdracRedfishRest::test_invoke_request_without_session
855s tests/unit/plugins/module_utils/test_ome.py::TestOMERest::test_invoke_request_with_session
855s tests/unit/plugins/module_utils/test_redfish.py::TestRedfishRest::test_invoke_request_without_session
855s tests/unit/plugins/module_utils/test_rest_api.py::TestRestAPI::test_invoke_request_with_session
855s tests/unit/plugins/module_utils/test_session_utils.py::TestSessionRest::test_invoke_request_without_session
855s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage/plugins/module_utils/utils.py:117: DeprecationWarning: 'count' is passed as positional argument
855s ipv6_short = re.sub(r'(:0)+', ':', tempstr, 1)
855s
855s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
855s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/openmanage/tests/output/junit/python3.13-module_utils-units.xml -
855s ======================= 121 passed, 5 warnings in 1.98s ========================
855s
855s
855s
855s ############################################################
855s ############################################################
855s #### Running tests in ansible_collections/dellemc/enterprise_sonic
855s ############################################################
855s ############################################################
855s Unit test controller with Python 3.13
858s ============================= test session starts ==============================
858s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
858s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/enterprise_sonic
858s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
858s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
858s created: 2/2 workers
858s 2 workers [404 items]
858s
862s ........................................................................ [ 17%]
865s ........................................................................ [ 35%]
869s ........................................................................ [ 53%]
873s ........................................................................ [ 71%]
879s ........................................................................ [ 89%]
883s ............................................ [100%]
883s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/enterprise_sonic/tests/output/junit/python3.13-controller-units.xml -
883s ============================= 404 passed in 27.08s =============================
883s
883s
883s
883s ############################################################
883s ############################################################
883s #### Running tests in ansible_collections/dellemc/powerflex
883s ############################################################
883s ############################################################
883s Unit test modules with Python 3.13
885s ============================= test session starts ==============================
885s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
885s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/powerflex
885s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
885s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
885s created: 2/2 workers
885s 2 workers [405 items]
885s
886s ........................................................................ [ 17%]
886s ........................................................................ [ 35%]
887s ........................................................................ [ 53%]
887s ........................................................................ [ 71%]
888s ........................................................................ [ 88%]
888s ............................................. [100%]
888s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/powerflex/tests/output/junit/python3.13-modules-units.xml -
888s ============================= 405 passed in 4.48s ==============================
888s
888s
888s
888s ############################################################
888s ############################################################
888s #### Running tests in ansible_collections/dellemc/unity
888s ############################################################
888s ############################################################
888s Unit test modules with Python 3.13
890s ============================= test session starts ==============================
890s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
890s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/unity
890s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
890s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
890s created: 2/2 workers
890s 2 workers [92 items]
890s
891s ........................................................................ [ 78%]
891s .................... [100%]
891s =============================== warnings summary ===============================
891s plugins/module_utils/storage/dell/utils.py:72
891s plugins/module_utils/storage/dell/utils.py:72
891s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/unity/plugins/module_utils/storage/dell/utils.py:72: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
891s from pkg_resources import parse_version
891s
891s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
891s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/dellemc/unity/tests/output/junit/python3.13-modules-units.xml -
891s ======================== 92 passed, 2 warnings in 1.95s ========================
891s
891s
891s
891s ############################################################
891s ############################################################
891s #### Running tests in ansible_collections/netapp/cloudmanager
891s ############################################################
891s ############################################################
891s Unit test modules with Python 3.13
893s ============================= test session starts ==============================
893s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
893s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/cloudmanager
893s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
893s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
893s created: 2/2 workers
893s 2 workers [106 items]
893s
909s ........................................................................ [ 67%]
939s .................................. [100%]
939s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/cloudmanager/tests/output/junit/python3.13-modules-units.xml -
939s ============================= 106 passed in 47.56s =============================
939s Unit test module_utils with Python 3.13
941s ============================= test session starts ==============================
941s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
941s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/cloudmanager
941s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
941s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
941s created: 2/2 workers
941s 2 workers [52 items]
941s
941s .................................................... [100%]
941s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/cloudmanager/tests/output/junit/python3.13-module_utils-units.xml -
941s ============================== 52 passed in 1.83s ==============================
942s Skipping ansible_collections/netapp/ontap
942s
942s
942s
942s ############################################################
942s ############################################################
942s #### Running tests in ansible_collections/netapp/storagegrid
942s ############################################################
942s ############################################################
942s Unit test modules with Python 3.13
943s ============================= test session starts ==============================
943s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
943s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/storagegrid
943s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
943s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
943s created: 2/2 workers
943s 2 workers [154 items]
943s
944s ........................................................................ [ 46%]
945s ........................................................................ [ 93%]
945s .......... [100%]
945s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netapp/storagegrid/tests/output/junit/python3.13-modules-units.xml -
945s ============================= 154 passed in 2.64s ==============================
945s Skipping ansible_collections/ansible/utils
945s
945s
945s
945s ############################################################
945s ############################################################
945s #### Running tests in ansible_collections/ansible/windows
945s ############################################################
945s ############################################################
945s Unit test controller with Python 3.13
947s ============================= test session starts ==============================
947s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
947s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/windows
947s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
947s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
947s created: 2/2 workers
947s 2 workers [50 items]
947s
947s .................................................. [100%]
947s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/windows/tests/output/junit/python3.13-controller-units.xml -
947s ============================== 50 passed in 1.43s ==============================
947s
947s
947s
947s ############################################################
947s ############################################################
947s #### Running tests in ansible_collections/ansible/netcommon
947s ############################################################
947s ############################################################
947s Unit test controller with Python 3.13
949s ============================= test session starts ==============================
949s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
949s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/netcommon
949s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
949s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
949s created: 2/2 workers
949s 2 workers [162 items]
949s
950s ........................................................................ [ 44%]
952s ..................................x...x................................. [ 88%]
953s ...............x.. [100%]
953s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/netcommon/tests/output/junit/python3.13-controller-units.xml -
953s =========================== short test summary info ============================
953s SKIPPED [1] tests/unit/plugins/cli_parsers/test_pyats_parser.py:21: could not import 'pyats': No module named 'pyats'
953s SKIPPED [1] tests/unit/plugins/connection/test_libssh.py:23: could not import 'pylibsshext': No module named 'pylibsshext'
953s SKIPPED [1] tests/unit/plugins/connection/test_netconf.py:19: could not import 'ncclient': No module named 'ncclient'
953s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[auto-response2]
953s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[paramiko-response2]
953s XFAIL tests/unit/plugins/connection/test_network_cli.py::test_network_cli_send[libssh-response2]
953s ================== 159 passed, 3 skipped, 3 xfailed in 4.79s ===================
953s
953s
953s
953s ############################################################
953s ############################################################
953s #### Running tests in ansible_collections/ansible/posix
953s ############################################################
953s ############################################################
953s Unit test controller with Python 3.13
954s ============================= test session starts ==============================
954s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
954s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/posix
954s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
954s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
954s created: 2/2 workers
954s 2 workers [14 items]
954s
954s .............. [100%]
954s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/posix/tests/output/junit/python3.13-controller-units.xml -
954s ============================== 14 passed in 0.97s ==============================
954s
954s
954s
954s ############################################################
954s ############################################################
954s #### Running tests in ansible_collections/containers/podman
954s ############################################################
954s ############################################################
955s Unit test modules with Python 3.13
956s ============================= test session starts ==============================
956s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
956s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/containers/podman
956s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
956s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
956s created: 2/2 workers
956s 2 workers [10 items]
956s
956s .......... [100%]
956s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/containers/podman/tests/output/junit/python3.13-modules-units.xml -
956s ============================== 10 passed in 0.73s ==============================
956s
956s
956s
956s ############################################################
956s ############################################################
956s #### Running tests in ansible_collections/microsoft/ad
956s ############################################################
956s ############################################################
956s Unit test controller with Python 3.13
957s ============================= test session starts ==============================
957s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
957s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/microsoft/ad
957s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
957s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
957s created: 2/2 workers
957s 2 workers [118 items]
957s
958s ........................................................................ [ 61%]
961s ................ss............................ [100%]
961s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/microsoft/ad/tests/output/junit/python3.13-controller-units.xml -
961s =========================== short test summary info ============================
961s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_laps.py:9: could not import 'dpapi_ng': No module named 'dpapi_ng'
961s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_schema.py:8: could not import 'sansldap': No module named 'sansldap'
961s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_certificate.py:179: Hash algorithm is unavailable: Hash algorithm "md5" not supported for signatures
961s SKIPPED [1] tests/unit/plugins/plugin_utils/_ldap/test_certificate.py:179: Hash algorithm is unavailable: Hash algorithm "sha1" not supported for signatures
961s ======================== 116 passed, 4 skipped in 4.94s ========================
961s Skipping ansible_collections/infoblox/nios_modules
961s Skipping ansible_collections/sensu/sensu_go
961s Skipping ansible_collections/netapp_eseries/santricity
961s Skipping ansible_collections/junipernetworks/junos
961s
961s
961s
961s ############################################################
961s ############################################################
961s #### Running tests in ansible_collections/cloud/common
961s ############################################################
961s ############################################################
962s Unit test module_utils with Python 3.13
963s ============================= test session starts ==============================
963s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
963s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cloud/common
963s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
963s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
963s created: 2/2 workers
963s 2 workers [19 items]
963s
964s ................... [100%]
964s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cloud/common/tests/output/junit/python3.13-module_utils-units.xml -
964s ============================== 19 passed in 2.13s ==============================
964s
964s
964s
964s ############################################################
964s ############################################################
964s #### Running tests in ansible_collections/netbox/netbox
964s ############################################################
964s ############################################################
965s Unit test controller with Python 3.13
966s ============================= test session starts ==============================
966s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
966s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netbox/netbox
966s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
966s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
966s created: 2/2 workers
966s 2 workers [208 items]
966s
966s ........................................................................ [ 34%]
967s ........................................................................ [ 69%]
967s ................................................................ [100%]
967s =============================== warnings summary ===============================
967s tests/unit/inventory/test_nb_inventory.py::test_refresh_lookups
967s /usr/lib/python3/dist-packages/_pytest/threadexception.py:82: PytestUnhandledThreadExceptionWarning: Exception in thread Thread-2 (wrapper)
967s
967s Traceback (most recent call last):
967s File "/usr/lib/python3.13/threading.py", line 1041, in _bootstrap_inner
967s self.run()
967s ~~~~~~~~^^
967s File "/usr/lib/python3.13/threading.py", line 992, in run
967s self._target(*self._args, **self._kwargs)
967s ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
967s File "/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netbox/netbox/plugins/inventory/nb_inventory.py", line 1569, in wrapper
967s raise e
967s File "/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netbox/netbox/plugins/inventory/nb_inventory.py", line 1564, in wrapper
967s lookup()
967s ~~~~~~^^
967s File "/tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netbox/netbox/tests/unit/inventory/test_nb_inventory.py", line 154, in raises_exception
967s raise Exception("Error from within a thread")
967s Exception: Error from within a thread
967s
967s warnings.warn(pytest.PytestUnhandledThreadExceptionWarning(msg))
967s
967s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
967s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/netbox/netbox/tests/output/junit/python3.13-controller-units.xml -
967s ======================== 208 passed, 1 warning in 2.40s ========================
968s autopkgtest [08:05:50]: test unit-tests-stable.py: -----------------------]
969s autopkgtest [08:05:51]: test unit-tests-stable.py: - - - - - - - - - - results - - - - - - - - - -
969s unit-tests-stable.py PASS
969s autopkgtest [08:05:51]: test unit-tests-flaky.py: preparing testbed
1101s autopkgtest [08:08:03]: testbed dpkg architecture: ppc64el
1101s autopkgtest [08:08:03]: testbed apt version: 3.0.0
1102s autopkgtest [08:08:04]: @@@@@@@@@@@@@@@@@@@@ test bed setup
1102s autopkgtest [08:08:04]: testbed release detected to be: questing
1103s autopkgtest [08:08:05]: updating testbed package index (apt update)
1103s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB]
1103s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease
1103s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease
1104s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease
1104s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2202 kB]
1104s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [184 kB]
1104s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [57.4 kB]
1104s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main ppc64el Packages [221 kB]
1104s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el Packages [1320 kB]
1104s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse ppc64el Packages [16.5 kB]
1105s Fetched 4111 kB in 2s (2720 kB/s)
1106s Reading package lists...
1106s autopkgtest [08:08:08]: upgrading testbed (apt dist-upgrade and autopurge)
1106s Reading package lists...
1106s Building dependency tree...
1106s Reading state information...
1107s Calculating upgrade...Starting pkgProblemResolver with broken count: 0
1107s Starting 2 pkgProblemResolver with broken count: 0
1107s Done
1107s Entering ResolveByKeep
1107s
1107s Calculating upgrade...
1108s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1108s Reading package lists...
1108s Building dependency tree...
1108s Reading state information...
1108s Starting pkgProblemResolver with broken count: 0
1108s Starting 2 pkgProblemResolver with broken count: 0
1108s Done
1108s Solving dependencies...
1109s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1111s Reading package lists...
1112s Building dependency tree...
1112s Reading state information...
1112s Starting pkgProblemResolver with broken count: 0
1112s Starting 2 pkgProblemResolver with broken count: 0
1112s Done
1112s The following NEW packages will be installed:
1112s ansible ansible-core fontconfig-config fonts-dejavu-core fonts-dejavu-mono
1112s gir1.2-secret-1 git git-man libcairo-gobject2 libcairo2 liberror-perl
1112s libfontconfig1 libpixman-1-0 libsecret-1-0 libsecret-common libsodium23
1112s libxcb-render0 libxcb-shm0 libxrender1 libxslt1.1 python3-adal
1112s python3-aiohappyeyeballs python3-aiohttp python3-aiosignal
1112s python3-async-timeout python3-avro python3-azure python3-azure-storage
1112s python3-boto3 python3-botocore python3-cachetools python3-cairo
1112s python3-click python3-colorama python3-dateutil python3-deprecated
1112s python3-dnspython python3-execnet python3-flake8 python3-freezegun
1112s python3-frozenlist python3-gi-cairo python3-gitlab python3-google-auth
1112s python3-httmock python3-hvac python3-iniconfig python3-isodate
1112s python3-jmespath python3-joblib python3-kubernetes python3-lxml
1112s python3-marshmallow python3-mccabe python3-mock python3-msal
1112s python3-msal-extensions python3-msrest python3-msrestazure python3-multidict
1112s python3-nacl python3-nltk python3-packaging python3-paramiko
1112s python3-pathspec python3-pluggy python3-portalocker python3-proxmoxer
1112s python3-psutil python3-py python3-pyasn1 python3-pyasn1-modules
1112s python3-pycodestyle python3-pydash python3-pyflakes python3-pyhcl
1112s python3-pytest python3-pytest-forked python3-pytest-mock
1112s python3-pytest-xdist python3-pyu2f python3-pyvmomi python3-redis
1112s python3-regex python3-requests-oauthlib python3-requests-toolbelt
1112s python3-resolvelib python3-responses python3-rsa python3-ruamel.yaml
1112s python3-ruamel.yaml.clib python3-s3transfer python3-six python3-strictyaml
1112s python3-textfsm python3-tqdm python3-websocket python3-wrapt
1112s python3-xmltodict python3-yarl yamllint
1112s 0 upgraded, 101 newly installed, 0 to remove and 0 not upgraded.
1112s Need to get 62.6 MB of archives.
1112s After this operation, 1005 MB of additional disk space will be used.
1112s Get:1 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-packaging all 24.2-1 [51.5 kB]
1113s Get:2 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-resolvelib all 1.1.0-1 [25.8 kB]
1113s Get:3 http://ftpmaster.internal/ubuntu questing/main ppc64el libsodium23 ppc64el 1.0.18-1build3 [150 kB]
1113s Get:4 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-nacl ppc64el 1.5.0-7 [59.1 kB]
1113s Get:5 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-paramiko all 3.5.1-2ubuntu1 [147 kB]
1113s Get:6 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-dnspython all 2.7.0-1ubuntu1 [167 kB]
1113s Get:7 http://ftpmaster.internal/ubuntu questing/universe ppc64el ansible-core all 2.18.1-4ubuntu1 [1273 kB]
1113s Get:8 http://ftpmaster.internal/ubuntu questing/universe ppc64el ansible all 11.2.0+dfsg-1 [18.1 MB]
1114s Get:9 http://ftpmaster.internal/ubuntu questing/main ppc64el fonts-dejavu-mono all 2.37-8 [502 kB]
1114s Get:10 http://ftpmaster.internal/ubuntu questing/main ppc64el fonts-dejavu-core all 2.37-8 [835 kB]
1114s Get:11 http://ftpmaster.internal/ubuntu questing/main ppc64el fontconfig-config ppc64el 2.15.0-2.2ubuntu1 [37.9 kB]
1114s Get:12 http://ftpmaster.internal/ubuntu questing/main ppc64el libsecret-common all 0.21.7-1 [5160 B]
1114s Get:13 http://ftpmaster.internal/ubuntu questing/main ppc64el libsecret-1-0 ppc64el 0.21.7-1 [126 kB]
1114s Get:14 http://ftpmaster.internal/ubuntu questing/main ppc64el gir1.2-secret-1 ppc64el 0.21.7-1 [9396 B]
1114s Get:15 http://ftpmaster.internal/ubuntu questing/main ppc64el liberror-perl all 0.17030-1 [23.5 kB]
1114s Get:16 http://ftpmaster.internal/ubuntu questing/main ppc64el git-man all 1:2.48.1-0ubuntu1 [1148 kB]
1114s Get:17 http://ftpmaster.internal/ubuntu questing/main ppc64el git ppc64el 1:2.48.1-0ubuntu1 [7338 kB]
1114s Get:18 http://ftpmaster.internal/ubuntu questing/main ppc64el libfontconfig1 ppc64el 2.15.0-2.2ubuntu1 [187 kB]
1114s Get:19 http://ftpmaster.internal/ubuntu questing/main ppc64el libpixman-1-0 ppc64el 0.44.0-3 [334 kB]
1114s Get:20 http://ftpmaster.internal/ubuntu questing/main ppc64el libxcb-render0 ppc64el 1.17.0-2 [17.2 kB]
1114s Get:21 http://ftpmaster.internal/ubuntu questing/main ppc64el libxcb-shm0 ppc64el 1.17.0-2 [5980 B]
1114s Get:22 http://ftpmaster.internal/ubuntu questing/main ppc64el libxrender1 ppc64el 1:0.9.10-1.1build1 [23.1 kB]
1114s Get:23 http://ftpmaster.internal/ubuntu questing/main ppc64el libcairo2 ppc64el 1.18.4-1 [746 kB]
1114s Get:24 http://ftpmaster.internal/ubuntu questing/main ppc64el libcairo-gobject2 ppc64el 1.18.4-1 [128 kB]
1114s Get:25 http://ftpmaster.internal/ubuntu questing/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1ubuntu4 [191 kB]
1114s Get:26 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-dateutil all 2.9.0-4 [80.3 kB]
1114s Get:27 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-adal all 1.2.7-5 [33.0 kB]
1114s Get:28 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiohappyeyeballs all 2.6.1-1 [11.1 kB]
1114s Get:29 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-multidict ppc64el 6.2.0-2 [37.9 kB]
1114s Get:30 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-yarl ppc64el 1.13.1-1build2 [102 kB]
1114s Get:31 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-async-timeout all 5.0.1-1 [6830 B]
1114s Get:32 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-frozenlist ppc64el 1.5.0-1build2 [53.2 kB]
1114s Get:33 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiosignal all 1.3.2-1 [5182 B]
1114s Get:34 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-aiohttp ppc64el 3.10.11-1build1 [315 kB]
1114s Get:35 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-avro all 1.12.0+dfsg-1 [75.3 kB]
1114s Get:36 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-isodate all 0.7.0-1 [18.6 kB]
1115s Get:37 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-requests-oauthlib all 1.3.1-1 [18.8 kB]
1115s Get:38 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msrest all 0.6.21-5 [48.7 kB]
1115s Get:39 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msrestazure all 0.6.4-4 [27.1 kB]
1115s Get:40 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el python3-azure-storage all 20250401+git-1 [300 kB]
1115s Get:41 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-colorama all 0.4.6-4 [32.1 kB]
1115s Get:42 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-marshmallow all 3.26.1-0.2 [47.5 kB]
1115s Get:43 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msal all 1.32.0-1 [100 kB]
1115s Get:44 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-cairo ppc64el 1.27.0-2 [129 kB]
1115s Get:45 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-gi-cairo ppc64el 3.50.0-4build1 [8252 B]
1115s Get:46 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-portalocker all 2.2.1-1 [17.2 kB]
1115s Get:47 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-msal-extensions all 1.3.1-1 [18.2 kB]
1115s Get:48 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB]
1115s Get:49 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-joblib all 1.4.2-3 [205 kB]
1115s Get:50 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-regex ppc64el 0.1.20241106-1build1 [326 kB]
1115s Get:51 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-tqdm all 4.67.1-3 [91.6 kB]
1115s Get:52 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-nltk all 3.9.1-2 [1006 kB]
1115s Get:53 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-psutil ppc64el 5.9.8-2build3 [197 kB]
1115s Get:54 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pydash all 8.0.3-3 [93.0 kB]
1115s Get:55 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-six all 1.17.0-1 [13.2 kB]
1115s Get:56 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.12+ds-1build1 [169 kB]
1115s Get:57 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1 [127 kB]
1115s Get:58 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-strictyaml all 1.6.1-3 [89.1 kB]
1115s Get:59 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-websocket all 1.8.0-2 [38.5 kB]
1115s Get:60 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el python3-azure all 20250401+git-1 [16.0 MB]
1115s Get:61 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-jmespath all 1.0.1-1 [21.3 kB]
1115s Get:62 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-botocore all 1.37.9+repack-1 [6982 kB]
1116s Get:63 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-s3transfer all 0.11.2-2 [55.5 kB]
1116s Get:64 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-boto3 all 1.37.9-1 [73.0 kB]
1116s Get:65 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-cachetools all 5.3.3-1 [10.3 kB]
1116s Get:66 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-wrapt ppc64el 1.15.0-4build1 [35.7 kB]
1116s Get:67 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-deprecated all 1.2.18-1 [10.6 kB]
1116s Get:68 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-execnet all 2.1.1-1 [33.4 kB]
1116s Get:69 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-mccabe all 0.7.0-1 [8678 B]
1116s Get:70 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pycodestyle all 2.12.1-2 [30.2 kB]
1116s Get:71 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyflakes all 3.2.0-3 [53.0 kB]
1116s Get:72 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-flake8 all 7.1.1-3 [44.0 kB]
1116s Get:73 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-freezegun all 1.5.1-1.2 [15.9 kB]
1116s Get:74 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-requests-toolbelt all 1.0.0-4 [37.0 kB]
1116s Get:75 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-gitlab all 1:4.9.0-1 [75.0 kB]
1116s Get:76 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-pyasn1 all 0.6.1-1 [56.4 kB]
1116s Get:77 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-pyasn1-modules all 0.4.1-2 [80.3 kB]
1116s Get:78 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyu2f all 0.1.5-4 [22.9 kB]
1116s Get:79 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-responses all 0.25.6-1 [40.5 kB]
1116s Get:80 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-rsa all 4.9-2 [28.2 kB]
1116s Get:81 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-google-auth all 2.28.2-3 [91.0 kB]
1116s Get:82 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-httmock all 1.4.0-5 [6544 B]
1116s Get:83 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyhcl all 0.4.4-6 [43.1 kB]
1116s Get:84 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-hvac all 2.3.0-3 [88.1 kB]
1116s Get:85 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B]
1116s Get:86 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-kubernetes all 30.1.0-2 [385 kB]
1116s Get:87 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-lxml ppc64el 5.3.2-1 [1393 kB]
1116s Get:88 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pathspec all 0.12.1-1 [24.5 kB]
1116s Get:89 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB]
1116s Get:90 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-proxmoxer all 2.2.0-1 [16.2 kB]
1116s Get:91 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-py all 1.11.0-4 [72.7 kB]
1116s Get:92 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest all 8.3.5-1 [252 kB]
1116s Get:93 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-forked all 1.6.0-3 [7470 B]
1116s Get:94 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-mock all 3.14.0-2 [11.7 kB]
1116s Get:95 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pytest-xdist all 3.6.1-1 [33.8 kB]
1116s Get:96 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pyvmomi all 8.0.3.0.1-1 [532 kB]
1116s Get:97 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-redis all 4.3.4-4 [166 kB]
1116s Get:98 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-textfsm all 1.1.3-3 [29.3 kB]
1116s Get:99 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-xmltodict all 0.13.0-1 [13.4 kB]
1116s Get:100 http://ftpmaster.internal/ubuntu questing/universe ppc64el yamllint all 1.35.1-2 [43.6 kB]
1116s Get:101 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-mock all 5.1.0-1 [64.1 kB]
1117s Fetched 62.6 MB in 4s (15.8 MB/s)
1117s Selecting previously unselected package python3-packaging.
1117s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 107206 files and directories currently installed.)
1117s Preparing to unpack .../000-python3-packaging_24.2-1_all.deb ...
1117s Unpacking python3-packaging (24.2-1) ...
1117s Selecting previously unselected package python3-resolvelib.
1117s Preparing to unpack .../001-python3-resolvelib_1.1.0-1_all.deb ...
1117s Unpacking python3-resolvelib (1.1.0-1) ...
1117s Selecting previously unselected package libsodium23:ppc64el.
1117s Preparing to unpack .../002-libsodium23_1.0.18-1build3_ppc64el.deb ...
1117s Unpacking libsodium23:ppc64el (1.0.18-1build3) ...
1117s Selecting previously unselected package python3-nacl.
1117s Preparing to unpack .../003-python3-nacl_1.5.0-7_ppc64el.deb ...
1117s Unpacking python3-nacl (1.5.0-7) ...
1117s Selecting previously unselected package python3-paramiko.
1117s Preparing to unpack .../004-python3-paramiko_3.5.1-2ubuntu1_all.deb ...
1117s Unpacking python3-paramiko (3.5.1-2ubuntu1) ...
1117s Selecting previously unselected package python3-dnspython.
1117s Preparing to unpack .../005-python3-dnspython_2.7.0-1ubuntu1_all.deb ...
1117s Unpacking python3-dnspython (2.7.0-1ubuntu1) ...
1117s Selecting previously unselected package ansible-core.
1117s Preparing to unpack .../006-ansible-core_2.18.1-4ubuntu1_all.deb ...
1117s Unpacking ansible-core (2.18.1-4ubuntu1) ...
1117s Selecting previously unselected package ansible.
1117s Preparing to unpack .../007-ansible_11.2.0+dfsg-1_all.deb ...
1117s Unpacking ansible (11.2.0+dfsg-1) ...
1120s Selecting previously unselected package fonts-dejavu-mono.
1121s Preparing to unpack .../008-fonts-dejavu-mono_2.37-8_all.deb ...
1121s Unpacking fonts-dejavu-mono (2.37-8) ...
1121s Selecting previously unselected package fonts-dejavu-core.
1121s Preparing to unpack .../009-fonts-dejavu-core_2.37-8_all.deb ...
1121s Unpacking fonts-dejavu-core (2.37-8) ...
1121s Selecting previously unselected package fontconfig-config.
1121s Preparing to unpack .../010-fontconfig-config_2.15.0-2.2ubuntu1_ppc64el.deb ...
1121s Unpacking fontconfig-config (2.15.0-2.2ubuntu1) ...
1121s Selecting previously unselected package libsecret-common.
1121s Preparing to unpack .../011-libsecret-common_0.21.7-1_all.deb ...
1121s Unpacking libsecret-common (0.21.7-1) ...
1121s Selecting previously unselected package libsecret-1-0:ppc64el.
1121s Preparing to unpack .../012-libsecret-1-0_0.21.7-1_ppc64el.deb ...
1121s Unpacking libsecret-1-0:ppc64el (0.21.7-1) ...
1121s Selecting previously unselected package gir1.2-secret-1:ppc64el.
1121s Preparing to unpack .../013-gir1.2-secret-1_0.21.7-1_ppc64el.deb ...
1121s Unpacking gir1.2-secret-1:ppc64el (0.21.7-1) ...
1121s Selecting previously unselected package liberror-perl.
1121s Preparing to unpack .../014-liberror-perl_0.17030-1_all.deb ...
1121s Unpacking liberror-perl (0.17030-1) ...
1121s Selecting previously unselected package git-man.
1121s Preparing to unpack .../015-git-man_1%3a2.48.1-0ubuntu1_all.deb ...
1121s Unpacking git-man (1:2.48.1-0ubuntu1) ...
1121s Selecting previously unselected package git.
1121s Preparing to unpack .../016-git_1%3a2.48.1-0ubuntu1_ppc64el.deb ...
1121s Unpacking git (1:2.48.1-0ubuntu1) ...
1121s Selecting previously unselected package libfontconfig1:ppc64el.
1121s Preparing to unpack .../017-libfontconfig1_2.15.0-2.2ubuntu1_ppc64el.deb ...
1121s Unpacking libfontconfig1:ppc64el (2.15.0-2.2ubuntu1) ...
1121s Selecting previously unselected package libpixman-1-0:ppc64el.
1121s Preparing to unpack .../018-libpixman-1-0_0.44.0-3_ppc64el.deb ...
1121s Unpacking libpixman-1-0:ppc64el (0.44.0-3) ...
1121s Selecting previously unselected package libxcb-render0:ppc64el.
1121s Preparing to unpack .../019-libxcb-render0_1.17.0-2_ppc64el.deb ...
1121s Unpacking libxcb-render0:ppc64el (1.17.0-2) ...
1121s Selecting previously unselected package libxcb-shm0:ppc64el.
1121s Preparing to unpack .../020-libxcb-shm0_1.17.0-2_ppc64el.deb ...
1121s Unpacking libxcb-shm0:ppc64el (1.17.0-2) ...
1121s Selecting previously unselected package libxrender1:ppc64el.
1121s Preparing to unpack .../021-libxrender1_1%3a0.9.10-1.1build1_ppc64el.deb ...
1121s Unpacking libxrender1:ppc64el (1:0.9.10-1.1build1) ...
1121s Selecting previously unselected package libcairo2:ppc64el.
1121s Preparing to unpack .../022-libcairo2_1.18.4-1_ppc64el.deb ...
1121s Unpacking libcairo2:ppc64el (1.18.4-1) ...
1121s Selecting previously unselected package libcairo-gobject2:ppc64el.
1121s Preparing to unpack .../023-libcairo-gobject2_1.18.4-1_ppc64el.deb ...
1121s Unpacking libcairo-gobject2:ppc64el (1.18.4-1) ...
1121s Selecting previously unselected package libxslt1.1:ppc64el.
1121s Preparing to unpack .../024-libxslt1.1_1.1.39-0exp1ubuntu4_ppc64el.deb ...
1121s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1ubuntu4) ...
1121s Selecting previously unselected package python3-dateutil.
1121s Preparing to unpack .../025-python3-dateutil_2.9.0-4_all.deb ...
1121s Unpacking python3-dateutil (2.9.0-4) ...
1121s Selecting previously unselected package python3-adal.
1121s Preparing to unpack .../026-python3-adal_1.2.7-5_all.deb ...
1121s Unpacking python3-adal (1.2.7-5) ...
1121s Selecting previously unselected package python3-aiohappyeyeballs.
1121s Preparing to unpack .../027-python3-aiohappyeyeballs_2.6.1-1_all.deb ...
1121s Unpacking python3-aiohappyeyeballs (2.6.1-1) ...
1121s Selecting previously unselected package python3-multidict.
1121s Preparing to unpack .../028-python3-multidict_6.2.0-2_ppc64el.deb ...
1121s Unpacking python3-multidict (6.2.0-2) ...
1121s Selecting previously unselected package python3-yarl.
1121s Preparing to unpack .../029-python3-yarl_1.13.1-1build2_ppc64el.deb ...
1121s Unpacking python3-yarl (1.13.1-1build2) ...
1121s Selecting previously unselected package python3-async-timeout.
1121s Preparing to unpack .../030-python3-async-timeout_5.0.1-1_all.deb ...
1121s Unpacking python3-async-timeout (5.0.1-1) ...
1122s Selecting previously unselected package python3-frozenlist.
1122s Preparing to unpack .../031-python3-frozenlist_1.5.0-1build2_ppc64el.deb ...
1122s Unpacking python3-frozenlist (1.5.0-1build2) ...
1122s Selecting previously unselected package python3-aiosignal.
1122s Preparing to unpack .../032-python3-aiosignal_1.3.2-1_all.deb ...
1122s Unpacking python3-aiosignal (1.3.2-1) ...
1122s Selecting previously unselected package python3-aiohttp.
1122s Preparing to unpack .../033-python3-aiohttp_3.10.11-1build1_ppc64el.deb ...
1122s Unpacking python3-aiohttp (3.10.11-1build1) ...
1122s Selecting previously unselected package python3-avro.
1122s Preparing to unpack .../034-python3-avro_1.12.0+dfsg-1_all.deb ...
1122s Unpacking python3-avro (1.12.0+dfsg-1) ...
1122s Selecting previously unselected package python3-isodate.
1122s Preparing to unpack .../035-python3-isodate_0.7.0-1_all.deb ...
1122s Unpacking python3-isodate (0.7.0-1) ...
1122s Selecting previously unselected package python3-requests-oauthlib.
1122s Preparing to unpack .../036-python3-requests-oauthlib_1.3.1-1_all.deb ...
1122s Unpacking python3-requests-oauthlib (1.3.1-1) ...
1122s Selecting previously unselected package python3-msrest.
1122s Preparing to unpack .../037-python3-msrest_0.6.21-5_all.deb ...
1122s Unpacking python3-msrest (0.6.21-5) ...
1122s Selecting previously unselected package python3-msrestazure.
1122s Preparing to unpack .../038-python3-msrestazure_0.6.4-4_all.deb ...
1122s Unpacking python3-msrestazure (0.6.4-4) ...
1122s Selecting previously unselected package python3-azure-storage.
1122s Preparing to unpack .../039-python3-azure-storage_20250401+git-1_all.deb ...
1122s Unpacking python3-azure-storage (20250401+git-1) ...
1122s Selecting previously unselected package python3-colorama.
1122s Preparing to unpack .../040-python3-colorama_0.4.6-4_all.deb ...
1122s Unpacking python3-colorama (0.4.6-4) ...
1122s Selecting previously unselected package python3-marshmallow.
1122s Preparing to unpack .../041-python3-marshmallow_3.26.1-0.2_all.deb ...
1122s Unpacking python3-marshmallow (3.26.1-0.2) ...
1122s Selecting previously unselected package python3-msal.
1122s Preparing to unpack .../042-python3-msal_1.32.0-1_all.deb ...
1122s Unpacking python3-msal (1.32.0-1) ...
1122s Selecting previously unselected package python3-cairo.
1122s Preparing to unpack .../043-python3-cairo_1.27.0-2_ppc64el.deb ...
1122s Unpacking python3-cairo (1.27.0-2) ...
1122s Selecting previously unselected package python3-gi-cairo.
1122s Preparing to unpack .../044-python3-gi-cairo_3.50.0-4build1_ppc64el.deb ...
1122s Unpacking python3-gi-cairo (3.50.0-4build1) ...
1122s Selecting previously unselected package python3-portalocker.
1122s Preparing to unpack .../045-python3-portalocker_2.2.1-1_all.deb ...
1122s Unpacking python3-portalocker (2.2.1-1) ...
1122s Selecting previously unselected package python3-msal-extensions.
1122s Preparing to unpack .../046-python3-msal-extensions_1.3.1-1_all.deb ...
1122s Unpacking python3-msal-extensions (1.3.1-1) ...
1122s Selecting previously unselected package python3-click.
1122s Preparing to unpack .../047-python3-click_8.2.0+0.really.8.1.8-1_all.deb ...
1122s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ...
1122s Selecting previously unselected package python3-joblib.
1122s Preparing to unpack .../048-python3-joblib_1.4.2-3_all.deb ...
1122s Unpacking python3-joblib (1.4.2-3) ...
1122s Selecting previously unselected package python3-regex.
1122s Preparing to unpack .../049-python3-regex_0.1.20241106-1build1_ppc64el.deb ...
1122s Unpacking python3-regex (0.1.20241106-1build1) ...
1122s Selecting previously unselected package python3-tqdm.
1122s Preparing to unpack .../050-python3-tqdm_4.67.1-3_all.deb ...
1122s Unpacking python3-tqdm (4.67.1-3) ...
1122s Selecting previously unselected package python3-nltk.
1122s Preparing to unpack .../051-python3-nltk_3.9.1-2_all.deb ...
1122s Unpacking python3-nltk (3.9.1-2) ...
1122s Selecting previously unselected package python3-psutil.
1122s Preparing to unpack .../052-python3-psutil_5.9.8-2build3_ppc64el.deb ...
1122s Unpacking python3-psutil (5.9.8-2build3) ...
1122s Selecting previously unselected package python3-pydash.
1122s Preparing to unpack .../053-python3-pydash_8.0.3-3_all.deb ...
1122s Unpacking python3-pydash (8.0.3-3) ...
1122s Selecting previously unselected package python3-six.
1122s Preparing to unpack .../054-python3-six_1.17.0-1_all.deb ...
1122s Unpacking python3-six (1.17.0-1) ...
1122s Selecting previously unselected package python3-ruamel.yaml.clib.
1122s Preparing to unpack .../055-python3-ruamel.yaml.clib_0.2.12+ds-1build1_ppc64el.deb ...
1122s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ...
1122s Selecting previously unselected package python3-ruamel.yaml.
1122s Preparing to unpack .../056-python3-ruamel.yaml_0.18.10+ds-1_all.deb ...
1122s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ...
1122s Selecting previously unselected package python3-strictyaml.
1122s Preparing to unpack .../057-python3-strictyaml_1.6.1-3_all.deb ...
1122s Unpacking python3-strictyaml (1.6.1-3) ...
1122s Selecting previously unselected package python3-websocket.
1122s Preparing to unpack .../058-python3-websocket_1.8.0-2_all.deb ...
1122s Unpacking python3-websocket (1.8.0-2) ...
1122s Selecting previously unselected package python3-azure.
1122s Preparing to unpack .../059-python3-azure_20250401+git-1_all.deb ...
1122s Unpacking python3-azure (20250401+git-1) ...
1127s Selecting previously unselected package python3-jmespath.
1127s Preparing to unpack .../060-python3-jmespath_1.0.1-1_all.deb ...
1127s Unpacking python3-jmespath (1.0.1-1) ...
1127s Selecting previously unselected package python3-botocore.
1127s Preparing to unpack .../061-python3-botocore_1.37.9+repack-1_all.deb ...
1127s Unpacking python3-botocore (1.37.9+repack-1) ...
1128s Selecting previously unselected package python3-s3transfer.
1128s Preparing to unpack .../062-python3-s3transfer_0.11.2-2_all.deb ...
1128s Unpacking python3-s3transfer (0.11.2-2) ...
1128s Selecting previously unselected package python3-boto3.
1128s Preparing to unpack .../063-python3-boto3_1.37.9-1_all.deb ...
1128s Unpacking python3-boto3 (1.37.9-1) ...
1128s Selecting previously unselected package python3-cachetools.
1128s Preparing to unpack .../064-python3-cachetools_5.3.3-1_all.deb ...
1128s Unpacking python3-cachetools (5.3.3-1) ...
1128s Selecting previously unselected package python3-wrapt.
1128s Preparing to unpack .../065-python3-wrapt_1.15.0-4build1_ppc64el.deb ...
1128s Unpacking python3-wrapt (1.15.0-4build1) ...
1128s Selecting previously unselected package python3-deprecated.
1128s Preparing to unpack .../066-python3-deprecated_1.2.18-1_all.deb ...
1128s Unpacking python3-deprecated (1.2.18-1) ...
1128s Selecting previously unselected package python3-execnet.
1128s Preparing to unpack .../067-python3-execnet_2.1.1-1_all.deb ...
1128s Unpacking python3-execnet (2.1.1-1) ...
1128s Selecting previously unselected package python3-mccabe.
1128s Preparing to unpack .../068-python3-mccabe_0.7.0-1_all.deb ...
1128s Unpacking python3-mccabe (0.7.0-1) ...
1128s Selecting previously unselected package python3-pycodestyle.
1128s Preparing to unpack .../069-python3-pycodestyle_2.12.1-2_all.deb ...
1128s Unpacking python3-pycodestyle (2.12.1-2) ...
1128s Selecting previously unselected package python3-pyflakes.
1128s Preparing to unpack .../070-python3-pyflakes_3.2.0-3_all.deb ...
1128s Unpacking python3-pyflakes (3.2.0-3) ...
1128s Selecting previously unselected package python3-flake8.
1128s Preparing to unpack .../071-python3-flake8_7.1.1-3_all.deb ...
1128s Unpacking python3-flake8 (7.1.1-3) ...
1128s Selecting previously unselected package python3-freezegun.
1128s Preparing to unpack .../072-python3-freezegun_1.5.1-1.2_all.deb ...
1128s Unpacking python3-freezegun (1.5.1-1.2) ...
1128s Selecting previously unselected package python3-requests-toolbelt.
1128s Preparing to unpack .../073-python3-requests-toolbelt_1.0.0-4_all.deb ...
1128s Unpacking python3-requests-toolbelt (1.0.0-4) ...
1128s Selecting previously unselected package python3-gitlab.
1128s Preparing to unpack .../074-python3-gitlab_1%3a4.9.0-1_all.deb ...
1128s Unpacking python3-gitlab (1:4.9.0-1) ...
1128s Selecting previously unselected package python3-pyasn1.
1128s Preparing to unpack .../075-python3-pyasn1_0.6.1-1_all.deb ...
1128s Unpacking python3-pyasn1 (0.6.1-1) ...
1128s Selecting previously unselected package python3-pyasn1-modules.
1128s Preparing to unpack .../076-python3-pyasn1-modules_0.4.1-2_all.deb ...
1128s Unpacking python3-pyasn1-modules (0.4.1-2) ...
1128s Selecting previously unselected package python3-pyu2f.
1128s Preparing to unpack .../077-python3-pyu2f_0.1.5-4_all.deb ...
1128s Unpacking python3-pyu2f (0.1.5-4) ...
1128s Selecting previously unselected package python3-responses.
1128s Preparing to unpack .../078-python3-responses_0.25.6-1_all.deb ...
1128s Unpacking python3-responses (0.25.6-1) ...
1129s Selecting previously unselected package python3-rsa.
1129s Preparing to unpack .../079-python3-rsa_4.9-2_all.deb ...
1129s Unpacking python3-rsa (4.9-2) ...
1129s Selecting previously unselected package python3-google-auth.
1129s Preparing to unpack .../080-python3-google-auth_2.28.2-3_all.deb ...
1129s Unpacking python3-google-auth (2.28.2-3) ...
1129s Selecting previously unselected package python3-httmock.
1129s Preparing to unpack .../081-python3-httmock_1.4.0-5_all.deb ...
1129s Unpacking python3-httmock (1.4.0-5) ...
1129s Selecting previously unselected package python3-pyhcl.
1129s Preparing to unpack .../082-python3-pyhcl_0.4.4-6_all.deb ...
1129s Unpacking python3-pyhcl (0.4.4-6) ...
1129s Selecting previously unselected package python3-hvac.
1129s Preparing to unpack .../083-python3-hvac_2.3.0-3_all.deb ...
1129s Unpacking python3-hvac (2.3.0-3) ...
1129s Selecting previously unselected package python3-iniconfig.
1129s Preparing to unpack .../084-python3-iniconfig_1.1.1-2_all.deb ...
1129s Unpacking python3-iniconfig (1.1.1-2) ...
1129s Selecting previously unselected package python3-kubernetes.
1129s Preparing to unpack .../085-python3-kubernetes_30.1.0-2_all.deb ...
1129s Unpacking python3-kubernetes (30.1.0-2) ...
1129s Selecting previously unselected package python3-lxml:ppc64el.
1129s Preparing to unpack .../086-python3-lxml_5.3.2-1_ppc64el.deb ...
1129s Unpacking python3-lxml:ppc64el (5.3.2-1) ...
1129s Selecting previously unselected package python3-pathspec.
1129s Preparing to unpack .../087-python3-pathspec_0.12.1-1_all.deb ...
1129s Unpacking python3-pathspec (0.12.1-1) ...
1129s Selecting previously unselected package python3-pluggy.
1129s Preparing to unpack .../088-python3-pluggy_1.5.0-1_all.deb ...
1129s Unpacking python3-pluggy (1.5.0-1) ...
1129s Selecting previously unselected package python3-proxmoxer.
1129s Preparing to unpack .../089-python3-proxmoxer_2.2.0-1_all.deb ...
1129s Unpacking python3-proxmoxer (2.2.0-1) ...
1129s Selecting previously unselected package python3-py.
1129s Preparing to unpack .../090-python3-py_1.11.0-4_all.deb ...
1129s Unpacking python3-py (1.11.0-4) ...
1129s Selecting previously unselected package python3-pytest.
1129s Preparing to unpack .../091-python3-pytest_8.3.5-1_all.deb ...
1129s Unpacking python3-pytest (8.3.5-1) ...
1129s Selecting previously unselected package python3-pytest-forked.
1129s Preparing to unpack .../092-python3-pytest-forked_1.6.0-3_all.deb ...
1129s Unpacking python3-pytest-forked (1.6.0-3) ...
1129s Selecting previously unselected package python3-pytest-mock.
1129s Preparing to unpack .../093-python3-pytest-mock_3.14.0-2_all.deb ...
1129s Unpacking python3-pytest-mock (3.14.0-2) ...
1129s Selecting previously unselected package python3-pytest-xdist.
1129s Preparing to unpack .../094-python3-pytest-xdist_3.6.1-1_all.deb ...
1129s Unpacking python3-pytest-xdist (3.6.1-1) ...
1129s Selecting previously unselected package python3-pyvmomi.
1129s Preparing to unpack .../095-python3-pyvmomi_8.0.3.0.1-1_all.deb ...
1129s Unpacking python3-pyvmomi (8.0.3.0.1-1) ...
1130s Selecting previously unselected package python3-redis.
1130s Preparing to unpack .../096-python3-redis_4.3.4-4_all.deb ...
1130s Unpacking python3-redis (4.3.4-4) ...
1130s Selecting previously unselected package python3-textfsm.
1130s Preparing to unpack .../097-python3-textfsm_1.1.3-3_all.deb ...
1130s Unpacking python3-textfsm (1.1.3-3) ...
1130s Selecting previously unselected package python3-xmltodict.
1130s Preparing to unpack .../098-python3-xmltodict_0.13.0-1_all.deb ...
1130s Unpacking python3-xmltodict (0.13.0-1) ...
1130s Selecting previously unselected package yamllint.
1130s Preparing to unpack .../099-yamllint_1.35.1-2_all.deb ...
1130s Unpacking yamllint (1.35.1-2) ...
1130s Selecting previously unselected package python3-mock.
1130s Preparing to unpack .../100-python3-mock_5.1.0-1_all.deb ...
1130s Unpacking python3-mock (5.1.0-1) ...
1130s Setting up python3-iniconfig (1.1.1-2) ...
1130s Setting up libpixman-1-0:ppc64el (0.44.0-3) ...
1130s Setting up libsodium23:ppc64el (1.0.18-1build3) ...
1130s Setting up python3-requests-toolbelt (1.0.0-4) ...
1130s Setting up libxrender1:ppc64el (1:0.9.10-1.1build1) ...
1130s Setting up python3-py (1.11.0-4) ...
1130s Setting up python3-joblib (1.4.2-3) ...
1131s Setting up python3-cachetools (5.3.3-1) ...
1131s Setting up python3-colorama (0.4.6-4) ...
1131s Setting up libxcb-render0:ppc64el (1.17.0-2) ...
1131s Setting up python3-tqdm (4.67.1-3) ...
1131s Setting up python3-pyflakes (3.2.0-3) ...
1131s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ...
1131s Setting up python3-resolvelib (1.1.0-1) ...
1131s Setting up python3-msal (1.32.0-1) ...
1131s Setting up libxcb-shm0:ppc64el (1.17.0-2) ...
1131s Setting up python3-httmock (1.4.0-5) ...
1132s Setting up python3-click (8.2.0+0.really.8.1.8-1) ...
1132s Setting up python3-psutil (5.9.8-2build3) ...
1132s Setting up python3-multidict (6.2.0-2) ...
1132s Setting up python3-frozenlist (1.5.0-1build2) ...
1132s Setting up python3-aiosignal (1.3.2-1) ...
1132s Setting up python3-mock (5.1.0-1) ...
1133s Setting up python3-async-timeout (5.0.1-1) ...
1133s Setting up liberror-perl (0.17030-1) ...
1133s Setting up python3-six (1.17.0-1) ...
1133s Setting up python3-responses (0.25.6-1) ...
1133s Setting up python3-pyvmomi (8.0.3.0.1-1) ...
1134s Setting up python3-isodate (0.7.0-1) ...
1134s Setting up python3-pycodestyle (2.12.1-2) ...
1134s Setting up python3-xmltodict (0.13.0-1) ...
1134s Setting up python3-packaging (24.2-1) ...
1134s Setting up python3-pyu2f (0.1.5-4) ...
1134s Setting up python3-avro (1.12.0+dfsg-1) ...
1134s Setting up python3-jmespath (1.0.1-1) ...
1135s Setting up fonts-dejavu-mono (2.37-8) ...
1135s Setting up python3-wrapt (1.15.0-4build1) ...
1135s Setting up fonts-dejavu-core (2.37-8) ...
1135s Setting up python3-aiohappyeyeballs (2.6.1-1) ...
1135s Setting up python3-regex (0.1.20241106-1build1) ...
1135s Setting up python3-pluggy (1.5.0-1) ...
1135s Setting up python3-ruamel.yaml (0.18.10+ds-1) ...
1135s Setting up python3-dnspython (2.7.0-1ubuntu1) ...
1136s Setting up python3-portalocker (2.2.1-1) ...
1136s Setting up libxslt1.1:ppc64el (1.1.39-0exp1ubuntu4) ...
1136s Setting up python3-pyasn1 (0.6.1-1) ...
1136s Setting up python3-proxmoxer (2.2.0-1) ...
1136s Setting up git-man (1:2.48.1-0ubuntu1) ...
1136s Setting up python3-dateutil (2.9.0-4) ...
1136s Setting up python3-textfsm (1.1.3-3) ...
1136s Setting up python3-mccabe (0.7.0-1) ...
1137s Setting up python3-execnet (2.1.1-1) ...
1137s Setting up python3-pathspec (0.12.1-1) ...
1137s Setting up python3-pydash (8.0.3-3) ...
1137s Setting up python3-nltk (3.9.1-2) ...
1138s Setting up python3-yarl (1.13.1-1build2) ...
1138s Setting up python3-pyhcl (0.4.4-6) ...
1138s Setting up python3-gitlab (1:4.9.0-1) ...
1139s Setting up python3-websocket (1.8.0-2) ...
1139s Setting up python3-deprecated (1.2.18-1) ...
1139s Setting up libsecret-common (0.21.7-1) ...
1139s Setting up python3-freezegun (1.5.1-1.2) ...
1139s Setting up python3-nacl (1.5.0-7) ...
1139s Setting up python3-requests-oauthlib (1.3.1-1) ...
1139s Setting up fontconfig-config (2.15.0-2.2ubuntu1) ...
1140s Setting up python3-pytest (8.3.5-1) ...
1140s Setting up python3-aiohttp (3.10.11-1build1) ...
1140s Setting up python3-marshmallow (3.26.1-0.2) ...
1141s Setting up ansible-core (2.18.1-4ubuntu1) ...
1142s Setting up python3-flake8 (7.1.1-3) ...
1142s Setting up python3-msrest (0.6.21-5) ...
1143s Setting up python3-pytest-forked (1.6.0-3) ...
1143s Setting up python3-strictyaml (1.6.1-3) ...
1143s Setting up libsecret-1-0:ppc64el (0.21.7-1) ...
1143s Setting up yamllint (1.35.1-2) ...
1143s Setting up gir1.2-secret-1:ppc64el (0.21.7-1) ...
1143s Setting up python3-pyasn1-modules (0.4.1-2) ...
1143s Setting up python3-botocore (1.37.9+repack-1) ...
1144s Setting up python3-hvac (2.3.0-3) ...
1144s Setting up git (1:2.48.1-0ubuntu1) ...
1144s Setting up python3-redis (4.3.4-4) ...
1144s Setting up python3-adal (1.2.7-5) ...
1145s Setting up python3-pytest-mock (3.14.0-2) ...
1145s Setting up python3-lxml:ppc64el (5.3.2-1) ...
1145s Setting up python3-rsa (4.9-2) ...
1145s Setting up libfontconfig1:ppc64el (2.15.0-2.2ubuntu1) ...
1145s Setting up python3-msrestazure (0.6.4-4) ...
1145s Setting up ansible (11.2.0+dfsg-1) ...
1174s Setting up python3-paramiko (3.5.1-2ubuntu1) ...
1174s Setting up python3-pytest-xdist (3.6.1-1) ...
1174s Setting up python3-s3transfer (0.11.2-2) ...
1174s Setting up libcairo2:ppc64el (1.18.4-1) ...
1174s Setting up python3-google-auth (2.28.2-3) ...
1175s Setting up python3-boto3 (1.37.9-1) ...
1175s Setting up libcairo-gobject2:ppc64el (1.18.4-1) ...
1175s Setting up python3-cairo (1.27.0-2) ...
1175s Setting up python3-kubernetes (30.1.0-2) ...
1176s Setting up python3-gi-cairo (3.50.0-4build1) ...
1176s Setting up python3-msal-extensions (1.3.1-1) ...
1177s Setting up python3-azure-storage (20250401+git-1) ...
1178s Setting up python3-azure (20250401+git-1) ...
1195s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:80: SyntaxWarning: invalid escape sequence '\ '
1195s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example,
1195s /usr/lib/python3/dist-packages/azure/ai/ml/_vendor/azure_resources/aio/operations/_resources_operations.py:405: SyntaxWarning: invalid escape sequence '\ '
1195s Valid values include ``createdTime``\ , ``changedTime`` and ``provisioningState``. For example,
1197s /usr/lib/python3/dist-packages/azure/appconfiguration/_generated/models/_models.py:238: SyntaxWarning: invalid escape sequence '\ '
1197s """An error, available when the status is ``Failed``\ , describing why the operation
1198s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9067: SyntaxWarning: invalid escape sequence '\ '
1198s """The source port ranges to match for the rule. Valid values are '\ *' (for all ports 0 - 65535),
1198s /usr/lib/python3/dist-packages/azure/batch/models/_models.py:9235: SyntaxWarning: invalid escape sequence '\ '
1198s using brackets (for example abc[\ *] would match a file named abc*\ ). Note that both and / are
1199s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2326: SyntaxWarning: invalid escape sequence '\ '
1199s payload to scoring rule. If not set, a job's labels (sent in the payload as ``job``\ ) and a
1199s /usr/lib/python3/dist-packages/azure/communication/jobrouter/models/_models.py:2346: SyntaxWarning: invalid escape sequence '\ '
1199s If not set, a job's labels (sent in the payload as ``job``\ ) and a job's worker selectors
1203s /usr/lib/python3/dist-packages/azure/mgmt/advisor/aio/operations/_recommendations_operations.py:190: SyntaxWarning: invalid escape sequence '\ '
1203s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category
1203s /usr/lib/python3/dist-packages/azure/mgmt/advisor/operations/_recommendations_operations.py:303: SyntaxWarning: invalid escape sequence '\ '
1203s properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '\ `Category
1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:3917: SyntaxWarning: invalid escape sequence '\ '
1204s Possible Values::code:`
`:code:`
` **Standard**\ :code:`
`:code:`
`
1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10212: SyntaxWarning: invalid escape sequence '\ '
1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10255: SyntaxWarning: invalid escape sequence '\ '
1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10284: SyntaxWarning: invalid escape sequence '\ '
1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10320: SyntaxWarning: invalid escape sequence '\ '
1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10342: SyntaxWarning: invalid escape sequence '\ '
1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10375: SyntaxWarning: invalid escape sequence '\ '
1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10396: SyntaxWarning: invalid escape sequence '\ '
1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:10429: SyntaxWarning: invalid escape sequence '\ '
1204s ``aad://.onmicrosoft.com/groups/``\ ; otherwise the value is null.
1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14746: SyntaxWarning: invalid escape sequence '\ '
1204s :ivar allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ ,
1204s /usr/lib/python3/dist-packages/azure/mgmt/apimanagement/models/_models_py3.py:14771: SyntaxWarning: invalid escape sequence '\ '
1204s :keyword allowed_sources: Allowed sources, e.g. ``*.trusted.com``\ , ``trusted.com``\ ,
1209s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:1420: SyntaxWarning: invalid escape sequence '\ '
1209s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\
1209s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models.py:2310: SyntaxWarning: invalid escape sequence '\ '
1209s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\
1209s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:1547: SyntaxWarning: invalid escape sequence '\ '
1209s :param id: Required. The ID for the input directory. The job can use AZ_BATCHAI\ *INPUT*\
1209s /usr/lib/python3/dist-packages/azure/mgmt/batchai/models/_models_py3.py:2524: SyntaxWarning: invalid escape sequence '\ '
1209s :param id: Required. The ID of the output directory. The job can use AZ_BATCHAI\ *OUTPUT*\
1214s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:624: SyntaxWarning: invalid escape sequence '\ '
1214s and Screenshot to diagnose VM status. **NOTE**\ : If storageUri is being
1214s /usr/lib/python3/dist-packages/azure/mgmt/computefleet/models/_models.py:3707: SyntaxWarning: invalid escape sequence '\W'
1214s characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_])
1220s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16843: SyntaxWarning: invalid escape sequence '\S'
1220s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required.
1220s /usr/lib/python3/dist-packages/azure/mgmt/datamigration/models/_models_py3.py:16916: SyntaxWarning: invalid escape sequence '\S'
1220s Protocol:MachineName\SQLServerInstanceName,PortNumber. Required.
1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:63: SyntaxWarning: invalid escape sequence '\w'
1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:130: SyntaxWarning: invalid escape sequence '\w'
1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:224: SyntaxWarning: invalid escape sequence '\w'
1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:312: SyntaxWarning: invalid escape sequence '\w'
1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:398: SyntaxWarning: invalid escape sequence '\w'
1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:543: SyntaxWarning: invalid escape sequence '\w'
1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:612: SyntaxWarning: invalid escape sequence '\w'
1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:675: SyntaxWarning: invalid escape sequence '\w'
1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:738: SyntaxWarning: invalid escape sequence '\w'
1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1223s /usr/lib/python3/dist-packages/azure/mgmt/documentdb/operations/database_accounts_operations.py:807: SyntaxWarning: invalid escape sequence '\w'
1223s 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern='^[-\w\._\(\)]+$'),
1227s /usr/lib/python3/dist-packages/azure/mgmt/hybridnetwork/models/_models_py3.py:6032: SyntaxWarning: invalid escape sequence '\ '
1227s :ivar provisioning_state: The provisioning state of the site resource. **TODO**\ : Confirm if
1229s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3866: SyntaxWarning: invalid escape sequence '\ '
1229s pattern set glob-style pattern (e.g., '\ *', 'clients/*\ '). Required."""
1229s /usr/lib/python3/dist-packages/azure/mgmt/iotoperations/models/_models.py:3868: SyntaxWarning: invalid escape sequence '\ '
1229s """Give access for ``Read``\ , ``Write`` and ``ReadWrite`` access level. Required. Known values
1232s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:169: SyntaxWarning: invalid escape sequence '\ '
1232s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\
1232s /usr/lib/python3/dist-packages/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py:1032: SyntaxWarning: invalid escape sequence '\ '
1232s #: The "forest"\ it builds, is an ensemble of decision trees, usually trained with the “bagging”\
1240s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2542: SyntaxWarning: invalid escape sequence '\R'
1240s """Execute Reverse Replication\Reprotect.
1240s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2583: SyntaxWarning: invalid escape sequence '\R'
1240s """Execute Reverse Replication\Reprotect.
1240s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/aio/operations/_replication_protected_items_operations.py:2622: SyntaxWarning: invalid escape sequence '\R'
1240s """Execute Reverse Replication\Reprotect.
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5397: SyntaxWarning: invalid escape sequence '\L'
1241s :ivar lun_id: Ordinal\LunId of the disk for the Azure VM.
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:5448: SyntaxWarning: invalid escape sequence '\L'
1241s :keyword lun_id: Ordinal\LunId of the disk for the Azure VM.
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8836: SyntaxWarning: invalid escape sequence '\S'
1241s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:8978: SyntaxWarning: invalid escape sequence '\S'
1241s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9510: SyntaxWarning: invalid escape sequence '\S'
1241s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:9675: SyntaxWarning: invalid escape sequence '\S'
1241s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11412: SyntaxWarning: invalid escape sequence '\S'
1241s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:11541: SyntaxWarning: invalid escape sequence '\S'
1241s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target VM after
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12193: SyntaxWarning: invalid escape sequence '\S'
1241s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:12516: SyntaxWarning: invalid escape sequence '\S'
1241s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26323: SyntaxWarning: invalid escape sequence '\S'
1241s :ivar enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/models/_models_py3.py:26382: SyntaxWarning: invalid escape sequence '\S'
1241s :keyword enable_rdp_on_target_option: The selected option to enable RDP\SSH on target vm after
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3476: SyntaxWarning: invalid escape sequence '\R'
1241s """Execute Reverse Replication\Reprotect.
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3517: SyntaxWarning: invalid escape sequence '\R'
1241s """Execute Reverse Replication\Reprotect.
1241s /usr/lib/python3/dist-packages/azure/mgmt/recoveryservicessiterecovery/operations/_replication_protected_items_operations.py:3556: SyntaxWarning: invalid escape sequence '\R'
1241s """Execute Reverse Replication\Reprotect.
1241s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_azure_reservation_api_operations.py:163: SyntaxWarning: invalid escape sequence '\ '
1241s """Get list of applicable ``Reservation``\ s.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:377: SyntaxWarning: invalid escape sequence '\ '
1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:407: SyntaxWarning: invalid escape sequence '\ '
1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:437: SyntaxWarning: invalid escape sequence '\ '
1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:583: SyntaxWarning: invalid escape sequence '\ '
1242s """Merges two ``Reservation``\ s.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:614: SyntaxWarning: invalid escape sequence '\ '
1242s """Merges two ``Reservation``\ s.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:645: SyntaxWarning: invalid escape sequence '\ '
1242s """Merges two ``Reservation``\ s.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_operations.py:721: SyntaxWarning: invalid escape sequence '\ '
1242s """Get ``Reservation``\ s in a given reservation Order.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/aio/operations/_reservation_order_operations.py:183: SyntaxWarning: invalid escape sequence '\ '
1242s """Get all ``ReservationOrder``\ s.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3172: SyntaxWarning: invalid escape sequence '\ '
1242s """List of ``Reservation``\ s.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/models/_models_py3.py:3288: SyntaxWarning: invalid escape sequence '\ '
1242s """List of ``ReservationOrder``\ s.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_azure_reservation_api_operations.py:239: SyntaxWarning: invalid escape sequence '\ '
1242s """Get list of applicable ``Reservation``\ s.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:662: SyntaxWarning: invalid escape sequence '\ '
1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:692: SyntaxWarning: invalid escape sequence '\ '
1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:722: SyntaxWarning: invalid escape sequence '\ '
1242s Split a ``Reservation`` into two ``Reservation``\ s with specified quantity distribution.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:868: SyntaxWarning: invalid escape sequence '\ '
1242s """Merges two ``Reservation``\ s.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:899: SyntaxWarning: invalid escape sequence '\ '
1242s """Merges two ``Reservation``\ s.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:930: SyntaxWarning: invalid escape sequence '\ '
1242s """Merges two ``Reservation``\ s.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_operations.py:1006: SyntaxWarning: invalid escape sequence '\ '
1242s """Get ``Reservation``\ s in a given reservation Order.
1242s /usr/lib/python3/dist-packages/azure/mgmt/reservations/operations/_reservation_order_operations.py:299: SyntaxWarning: invalid escape sequence '\ '
1242s """Get all ``ReservationOrder``\ s.
1246s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:68: SyntaxWarning: invalid escape sequence '\ '
1246s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end``
1246s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:90: SyntaxWarning: invalid escape sequence '\ '
1246s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after
1246s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1141: SyntaxWarning: invalid escape sequence '\ '
1246s **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after ``end``
1246s /usr/lib/python3/dist-packages/azure/mgmt/resourcegraph/models/_models_py3.py:1163: SyntaxWarning: invalid escape sequence '\ '
1246s ``[``\ **\ ``start``\ **\ ``, end)``. Specifying a ``start`` that occurs chronologically after
1251s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2858: SyntaxWarning: invalid escape sequence '\ '
1251s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client
1251s /usr/lib/python3/dist-packages/azure/mgmt/signalr/models/_models_py3.py:2925: SyntaxWarning: invalid escape sequence '\ '
1251s For example, if the urlTemplate is ``http://example.com/{hub}/api/{event}``\ , with a client
1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_functions_operations.py:595: SyntaxWarning: invalid escape sequence '\ '
1254s properties to include in the response, or "\ *" to include all properties. By default, all
1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_inputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ '
1254s properties to include in the response, or "\ *" to include all properties. By default, all
1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/aio/operations/_outputs_operations.py:593: SyntaxWarning: invalid escape sequence '\ '
1254s properties to include in the response, or "\ *" to include all properties. By default, all
1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/models/_stream_analytics_management_client_enums.py:14: SyntaxWarning: invalid escape sequence '\ '
1254s """Authentication Mode. Valid modes are ``ConnectionString``\ , ``Msi`` and 'UserToken'."""
1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_functions_operations.py:859: SyntaxWarning: invalid escape sequence '\ '
1254s properties to include in the response, or "\ *" to include all properties. By default, all
1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_inputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ '
1254s properties to include in the response, or "\ *" to include all properties. By default, all
1254s /usr/lib/python3/dist-packages/azure/mgmt/streamanalytics/operations/_outputs_operations.py:821: SyntaxWarning: invalid escape sequence '\ '
1254s properties to include in the response, or "\ *" to include all properties. By default, all
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_no_subscription_operations.py:193: SyntaxWarning: invalid escape sequence '\ '
1254s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_communications_operations.py:194: SyntaxWarning: invalid escape sequence '\ '
1254s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:177: SyntaxWarning: invalid escape sequence '\ '
1254s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:540: SyntaxWarning: invalid escape sequence '\ '
1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:582: SyntaxWarning: invalid escape sequence '\ '
1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/aio/operations/_support_tickets_operations.py:622: SyntaxWarning: invalid escape sequence '\ '
1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_no_subscription_operations.py:308: SyntaxWarning: invalid escape sequence '\ '
1254s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_communications_operations.py:326: SyntaxWarning: invalid escape sequence '\ '
1254s a paged result with *nextLink*\ , using which you can retrieve the next set of Communication
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:319: SyntaxWarning: invalid escape sequence '\ '
1254s tickets by *Status*\ , *CreatedDate*\ , *ServiceId*\ , and *ProblemClassificationId* using the
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:681: SyntaxWarning: invalid escape sequence '\ '
1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:723: SyntaxWarning: invalid escape sequence '\ '
1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1254s /usr/lib/python3/dist-packages/azure/mgmt/support/operations/_support_tickets_operations.py:763: SyntaxWarning: invalid escape sequence '\ '
1254s information from your Azure resources.:code:`
`:code:`
`\ **Creating a support ticket
1254s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6232: SyntaxWarning: invalid escape sequence '\ '
1254s :ivar maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60},
1254s /usr/lib/python3/dist-packages/azure/mgmt/synapse/models/_models_py3.py:6288: SyntaxWarning: invalid escape sequence '\ '
1254s :keyword maintenance_window_cycles: Available maintenance cycles e.g. {Saturday, 0, 48\ *60},
1261s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2909: SyntaxWarning: invalid escape sequence '\W'
1261s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
1261s /usr/lib/python3/dist-packages/azure/mgmt/workloads/models/_models_py3.py:2954: SyntaxWarning: invalid escape sequence '\W'
1261s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
1261s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:1980: SyntaxWarning: invalid escape sequence '\W'
1261s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
1261s /usr/lib/python3/dist-packages/azure/mgmt/workloadssapvirtualinstance/models/_models_py3.py:2025: SyntaxWarning: invalid escape sequence '\W'
1261s digit :code:`
` Has a special character (Regex match [\W_]) :code:`
`:code:`
`
1261s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:2732: SyntaxWarning: invalid escape sequence '\:'
1261s attr:\:code:``=:code:``.
1261s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:3537: SyntaxWarning: invalid escape sequence '\:'
1261s attr:\:code:``=\:code:``.
1261s /usr/lib/python3/dist-packages/azure/purview/catalog/aio/operations/_operations.py:4216: SyntaxWarning: invalid escape sequence '\:'
1261s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:``
1262s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:6219: SyntaxWarning: invalid escape sequence '\:'
1262s attr:\:code:``=:code:``.
1262s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7024: SyntaxWarning: invalid escape sequence '\:'
1262s attr:\:code:``=\:code:``.
1262s /usr/lib/python3/dist-packages/azure/purview/catalog/operations/_operations.py:7703: SyntaxWarning: invalid escape sequence '\:'
1262s typeName=\:code:``&attr_1:\:code:``=\:code:``&attr_2:\:code:``=\:code:``&attr_3:\:code:``=\:code:``
1263s /usr/lib/python3/dist-packages/azure/servicemanagement/schedulermanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m'
1263s CURRENT_USER\my\CertificateName format.
1263s /usr/lib/python3/dist-packages/azure/servicemanagement/servicebusmanagementservice.py:59: SyntaxWarning: invalid escape sequence '\m'
1263s CURRENT_USER\my\CertificateName format.
1263s /usr/lib/python3/dist-packages/azure/servicemanagement/servicemanagementservice.py:81: SyntaxWarning: invalid escape sequence '\m'
1263s CURRENT_USER\my\CertificateName format.
1263s /usr/lib/python3/dist-packages/azure/servicemanagement/sqldatabasemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m'
1263s CURRENT_USER\my\CertificateName format.
1263s /usr/lib/python3/dist-packages/azure/servicemanagement/websitemanagementservice.py:55: SyntaxWarning: invalid escape sequence '\m'
1263s CURRENT_USER\my\CertificateName format.
1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:110: SyntaxWarning: invalid escape sequence '\d'
1263s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:1328: SyntaxWarning: invalid escape sequence '\d'
1263s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..).
1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4218: SyntaxWarning: invalid escape sequence '\d'
1263s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:4280: SyntaxWarning: invalid escape sequence '\d'
1263s string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:18198: SyntaxWarning: invalid escape sequence '\d'
1263s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19096: SyntaxWarning: invalid escape sequence '\d'
1263s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with
1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19185: SyntaxWarning: invalid escape sequence '\d'
1263s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1263s /usr/lib/python3/dist-packages/azure/synapse/artifacts/models/_models.py:19749: SyntaxWarning: invalid escape sequence '\d'
1263s ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1264s Processing triggers for libc-bin (2.41-6ubuntu1) ...
1264s Processing triggers for man-db (2.13.0-1) ...
1510s autopkgtest [08:14:52]: test unit-tests-flaky.py: [-----------------------
1510s
1510s
1510s
1510s ############################################################
1510s ############################################################
1510s #### Running FLAKY tests in ansible_collections/ansible/utils
1510s ############################################################
1510s ############################################################
1510s Unit test controller with Python 3.13
1513s ============================= test session starts ==============================
1513s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
1513s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/utils
1513s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
1513s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
1513s created: 2/2 workers
1513s 2 workers [383 items]
1513s
1513s ........................................................................ [ 18%]
1514s ....................................................F................... [ 37%]
1515s ...................................................F...F...F............ [ 56%]
1517s ........................................................................ [ 75%]
1529s ........................................................................ [ 93%]
1530s ....................... [100%]
1530s =================================== FAILURES ===================================
1530s ___________________ TestIpFilter.test_ipaddr_undefined_value ___________________
1530s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1530s
1530s self =
1530s
1530s def test_ipaddr_undefined_value(self):
1530s """Check ipaddr filter undefined value"""
1530s args = ["", AnsibleUndefined(name="my_ip"), ""]
1530s with pytest.raises(
1530s AnsibleFilterError,
1530s match="Unrecognized type <> for ipaddr filter ",
1530s ):
1530s > _ipaddr(*args)
1530s
1530s tests/unit/plugins/filter/test_ipaddr.py:75:
1530s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1530s
1530s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '')
1530s kwargs = {}, keys = ['value', 'query', 'version', 'alias']
1530s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')}
1530s
1530s @pass_environment
1530s def _ipaddr(*args, **kwargs):
1530s """This filter is designed to return the input value if a query is True, and False if a query is False"""
1530s keys = ["value", "query", "version", "alias"]
1530s data = dict(zip(keys, args[1:]))
1530s data.update(kwargs)
1530s try:
1530s if isinstance(data["value"], str):
1530s pass
1530s elif isinstance(data["value"], list):
1530s pass
1530s elif isinstance(data["value"], int):
1530s pass
1530s else:
1530s > raise AnsibleFilterError(
1530s "Unrecognized type <{0}> for ipaddr filter <{1}>".format(
1530s type(data["value"]),
1530s "value",
1530s ),
1530s )
1530s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipaddr filter
1530s
1530s plugins/filter/ipaddr.py:268: AnsibleFilterError
1530s
1530s During handling of the above exception, another exception occurred:
1530s
1530s self =
1530s
1530s def test_ipaddr_undefined_value(self):
1530s """Check ipaddr filter undefined value"""
1530s args = ["", AnsibleUndefined(name="my_ip"), ""]
1530s > with pytest.raises(
1530s AnsibleFilterError,
1530s match="Unrecognized type <> for ipaddr filter ",
1530s ):
1530s E AssertionError: Regex pattern did not match.
1530s E Regex: "Unrecognized type <> for ipaddr filter "
1530s E Input: "Unrecognized type <> for ipaddr filter "
1530s
1530s tests/unit/plugins/filter/test_ipaddr.py:71: AssertionError
1530s ______________________ TestIp4.test_ipv4_undefined_value _______________________
1530s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1530s
1530s self =
1530s
1530s def test_ipv4_undefined_value(self):
1530s """Check ipv4 filter undefined value"""
1530s args = ["", AnsibleUndefined(name="my_ip"), ""]
1530s with pytest.raises(
1530s AnsibleFilterError,
1530s match="Unrecognized type <> for ipv4 filter ",
1530s ):
1530s > _ipv4(*args)
1530s
1530s tests/unit/plugins/filter/test_ipv4.py:55:
1530s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1530s
1530s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '')
1530s kwargs = {}, keys = ['value', 'query']
1530s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')}
1530s
1530s @pass_environment
1530s def _ipv4(*args, **kwargs):
1530s """This filter is designed to return the input value if a query is True, and False if a query is False"""
1530s keys = ["value", "query"]
1530s data = dict(zip(keys, args[1:]))
1530s data.update(kwargs)
1530s try:
1530s if isinstance(data["value"], str):
1530s pass
1530s elif isinstance(data["value"], list):
1530s pass
1530s elif isinstance(data["value"], int):
1530s pass
1530s else:
1530s > raise AnsibleFilterError(
1530s "Unrecognized type <{0}> for ipv4 filter <{1}>".format(
1530s type(data["value"]),
1530s "value",
1530s ),
1530s )
1530s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipv4 filter
1530s
1530s plugins/filter/ipv4.py:143: AnsibleFilterError
1530s
1530s During handling of the above exception, another exception occurred:
1530s
1530s self =
1530s
1530s def test_ipv4_undefined_value(self):
1530s """Check ipv4 filter undefined value"""
1530s args = ["", AnsibleUndefined(name="my_ip"), ""]
1530s > with pytest.raises(
1530s AnsibleFilterError,
1530s match="Unrecognized type <> for ipv4 filter ",
1530s ):
1530s E AssertionError: Regex pattern did not match.
1530s E Regex: "Unrecognized type <> for ipv4 filter "
1530s E Input: "Unrecognized type <> for ipv4 filter "
1530s
1530s tests/unit/plugins/filter/test_ipv4.py:51: AssertionError
1530s ______________________ TestIp6.test_ipv6_undefined_value _______________________
1530s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1530s
1530s self =
1530s
1530s def test_ipv6_undefined_value(self):
1530s """Check ipv6 filter undefined value"""
1530s args = ["", AnsibleUndefined(name="my_ip"), ""]
1530s with pytest.raises(
1530s AnsibleFilterError,
1530s match="Unrecognized type <> for ipv6 filter ",
1530s ):
1530s > _ipv6(*args)
1530s
1530s tests/unit/plugins/filter/test_ipv6.py:58:
1530s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1530s
1530s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '')
1530s kwargs = {}, keys = ['value', 'query']
1530s data = {'query': '', 'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')}
1530s
1530s @pass_environment
1530s def _ipv6(*args, **kwargs):
1530s """This filter is designed to return the input value if a query is True, and False if a query is False"""
1530s keys = ["value", "query"]
1530s data = dict(zip(keys, args[1:]))
1530s data.update(kwargs)
1530s try:
1530s if isinstance(data["value"], str):
1530s pass
1530s elif isinstance(data["value"], list):
1530s pass
1530s elif isinstance(data["value"], int):
1530s pass
1530s else:
1530s > raise AnsibleFilterError(
1530s "Unrecognized type <{0}> for ipv6 filter <{1}>".format(
1530s type(data["value"]),
1530s "value",
1530s ),
1530s )
1530s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipv6 filter
1530s
1530s plugins/filter/ipv6.py:161: AnsibleFilterError
1530s
1530s During handling of the above exception, another exception occurred:
1530s
1530s self =
1530s
1530s def test_ipv6_undefined_value(self):
1530s """Check ipv6 filter undefined value"""
1530s args = ["", AnsibleUndefined(name="my_ip"), ""]
1530s > with pytest.raises(
1530s AnsibleFilterError,
1530s match="Unrecognized type <> for ipv6 filter ",
1530s ):
1530s E AssertionError: Regex pattern did not match.
1530s E Regex: "Unrecognized type <> for ipv6 filter "
1530s E Input: "Unrecognized type <> for ipv6 filter "
1530s
1530s tests/unit/plugins/filter/test_ipv6.py:54: AssertionError
1530s ____________________ TestIpWrap.test_ipwrap_undefined_value ____________________
1530s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1530s
1530s self =
1530s
1530s def test_ipwrap_undefined_value(self):
1530s """Check ipwrap filter undefined value"""
1530s args = ["", AnsibleUndefined(name="my_ip"), ""]
1530s with pytest.raises(
1530s AnsibleFilterError,
1530s match="Unrecognized type <> for ipwrap filter ",
1530s ):
1530s > _ipwrap(*args)
1530s
1530s tests/unit/plugins/filter/test_ipwrap.py:60:
1530s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1530s
1530s args = ('', AnsibleUndefined(hint=None, obj=missing, name='my_ip'), '')
1530s kwargs = {}, keys = ['value']
1530s data = {'value': AnsibleUndefined(hint=None, obj=missing, name='my_ip')}
1530s
1530s @pass_environment
1530s def _ipwrap(*args, **kwargs):
1530s """This filter is designed to Wrap IPv6 addresses in [ ] brackets."""
1530s keys = ["value"]
1530s data = dict(zip(keys, args[1:]))
1530s data.update(kwargs)
1530s try:
1530s if isinstance(data["value"], str):
1530s pass
1530s elif isinstance(data["value"], list):
1530s pass
1530s elif isinstance(data["value"], bool):
1530s pass
1530s else:
1530s > raise AnsibleFilterError(
1530s "Unrecognized type <{0}> for ipwrap filter <{1}>".format(
1530s type(data["value"]),
1530s "value",
1530s ),
1530s )
1530s E ansible.errors.AnsibleFilterError: Unrecognized type <> for ipwrap filter
1530s
1530s plugins/filter/ipwrap.py:162: AnsibleFilterError
1530s
1530s During handling of the above exception, another exception occurred:
1530s
1530s self =
1530s
1530s def test_ipwrap_undefined_value(self):
1530s """Check ipwrap filter undefined value"""
1530s args = ["", AnsibleUndefined(name="my_ip"), ""]
1530s > with pytest.raises(
1530s AnsibleFilterError,
1530s match="Unrecognized type <> for ipwrap filter ",
1530s ):
1530s E AssertionError: Regex pattern did not match.
1530s E Regex: "Unrecognized type <> for ipwrap filter "
1530s E Input: "Unrecognized type <> for ipwrap filter "
1530s
1530s tests/unit/plugins/filter/test_ipwrap.py:56: AssertionError
1530s =============================== warnings summary ===============================
1530s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_disabled_format_with_invalid_data
1530s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_format
1530s tests/unit/plugins/action/test_validate.py::TestValidate::test_support_for_format_with_invalid_data
1530s /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/utils/plugins/sub_plugins/validate/jsonschema.py:241: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future.
1530s validator_class = jsonschema.validators.validator_for(criteria)
1530s
1530s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
1530s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/utils/tests/output/junit/python3.13-controller-units.xml -
1530s =========================== short test summary info ============================
1530s SKIPPED [1] tests/unit/plugins/sub_plugins/cli_parsers/test_ttp_parser.py:18: could not import 'ttp': No module named 'ttp'
1530s FAILED tests/unit/plugins/filter/test_ipaddr.py::TestIpFilter::test_ipaddr_undefined_value
1530s FAILED tests/unit/plugins/filter/test_ipv4.py::TestIp4::test_ipv4_undefined_value
1530s FAILED tests/unit/plugins/filter/test_ipv6.py::TestIp6::test_ipv6_undefined_value
1530s FAILED tests/unit/plugins/filter/test_ipwrap.py::TestIpWrap::test_ipwrap_undefined_value
1530s ============ 4 failed, 379 passed, 1 skipped, 3 warnings in 19.21s =============
1530s ## return code is 1
1530s
1530s
1530s
1530s ############################################################
1530s ############################################################
1530s #### Running FLAKY tests in ansible_collections/cisco/aci
1530s ############################################################
1530s ############################################################
1530s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/utils/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/utils --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/ansible/utils tests/unit/module_utils/test_argspec_validate.py tests/unit/module_utils/test_dict_merge.py tests/unit/module_utils/test_get_path.py tests/unit/module_utils/test_sort_list.py tests/unit/module_utils/test_to_paths.py tests/unit/plugins/action/test_cli_parse.py tests/unit/plugins/action/test_fact_diff.py tests/unit/plugins/action/test_update_fact.py tests/unit/plugins/action/test_validate.py tests/unit/plugins/filter/test_cidr_merge.py tests/unit/plugins/filter/test_consolidate.py tests/unit/plugins/filter/test_fact_diff.py tests/unit/plugins/filter/test_from_xml.py tests/unit/plugins/filter/test_hwaddr.py tests/unit/plugins/filter/test_ip4_hex.py tests/unit/plugins/filter/test_ipaddr.py tests/unit/plugins/filter/test_ipcut.py tests/unit/plugins/filter/test_ipmath.py tests/unit/plugins/filter/test_ipsubnet.py tests/unit/plugins/filter/test_ipv4.py tests/unit/plugins/filter/test_ipv6.py tests/unit/plugins/filter/test_ipv6form.py tests/unit/plugins/filter/test_ipwrap.py tests/unit/plugins/filter/test_keep_keys.py tests/unit/plugins/filter/test_macaddr.py tests/unit/plugins/filter/test_network_in_network.py tests/unit/plugins/filter/test_network_in_usable.py tests/unit/plugins/filter/test_next_nth_usable.py tests/unit/plugins/filter/test_nthhost.py tests/unit/plugins/filter/test_param_list_compare.py tests/unit/plugins/filter/test_previous_nth_usable.py tests/unit/plugins/filter/test_reduce_on_network.py tests/unit/plugins/filter/test_remove_keys.py tests/unit/plugins/filter/test_replace_keys.py tests/unit/plugins/filter/test_slaac.py tests/unit/plugins/filter/test_to_xml.py tests/unit/plugins/filter/test_usable_range.py tests/unit/plugins/filter/test_validate.py tests/unit/plugins/lookup/test_validate.py tests/unit/plugins/plugin_utils/test_index_of.py tests/unit/plugins/sub_plugins/cli_parsers/test_json_parser.py tests/unit/plugins/sub_plugins/cli_parsers/test_textfsm_parser.py tests/unit/plugins/sub_plugins/cli_parsers/test_ttp_parser.py tests/unit/plugins/sub_plugins/cli_parsers/test_xml_parser.py tests/unit/plugins/sub_plugins/validate/test_config.py tests/unit/plugins/test/test_in_any_network.py tests/unit/plugins/test/test_in_network.py tests/unit/plugins/test/test_in_one_network.py tests/unit/plugins/test/test_ip.py tests/unit/plugins/test/test_ip_address.py tests/unit/plugins/test/test_ipv4.py tests/unit/plugins/test/test_ipv4_address.py tests/unit/plugins/test/test_ipv4_hostmask.py tests/unit/plugins/test/test_ipv4_netmask.py tests/unit/plugins/test/test_ipv6.py tests/unit/plugins/test/test_ipv6_address.py tests/unit/plugins/test/test_ipv6_ipv4_mapped.py tests/unit/plugins/test/test_ipv6_sixtofour.py tests/unit/plugins/test/test_ipv6_teredo.py tests/unit/plugins/test/test_loopback.py tests/unit/plugins/test/test_mac.py tests/unit/plugins/test/test_multicast.py tests/unit/plugins/test/test_private.py tests/unit/plugins/test/test_public.py tests/unit/plugins/test/test_reserved.py tests/unit/plugins/test/test_resolvable.py tests/unit/plugins/test/test_subnet_of.py tests/unit/plugins/test/test_supernet_of.py tests/unit/plugins/test/test_unspecified.py tests/unit/plugins/test/test_validate.py" returned exit status 1.
1530s Unit test controller with Python 3.13
1532s ============================= test session starts ==============================
1532s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
1532s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/aci
1532s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
1532s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
1532s created: 2/2 workers
1532s 2 workers [5 items]
1532s
1532s .F.F. [100%]
1532s =================================== FAILURES ===================================
1532s __________________________ AciRest.test_invalid_input __________________________
1532s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1532s
1532s self =
1532s
1532s def test_invalid_input(self):
1532s self.maxDiff = None
1532s
1532s error = dict(
1532s code="401",
1532s text=("Username or password is incorrect - " "FAILED local authentication"),
1532s )
1532s
1532s imdata = [
1532s {
1532s "error": {
1532s "attributes": {
1532s "code": "401",
1532s "text": ("Username or password is incorrect - " "FAILED local authentication"),
1532s },
1532s },
1532s }
1532s ]
1532s
1532s totalCount = 1
1532s
1532s json_response = '{"totalCount":"1","imdata":[{"error":{"attributes":{"code":"401","text":"Username or password is incorrect - FAILED local authentication"}}}]}' # NOQA
1532s aci.response_json(json_response)
1532s self.assertEqual(aci.error, error)
1532s self.assertEqual(aci.imdata, imdata)
1532s self.assertEqual(aci.totalCount, totalCount)
1532s
1532s # Python 2.7+ is needed for xmljson
1532s if sys.version_info < (2, 7):
1532s return
1532s
1532s xml_response = """
1532s
1532s
1532s """
1532s aci.response_xml(xml_response)
1532s > self.assertEqual(aci.error, error)
1532s E AssertionError: {'code': -1, 'text': "Unable to parse output as XM[45 chars]ned"} != {'code': '401', 'text': 'Username or password is i[35 chars]ion'}
1532s E - {'code': -1,
1532s E ? ^
1532s E
1532s E + {'code': '401',
1532s E ? ^^^ +
1532s E
1532s E + 'text': 'Username or password is incorrect - FAILED local authentication'}
1532s E - 'text': "Unable to parse output as XML, see 'raw' output. name 'cobra' is not "
1532s E - 'defined'}
1532s
1532s tests/unit/module_utils/test_aci.py:237: AssertionError
1532s ________________________ AciRest.test_invalid_aci_login ________________________
1532s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1532s
1532s self =
1532s
1532s def test_invalid_aci_login(self):
1532s self.maxDiff = None
1532s
1532s error = dict(
1532s code="401",
1532s text=("Username or password is incorrect - " "FAILED local authentication"),
1532s )
1532s
1532s imdata = [
1532s {
1532s "error": {
1532s "attributes": {
1532s "code": "401",
1532s "text": ("Username or password is incorrect - " "FAILED local authentication"),
1532s },
1532s },
1532s }
1532s ]
1532s
1532s totalCount = 1
1532s
1532s json_response = '{"totalCount":"1","imdata":[{"error":{"attributes":{"code":"401","text":"Username or password is incorrect - FAILED local authentication"}}}]}' # NOQA
1532s aci.response_json(json_response)
1532s self.assertEqual(aci.error, error)
1532s self.assertEqual(aci.imdata, imdata)
1532s self.assertEqual(aci.totalCount, totalCount)
1532s
1532s # Python 2.7+ is needed for xmljson
1532s if sys.version_info < (2, 7):
1532s return
1532s
1532s xml_response = """
1532s
1532s
1532s
1532s """
1532s aci.response_xml(xml_response)
1532s > self.assertEqual(aci.error, error)
1532s E AssertionError: {'code': -1, 'text': "Unable to parse output as XM[45 chars]ned"} != {'code': '401', 'text': 'Username or password is i[35 chars]ion'}
1532s E - {'code': -1,
1532s E ? ^
1532s E
1532s E + {'code': '401',
1532s E ? ^^^ +
1532s E
1532s E + 'text': 'Username or password is incorrect - FAILED local authentication'}
1532s E - 'text': "Unable to parse output as XML, see 'raw' output. name 'cobra' is not "
1532s E - 'defined'}
1532s
1532s tests/unit/module_utils/test_aci.py:89: AssertionError
1532s - generated xml file: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/aci/tests/output/junit/python3.13-controller-units.xml -
1532s =========================== short test summary info ============================
1532s FAILED tests/unit/module_utils/test_aci.py::AciRest::test_invalid_input - Ass...
1532s FAILED tests/unit/module_utils/test_aci.py::AciRest::test_invalid_aci_login
1532s ========================= 2 failed, 3 passed in 0.89s ==========================
1532s FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/aci/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/aci --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/aci tests/unit/module_utils/test_aci.py" returned exit status 1.
1532s ## return code is 1
1532s
1532s
1532s
1532s ############################################################
1532s ############################################################
1532s #### Running FLAKY tests in ansible_collections/cisco/dnac
1532s ############################################################
1532s ############################################################
1532s Unit test controller with Python 3.13
1534s ============================= test session starts ==============================
1534s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
1534s rootdir: /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/dnac
1534s configfile: ../../../../../../../usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini
1534s plugins: xdist-3.6.1, forked-1.6.0, typeguard-4.4.2, mock-3.14.0
1534s created: 2/2 workers
1534s 2 workers [167 items]
1534s
1543s ..FFF.FFFFFFFF..FFFF.FFFF.FFFFFFFFFFFFFFFFFFFFF.FFFFFFFFFFFFFFFFFFFFFFFF [ 43%]
1550s F.FFFFFF.F....FF.FFFFFFF.FF....F.FF.FFFFFFFFFF..F..FFFF..F..F.FFFFFFFFF. [ 86%]
1552s FFF.FFFFFFFFFFFFFFFFFFF [100%]
1552s ==================================== ERRORS ====================================
1552s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1552s result: TResult | None = func()
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1552s return list(collector.collect())
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1552s return self.obj("runTest")
1552s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given
1552s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1552s result: TResult | None = func()
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1552s return list(collector.collect())
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1552s return self.obj("runTest")
1552s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given
1552s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1552s result: TResult | None = func()
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1552s return list(collector.collect())
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1552s return self.obj("runTest")
1552s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given
1552s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1552s result: TResult | None = func()
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1552s return list(collector.collect())
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1552s return self.obj("runTest")
1552s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given
1552s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1552s result: TResult | None = func()
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1552s return list(collector.collect())
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1552s return self.obj("runTest")
1552s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given
1552s ______ ERROR collecting tests/unit/modules/dnac/test_discovery_intent.py _______
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1552s result: TResult | None = func()
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1552s return list(collector.collect())
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1552s return self.obj("runTest")
1552s E TypeError: TestDnacDiscoveryIntent.__init__() takes 1 positional argument but 2 were given
1552s _________ ERROR collecting tests/unit/modules/dnac/test_pnp_intent.py __________
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1552s result: TResult | None = func()
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1552s return list(collector.collect())
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1552s return self.obj("runTest")
1552s E TypeError: TestDnacPnPIntent.__init__() takes 1 positional argument but 2 were given
1552s _________ ERROR collecting tests/unit/modules/dnac/test_site_intent.py _________
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1552s result: TResult | None = func()
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1552s return list(collector.collect())
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1552s return self.obj("runTest")
1552s E TypeError: TestDnacSiteIntent.__init__() takes 1 positional argument but 2 were given
1552s _________ ERROR collecting tests/unit/modules/dnac/test_swim_intent.py _________
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1552s result: TResult | None = func()
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1552s return list(collector.collect())
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1552s return self.obj("runTest")
1552s E TypeError: TestDnacSwimIntent.__init__() takes 1 positional argument but 2 were given
1552s _______ ERROR collecting tests/unit/modules/dnac/test_template_intent.py _______
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:341: in from_call
1552s result: TResult | None = func()
1552s /usr/lib/python3/dist-packages/_pytest/runner.py:389: in collect
1552s return list(collector.collect())
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:97: in collect
1552s self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
1552s /usr/lib/python3/dist-packages/_pytest/unittest.py:82: in newinstance
1552s return self.obj("runTest")
1552s E TypeError: TestDnacTemplateIntent.__init__() takes 1 positional argument but 2 were given
1552s =================================== FAILURES ===================================
1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_null_sync_status _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_device_credentials_workflow_manager_null_sync_status(self):
1552s """
1552s Test case for device credential workflow manager when exception occured during sync credential.
1552s
1552s This test case checks the behavior of the device credential workflow manager, when exception occured during sync credential in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.7.6",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_apply
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result['msg'],
1552s "Exception occurred while getting global device credentials sync status: "
1552s )
1552s E AssertionError: 'An exception occurred while retrieving Si[515 chars]rue}' != 'Exception occurred while getting global d[27 chars]us: '
1552s E - An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'failed': True}
1552s E + Exception occurred while getting global device credentials sync status:
1552s
1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:411: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': 'An exception occurred while retrieving Site details for Site \'Global/Vietnam/halong/Hanoi\' does not exist in the Cisco Catalyst Center. Error: {\'msg\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'response\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'failed\': True}', 'response': 'An exception occurred while retrieving Site details for Site \'Global/Vietnam/halong/Hanoi\' does not exist in the Cisco Catalyst Center. Error: {\'msg\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'response\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'failed\': True}', 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .
1552s
1552s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'failed': True}
1552s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_negative_config_input _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_accesspoint_workflow_manager_negative_config_input(self):
1552s """
1552s Test case for access point workfollow manager and negative test verify ap update
1552s
1552s This test case checks the behavior of the update access point data in the specified Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config_verify=True,
1552s dnac_version="2.3.7.6",
1552s config=self.playbook_config_update_some_missing_data
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s self.maxDiff = None
1552s > self.assertEqual(
1552s result.get('msg'),
1552s 'Invalid parameters in playbook config: \'[["Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1552s 'for the radio type xor_radio allowed series 280", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1552s 'for the radio type xor_radio allowed series 380", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1552s 'for the radio type xor_radio allowed series 480", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1552s 'for the radio type xor_radio allowed series 9120", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1552s 'for the radio type xor_radio allowed series 9166", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1552s 'for the radio type xor_radio allowed series IW9167EH", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1552s 'for the radio type xor_radio allowed series IW9165E", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' +
1552s 'for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP ' +
1552s 'Address \'204.192.12.201dsd\' in playbook.", \'ap_name:hostname,family,type,mac_address,management_ip_address,' +
1552s 'ap_ethernet_mac_address : The string exceeds the allowed range of max 32 char\', "led_status: Invalid LED Status \'Enableddd\' in ' +
1552s 'playbook.", "ap_mode: Invalid value \'Monitorw\' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or ' +
1552s 'Bridge.", "failover_priority: Invalid value \'Lossw\' for failover_priority in playbook. Must be one of: Low, Medium, High or ' +
1552s 'Critical.", "clean_air_si_2.4ghz: Invalid value \'Disableds\' in playbook. Must be ' +
1552s 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_5ghz: Invalid value \'Disableds\' in playbook. Must be ' +
1552s 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_6ghz: Invalid value \'Enableds\' in playbook. Must be ' +
1552s 'either \'Enabled\' or \'Disabled\'.", "primary_ip_address: Invalid primary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in ' +
1552s 'playbook", "secondary_ip_address: Invalid secondary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", "tertiary_ip_address: ' +
1552s 'Invalid tertiary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", \'Radio Params cannot be changed when AP mode is in ' +
1552s 'Monitorw.\', "admin_status: Invalid value \'Enabledsds\' for admin_status in playbook. Must be ' +
1552s 'either \'Enabled\' or \'Disabled\'.", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. Must be ' +
1552s 'either \'Global\' or \'Custom\'.", "channel_number: Invalid value \'22\' for Channel Number in playbook. Must be one of: ' +
1552s '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].", "channel_width: Invalid value \'5\' for Channel width in playbook. Must be one ' +
1552s 'of: \'20 MHz\', \'40 MHz\', \'80 MHz\', \'160 MHz\', or \'320 MHz\'.", "power_assignment_mode: Invalid ' +
1552s 'value \'any\' for Power assignment mode in ' +
1552s 'playbook. Must be either \'Global\' or \'Custom\'.", \'powerlevel: This configuration is only supported with Client-Serving Radio Role ' +
1552s 'Assignment None \', "radio_role_assignment: Invalid value \'any\' for radio role assignment in playbook. Must be one ' +
1552s 'of: \'Auto\', \'Monitor\' or \'Client-Serving\'.", \'Radio Params cannot be changed when AP mode is in Monitorw.\', "admin_status: ' +
1552s 'Invalid value \'Enabledsds\' for admin_status in playbook. Must be either \'Enabled\' or \'Disabled\'.", "antenna_gain: Invalid \'41\' in ' +
1552s 'playbook, allowed range of min: 0 and max: 40", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. ' +
1552s 'Must be either \'Global\' or \'Custom\'.", ' +
1552s '"radio_role_assignment: Invalid value \'Client-Serving\'. Hence, AP mode is not Local. Kindly change the AP mode to Local then ' +
1552s 'change the radio_role_assignment to Auto."]\' '
1552s )
1552s E AssertionError: 'Inva[2010 chars]alid IP address \'204.192.4.20dfasd0\' in play[1626 chars]]\' ' != 'Inva[2010 chars]alid primary_ip_address \'{\'address\': \'204.[1797 chars]]\' '
1552s E - Invalid parameters in playbook config: '[["Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 280", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 380", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 480", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9120", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9166", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9167EH", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165E", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP Address '204.192.12.201dsd' in playbook.", 'ap_name:hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address : The string exceeds the allowed range of max 32 char', "led_status: Invalid LED Status 'Enableddd' in playbook.", "ap_mode: Invalid value 'Monitorw' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or Bridge.", "failover_priority: Invalid value 'Lossw' for failover_priority in playbook. Must be one of: Low, Medium, High or Critical.", "clean_air_si_2.4ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_5ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_6ghz: Invalid value 'Enableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "primary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", "secondary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", "tertiary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "channel_number: Invalid value '22' for Channel Number in playbook. Must be one of: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].", 'channel_width is not applicable for the 2.4GHz radio', "power_assignment_mode: Invalid value 'any' for Power assignment mode in playbook. Must be either 'Global' or 'Custom'.", "radio_role_assignment: Invalid value 'any' for radio role assignment in playbook. Must be one of: 'Auto', 'Monitor' or 'Client-Serving'.", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "antenna_gain: Invalid '41' in playbook, allowed range of min: 0 and max: 40", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "radio_role_assignment: Invalid value 'Client-Serving'. Hence, AP mode is not Local. Kindly change the AP mode to Local then change the radio_role_assignment to Auto.", "radio_band: Missing in 'xor_radio' in playbook. Must be either '2.4 GHz' or '5 GHz' or '6 GHz'."]'
1552s E ? ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ---------------------------------------------------------------------------------------------------
1552s E + Invalid parameters in playbook config: '[["Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 280", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 380", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 480", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9120", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9166", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9167EH", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165E", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP Address '204.192.12.201dsd' in playbook.", 'ap_name:hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address : The string exceeds the allowed range of max 32 char', "led_status: Invalid LED Status 'Enableddd' in playbook.", "ap_mode: Invalid value 'Monitorw' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or Bridge.", "failover_priority: Invalid value 'Lossw' for failover_priority in playbook. Must be one of: Low, Medium, High or Critical.", "clean_air_si_2.4ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_5ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_6ghz: Invalid value 'Enableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "primary_ip_address: Invalid primary_ip_address '{'address': '204.192.4.20dfasd0'}' in playbook", "secondary_ip_address: Invalid secondary_ip_address '{'address': '204.192.4.20dfasd0'}' in playbook", "tertiary_ip_address: Invalid tertiary_ip_address '{'address': '204.192.4.20dfasd0'}' in playbook", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "channel_number: Invalid value '22' for Channel Number in playbook. Must be one of: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].", "channel_width: Invalid value '5' for Channel width in playbook. Must be one of: '20 MHz', '40 MHz', '80 MHz', '160 MHz', or '320 MHz'.", "power_assignment_mode: Invalid value 'any' for Power assignment mode in playbook. Must be either 'Global' or 'Custom'.", 'powerlevel: This configuration is only supported with Client-Serving Radio Role Assignment None ', "radio_role_assignment: Invalid value 'any' for radio role assignment in playbook. Must be one of: 'Auto', 'Monitor' or 'Client-Serving'.", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "antenna_gain: Invalid '41' in playbook, allowed range of min: 0 and max: 40", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "radio_role_assignment: Invalid value 'Client-Serving'. Hence, AP mode is not Local. Kindly change the AP mode to Local then change the radio_role_assignment to Auto."]'
1552s E ? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1552s
1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:221: AssertionError
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Accesspoint: validate_ap_config_parameters: 2373: Invalid parameters in playbook config: '[["Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 280", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 380", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 480", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9120", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series 9166", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9167EH", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165E", "Access Point series 'Cisco 9164I Series Unified Access Points' not supported for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP Address '204.192.12.201dsd' in playbook.", 'ap_name:hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address : The string exceeds the allowed range of max 32 char', "led_status: Invalid LED Status 'Enableddd' in playbook.", "ap_mode: Invalid value 'Monitorw' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or Bridge.", "failover_priority: Invalid value 'Lossw' for failover_priority in playbook. Must be one of: Low, Medium, High or Critical.", "clean_air_si_2.4ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_5ghz: Invalid value 'Disableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "clean_air_si_6ghz: Invalid value 'Enableds' in playbook. Must be either 'Enabled' or 'Disabled'.", "primary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", "secondary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", "tertiary_ip_address: Invalid IP address '204.192.4.20dfasd0' in playbook", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "channel_number: Invalid value '22' for Channel Number in playbook. Must be one of: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].", 'channel_width is not applicable for the 2.4GHz radio', "power_assignment_mode: Invalid value 'any' for Power assignment mode in playbook. Must be either 'Global' or 'Custom'.", "radio_role_assignment: Invalid value 'any' for radio role assignment in playbook. Must be one of: 'Auto', 'Monitor' or 'Client-Serving'.", 'Radio Params cannot be changed when AP mode is in Monitorw.', "admin_status: Invalid value 'Enabledsds' for admin_status in playbook. Must be either 'Enabled' or 'Disabled'.", "antenna_gain: Invalid '41' in playbook, allowed range of min: 0 and max: 40", "channel_assignment_mode: Invalid value 'any' for Channel Assignment Mode in playbook. Must be either 'Global' or 'Custom'.", "radio_role_assignment: Invalid value 'Client-Serving'. Hence, AP mode is not Local. Kindly change the AP mode to Local then change the radio_role_assignment to Auto.", "radio_band: Missing in 'xor_radio' in playbook. Must be either '2.4 GHz' or '5 GHz' or '6 GHz'."]'
1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_update_verify _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s def get_tasks_by_id(self, task_id):
1552s """
1552s Get the tasks of a task ID in Cisco Catalyst Center.
1552s Args:
1552s self (object): An instance of a class that provides access to Cisco Catalyst Center.
1552s task_id (str): The unique identifier of the task for which you want to retrieve details.
1552s Returns:
1552s dict or None: A dictionary status information about the specified task,
1552s or None if the task with the given task_id is not found.
1552s Description:
1552s Call the API 'get_tasks_by_id' to get the status of the task.
1552s Return the details along with the status of the task.
1552s """
1552s # Need to handle exception
1552s task_status = None
1552s try:
1552s > response = self.dnac._exec(
1552s family="task",
1552s function="get_tasks_by_id",
1552s params={"id": task_id}
1552s )
1552s
1552s plugins/module_utils/dnac.py:1662:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s /usr/lib/python3.13/unittest/mock.py:1169: in __call__
1552s return self._mock_call(*args, **kwargs)
1552s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call
1552s return self._execute_mock_call(*args, **kwargs)
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s self = , args = ()
1552s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191e542-b3fb-7ac8-ae85-81e461c8b022'}}
1552s effect =
1552s
1552s def _execute_mock_call(self, /, *args, **kwargs):
1552s # separate from _increment_mock_call so that awaited functions are
1552s # executed separately from their call, also AsyncMock overrides this method
1552s
1552s effect = self.side_effect
1552s if effect is not None:
1552s if _is_exception(effect):
1552s raise effect
1552s elif not _callable(effect):
1552s > result = next(effect)
1552s E StopIteration
1552s
1552s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration
1552s
1552s During handling of the above exception, another exception occurred:
1552s
1552s self =
1552s
1552s def test_device_credentials_workflow_manager_update_verify(self):
1552s """
1552s Test case for device credential workflow manager when updating a device credential.
1552s
1552s This test case checks the behavior of the device credential workflow manager when updating a new device credentials in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.7.6",
1552s dnac_log=True,
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_creation
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:336:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/device_credential_workflow_manager.py:3277: in main
1552s ccc_credential.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/device_credential_workflow_manager.py:2977: in get_diff_merged
1552s self.update_device_credentials().check_return_status()
1552s plugins/modules/device_credential_workflow_manager.py:2684: in update_device_credentials
1552s self.check_tasks_response_status(response, "update_global_credentials_v2").check_return_status()
1552s plugins/module_utils/dnac.py:1730: in check_tasks_response_status
1552s task_details = self.get_tasks_by_id(task_id)
1552s plugins/module_utils/dnac.py:1684: in get_tasks_by_id
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_add_existing_devices _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_inventory_workflow_manager_playbook_add_existing_devices(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.5.3",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_add_existing_devices
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=False)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center."
1552s )
1552s E AssertionError: 'No changes were made. No inventory actio[39 chars]ter.' != "device(s) '70.2.2.2', '80.2.2.2' already[30 chars]ter."
1552s E - No changes were made. No inventory actions were performed in Cisco Catalyst Center.
1552s E + device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center.
1552s
1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:282: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'changed': False, 'diff': [], 'response': 'No changes were made. No inventory actions were performed in Cisco Catalyst Center.', 'warnings': [], 'msg': 'No changes were made. No inventory actions were performed in Cisco Catalyst Center.'}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config
1552s
1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3567: {'cli_transport': 'ssh', 'compute_device': False, 'enable_password': 'Test@1234', 'extended_discovery_info': 'test', 'http_password': 'test', 'http_port': '443', 'http_secure': False, 'http_username': 'testuser', 'ip_address_list': ['70.2.2.2', '80.2.2.2'], 'netconf_port': 830, 'password': 'Test@123', 'snmp_auth_passphrase': 'Lablab@12', 'snmp_auth_protocol': 'SHA', 'snmp_mode': 'AUTHPRIV', 'snmp_priv_passphrase': 'Lablab@123', 'snmp_priv_protocol': 'AES256', 'snmp_retry': 3, 'snmp_timeout': 5, 'snmp_username': 'v3Public', 'snmp_version': 'v3', 'type': 'NETWORK_DEVICE', 'username': 'cisco'}
1552s
1552s WARNING logger:dnac.py:294 Inventory: verify_diff_merged: 3882: verify starts here verify diff merged
1552s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_provision_device _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_accesspoint_workflow_manager_provision_device(self):
1552s """
1552s Test case for access point workfollow manager provision and update device.
1552s
1552s This test case checks the behavior of the access point workflow when provisioned in the specified Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s dnac_version="2.3.7.6",
1552s config_verify=True,
1552s config=self.playbook_config_complete
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:145:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/accesspoint_workflow_manager.py:4190: in main
1552s ccc_network.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/accesspoint_workflow_manager.py:1894: in get_diff_merged
1552s self.validate_ap_config_parameters(ap_config).check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "Invalid parameters in playbook config: '['channel_width is not applicable for the 2.4GHz radio']' ", 'response': [], 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Accesspoint: validate_ap_config_parameters: 2373: Invalid parameters in playbook config: '['channel_width is not applicable for the 2.4GHz radio']'
1552s __ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_add_udf __
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_inventory_workflow_manager_playbook_add_udf(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_add_udf
1552s )
1552s )
1552s result = self.execute_module(changed=True, failed=False)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center."
1552s )
1552s E AssertionError: "Global User Defined Field(UDF) named 'Tes[44 chars]ice." != "device(s) '70.2.2.2', '80.2.2.2' already [29 chars]ter."
1552s E - Global User Defined Field(UDF) named 'Test123' has been successfully added to the device.
1552s E + device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center.
1552s
1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:306: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'changed': True, 'diff': [], 'response': "Global User Defined Field(UDF) named 'Test123' has been successfully added to the device.", 'warnings': [], 'msg': "Global User Defined Field(UDF) named 'Test123' has been successfully added to the device."}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config
1552s
1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3567: {'add_user_defined_field': [{'name': 'Test123'}], 'ip_address_list': ['70.2.2.2', '80.2.2.2']}
1552s
1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3570: udf_field_list
1552s
1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3571: [{'name': 'Test123'}]
1552s
1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3584: False
1552s
1552s WARNING logger:dnac.py:294 Inventory: verify_diff_merged: 3882: verify starts here verify diff merged
1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_del_provisioned_device_2353 _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_inventory_workflow_manager_playbook_del_provisioned_device_2353(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.5.3",
1552s state="deleted",
1552s config_verify=True,
1552s config=self.playbook_del_provisioned_device_2353
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:553:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/inventory_workflow_manager.py:4197: in main
1552s ccc_device.get_diff_state_apply[state](config).check_return_status()
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def get_diff_deleted(self, config):
1552s """
1552s Main function to delete devices in Cisco Catalyst Center based on device IP address.
1552s Parameters:
1552s config (dict): The configuration settings for the deletion process.
1552s Returns:
1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1552s Description:
1552s This method compares the provided configuration against the current
1552s devices in the Cisco Catalyst Center and deletes devices based on
1552s their IP addresses. It returns a success status indicating whether
1552s the deletion process was completed successfully.
1552s """
1552s
1552s device_to_delete = self.get_device_ips_from_config_priority()
1552s self.result['msg'] = []
1552s
1552s # Handle Global User Defined Fields (UDF) Deletion
1552s if self.config[0].get('add_user_defined_field'):
1552s return self.delete_user_defined_fields()
1552s
1552s # Loop over devices to delete them
1552s for device_ip in device_to_delete:
1552s if device_ip not in self.have.get("device_in_ccc"):
1552s self.status = "success"
1552s self.result['changed'] = False
1552s self.msg = "Device '{0}' is not present in Cisco Catalyst Center so can't perform delete operation".format(device_ip)
1552s self.no_device_to_delete.append(device_ip)
1552s self.result['msg'].append(self.msg)
1552s self.result['response'] = self.msg
1552s self.log(self.msg, "INFO")
1552s continue
1552s device_ids = self.get_device_ids([device_ip])
1552s > device_id = device_ids[0]
1552s E IndexError: list index out of range
1552s
1552s plugins/modules/inventory_workflow_manager.py:3665: IndexError
1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_a_device _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_inventory_workflow_manager_playbook_delete_a_device(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="deleted",
1552s config_verify=True,
1552s config=self.playbook_delete_a_device
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:329:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/inventory_workflow_manager.py:4197: in main
1552s ccc_device.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/inventory_workflow_manager.py:3668: in get_diff_deleted
1552s self.handle_device_deletion(device_ip)
1552s plugins/modules/inventory_workflow_manager.py:3857: in handle_device_deletion
1552s self.check_tasks_response_status(response, api_name='deleted_device_by_id')
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def check_tasks_response_status(self, response, api_name):
1552s """
1552s Get the task response status from taskId
1552s Args:
1552s self: The current object details.
1552s response (dict): API response.
1552s api_name (str): API name.
1552s Returns:
1552s self (object): The current object with updated desired Fabric Transits information.
1552s Description:
1552s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE'
1552s state or till it reaches the maximum timeout.
1552s Log the task details and return self.
1552s """
1552s
1552s if not response:
1552s self.msg = "response is empty"
1552s self.status = "exited"
1552s return self
1552s
1552s if not isinstance(response, dict):
1552s self.msg = "response is not a dictionary"
1552s self.status = "exited"
1552s return self
1552s
1552s task_info = response.get("response")
1552s if task_info.get("errorcode") is not None:
1552s self.msg = response.get("response").get("detail")
1552s self.status = "failed"
1552s return self
1552s
1552s task_id = task_info.get("taskId")
1552s start_time = time.time()
1552s while True:
1552s elapsed_time = time.time() - start_time
1552s if elapsed_time >= self.max_timeout:
1552s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \
1552s .format(self.max_timeout, task_id) + \
1552s "Exiting the loop due to unexpected API '{0}' status.".format(api_name)
1552s self.log(self.msg, "WARNING")
1552s self.status = "failed"
1552s break
1552s
1552s task_details = self.get_tasks_by_id(task_id)
1552s self.log('Getting tasks details from task ID {0}: {1}'
1552s .format(task_id, task_details), "DEBUG")
1552s
1552s > task_status = task_details.get("status")
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/module_utils/dnac.py:1734: AttributeError
1552s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_provision_old_version _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_accesspoint_workflow_manager_provision_old_version(self):
1552s """
1552s Test case for access point workfollow manager provision device old version.
1552s
1552s This test case checks the behavior of the access point workflow when provisioned in the specified Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s dnac_version="2.3.5.3",
1552s config_verify=True,
1552s config=self.playbook_config_provision_old_version
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s self.maxDiff = None
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center."
1552s )
1552s E AssertionError: 'AP - LTTS_Test_9124_T2 does not need any update' != "The provided site name 'Global/Chennai/L[94 chars]ter."
1552s E - AP - LTTS_Test_9124_T2 does not need any update
1552s E + The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center.
1552s
1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:302: AssertionError
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 Accesspoint: site_exists: 2929: The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center.'NoneType' object has no attribute 'get'
1552s
1552s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center.
1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_device_udf _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_inventory_workflow_manager_playbook_delete_device_udf(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="deleted",
1552s config_verify=True,
1552s config=self.playbook_delete_device_udf
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:478:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/inventory_workflow_manager.py:4197: in main
1552s ccc_device.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/inventory_workflow_manager.py:3668: in get_diff_deleted
1552s self.handle_device_deletion(device_ip)
1552s plugins/modules/inventory_workflow_manager.py:3857: in handle_device_deletion
1552s self.check_tasks_response_status(response, api_name='deleted_device_by_id')
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def check_tasks_response_status(self, response, api_name):
1552s """
1552s Get the task response status from taskId
1552s Args:
1552s self: The current object details.
1552s response (dict): API response.
1552s api_name (str): API name.
1552s Returns:
1552s self (object): The current object with updated desired Fabric Transits information.
1552s Description:
1552s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE'
1552s state or till it reaches the maximum timeout.
1552s Log the task details and return self.
1552s """
1552s
1552s if not response:
1552s self.msg = "response is empty"
1552s self.status = "exited"
1552s return self
1552s
1552s if not isinstance(response, dict):
1552s self.msg = "response is not a dictionary"
1552s self.status = "exited"
1552s return self
1552s
1552s task_info = response.get("response")
1552s if task_info.get("errorcode") is not None:
1552s self.msg = response.get("response").get("detail")
1552s self.status = "failed"
1552s return self
1552s
1552s task_id = task_info.get("taskId")
1552s start_time = time.time()
1552s while True:
1552s elapsed_time = time.time() - start_time
1552s if elapsed_time >= self.max_timeout:
1552s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \
1552s .format(self.max_timeout, task_id) + \
1552s "Exiting the loop due to unexpected API '{0}' status.".format(api_name)
1552s self.log(self.msg, "WARNING")
1552s self.status = "failed"
1552s break
1552s
1552s task_details = self.get_tasks_by_id(task_id)
1552s self.log('Getting tasks details from task ID {0}: {1}'
1552s .format(task_id, task_details), "DEBUG")
1552s
1552s > task_status = task_details.get("status")
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/module_utils/dnac.py:1734: AttributeError
1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_delete_provisioned_device _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_inventory_workflow_manager_playbook_delete_provisioned_device(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="deleted",
1552s config_verify=True,
1552s config=self.playbook_delete_provisioned_device
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:354:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/inventory_workflow_manager.py:4197: in main
1552s ccc_device.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/inventory_workflow_manager.py:3675: in get_diff_deleted
1552s self.delete_provisioned_device_v2(device_ip)
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def delete_provisioned_device_v2(self, device_ip):
1552s """
1552s Deletes provisioned devices for versions > 2.3.5.3.
1552s
1552s Parameters:
1552s device_ip (str): The IP address of the device to be deleted.
1552s
1552s Description:
1552s This method deletes a provisioned device with the specified IP address
1552s for software versions greater than 2.3.5.3. It ensures that the device
1552s is properly removed from the Cisco Catalyst Center, handling any
1552s required validations and API interactions.
1552s """
1552s
1552s device_ids = self.get_device_ids([device_ip])
1552s > device_id = device_ids[0]
1552s E IndexError: list index out of range
1552s
1552s plugins/modules/inventory_workflow_manager.py:3801: IndexError
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Inventory: get_device_ids: 2403: Error while fetching device '204.1.2.4' from Cisco Catalyst Center: 0
1552s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_some_error_data_update_accesspoint _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_accesspoint_workflow_manager_some_error_data_update_accesspoint(self):
1552s """
1552s Test case for access point workfollow manager negative case.
1552s
1552s This test case checks the behavior of the access point workflow when wrong data passed in the specified Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config_verify=True,
1552s dnac_version="2.3.7.6",
1552s config=self.playbook_config_update_some_error_data
1552s )
1552s )
1552s result = self.execute_module(changed=True, failed=True)
1552s self.maxDiff = None
1552s > self.assertEqual(
1552s result.get('msg'),
1552s 'The provided site name \'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO\' ' +
1552s 'is either invalid or not present in the Cisco Catalyst Center.'
1552s )
1552s E AssertionError: "An error occurred while executing GET API[211 chars]n: ." != "The provided site name 'Global/USA/New Yo[175 chars]ter."
1552s E - An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO'}. Exception: .
1552s E + The provided site name 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO' is either invalid or not present in the Cisco Catalyst Center.
1552s
1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:195: AssertionError
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO'}. Exception: .
1552s
1552s WARNING logger:dnac.py:294 Accesspoint: site_exists: 2929: The provided site name 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO' is either invalid or not present in the Cisco Catalyst Center.{'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO'}. Exception: .", 'failed': True}
1552s
1552s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: The provided site name 'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO' is either invalid or not present in the Cisco Catalyst Center.
1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_prov_device_2353 _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_inventory_workflow_manager_playbook_prov_device_2353(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.5.3",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_prov_device_2353
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:578:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/inventory_workflow_manager.py:4197: in main
1552s ccc_device.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/inventory_workflow_manager.py:3613: in get_diff_merged
1552s self.provisioned_wired_device().check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': 'Wired Device Provisioning failed for all devices', 'response': 'Wired Device Provisioning failed for all devices', 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config
1552s
1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3567: {'provision_wired_device': [{'device_ip': '204.1.2.4', 'resync_retry_count': 200, 'resync_retry_interval': 2, 'site_name': 'Global/Chennai/LTTS/FLOOR1'}]}
1552s
1552s ERROR logger:dnac.py:294 Inventory: provisioned_wired_device: 1720: Cannot do Provisioning for device 204.1.2.4.
1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_provision_device _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_inventory_workflow_manager_playbook_provision_device(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_provision_device
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:528:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/inventory_workflow_manager.py:4197: in main
1552s ccc_device.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/inventory_workflow_manager.py:3613: in get_diff_merged
1552s self.provisioned_wired_device().check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': 'Wired Device Provisioning failed for all devices', 'response': 'Wired Device Provisioning failed for all devices', 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3566: self.config
1552s
1552s WARNING logger:dnac.py:294 Inventory: get_diff_merged: 3567: {'provision_wired_device': [{'device_ip': '204.1.2.4', 'resync_retry_count': 200, 'resync_retry_interval': 2, 'site_name': 'Global/Chennai/LTTS/FLOOR1'}]}
1552s
1552s WARNING logger:dnac.py:294 Inventory: is_device_assigned_to_site: 1876: Response collected from the API 'get_device_detail' {'response': [], 'version': '1.0'}
1552s
1552s CRITICAL logger:dnac.py:294 Inventory: is_device_assigned_to_site: 1883: Failed to find device with UUID 03072c33-bd11-4914-9c0e-3c53379b2813 due to: 'list' object has no attribute 'get'
1552s
1552s ERROR logger:dnac.py:294 Inventory: handle_provisioning_exception: 1606: Error while Provisioning the Wired device 204.1.2.4 in Cisco Catalyst Center: {'msg': "Failed to find device with UUID 03072c33-bd11-4914-9c0e-3c53379b2813 due to: 'list' object has no attribute 'get'", 'failed': True}
1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_provision_failed_for_site _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_inventory_workflow_manager_playbook_provision_failed_for_site(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_provision_failed_for_site
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Wired Device Provisioning failed for all devices"
1552s )
1552s E AssertionError: "An exception occurred while retrieving S[136 chars]able" != 'Wired Device Provisioning failed for all devices'
1552s E - An exception occurred while retrieving Site details for Site 'Global/Chennai/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable
1552s E + Wired Device Provisioning failed for all devices
1552s
1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:380: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "An exception occurred while retrieving Site details for Site 'Global/Chennai/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable", 'response': "An exception occurred while retrieving Site details for Site 'Global/Chennai/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable", 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Inventory: set_operation_result: 1780: An exception occurred while retrieving Site details for Site 'Global/Chennai/LTTS/FLOOR1' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable
1552s _ TestDnacAccesspointWorkflow.test_accesspoint_workflow_manager_task_error_update_accesspoint _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_accesspoint_workflow_manager_task_error_update_accesspoint(self):
1552s """
1552s Test case for access point workfollow manager and negative test verify ap update.
1552s
1552s This test case checks the behavior of the nagative test case of update in the specified Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config_verify=True,
1552s dnac_version="2.3.7.6",
1552s config=self.playbook_config
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Unable to get success response, hence AP config not updated"
1552s )
1552s E AssertionError: "An error occurred while executing API ca[74 chars]n: ." != 'Unable to get success response, hence AP[15 chars]ated'
1552s E - An error occurred while executing API call to Function: 'get_task_details_by_id' due to the the following exception: .
1552s E + Unable to get success response, hence AP config not updated
1552s
1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:326: AssertionError
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 Accesspoint: update_ap_configuration: 3501: No AP name or MAC address found in ap_config.
1552s
1552s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_task_details_by_id' due to the the following exception: .
1552s ___________ TestDnacAccesspointWorkflow.test_invalid_get_site_device ___________
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_invalid_get_site_device(self):
1552s """
1552s Test case for access point workfollow manager get device details from site
1552s
1552s This test case checks the behavior of the access point workflow when check the devices in the site on the specified Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s dnac_version="2.3.7.6",
1552s config=self.get_membership_empty
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Required param of mac_address,ip_address or hostname is not in playbook config"
1552s )
1552s E AssertionError: 'Successfully validated playbook config pa[1253 chars]}\n]' != 'Required param of mac_address,ip_address [33 chars]nfig'
1552s E Diff is 1423 characters long. Set self.maxDiff to None to see it.
1552s
1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:399: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': 'Successfully validated playbook config params:[\n {\n "mac_address": null,\n "management_ip_address": null,\n "hostname": null,\n "rf_profile": null,\n "site": {\n "response": [],\n "version": "1.0",\n "message": "Site does not have childrens."\n },\n "type": null,\n "ap_name": null,\n "admin_status": null,\n "led_status": null,\n "led_brightness_level": null,\n "ap_mode": null,\n "location": null,\n "is_assigned_site_as_location": null,\n "failover_priority": null,\n "primary_controller_name": null,\n "primary_ip_address": null,\n "secondary_controller_name": null,\n "secondary_ip_address": null,\n "tertiary_controller_name": null,\n "tertiary_ip_address": null,\n "clean_air_si_2.4ghz": null,\n "clean_air_si_5ghz": null,\n "clean_air_si_6ghz": null,\n "2.4ghz_radio": null,\n "5ghz_radio": null,\n "6ghz_radio": null,\n "xor_radio": null,\n "tri_radio": null,\n "reboot_aps": null,\n "factory_reset_aps": null,\n "bulk_update_aps": null,\n "ap_selected_fields": null,\n "ap_config_selected_fields": null\n }\n]', 'response': 'Required param of mac_address,ip_address or hostname is not in playbook config', 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 Accesspoint: get_accesspoint_details: 2688: Required param of mac_address,ip_address or hostname is not in playbook config
1552s
1552s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Required param of mac_address,ip_address or hostname is not in playbook config
1552s _____________ TestDnacAccesspointWorkflow.test_invalid_site_exists _____________
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_invalid_site_exists(self):
1552s """
1552s Test case for access point workfollow manager check site exists.
1552s
1552s This test case checks the behavior of the access point workflow when site exist in the specified Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s dnac_version="2.3.7.6",
1552s config=self.playbook_config_provision
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "MAC Address is not Access point"
1552s )
1552s E AssertionError: 'Provided device is not Access Point.' != 'MAC Address is not Access point'
1552s E - Provided device is not Access Point.
1552s E + MAC Address is not Access point
1552s
1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:350: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': 'Provided device is not Access Point.', 'response': 'Provided device is not Access Point.', 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Provided device is not Access Point.
1552s _ TestDnacInventoryWorkflow.test_inventory_workflow_manager_playbook_update_mgmt_ip _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_inventory_workflow_manager_playbook_update_mgmt_ip(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_update_mgmt_ip
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_inventory_workflow_manager.py:503:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/inventory_workflow_manager.py:4197: in main
1552s ccc_device.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/inventory_workflow_manager.py:3391: in get_diff_merged
1552s csv_reader = self.decrypt_and_read_csv(export_response, password)
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def decrypt_and_read_csv(self, response, password):
1552s """
1552s Parameters:
1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1552s response (requests.Response): HTTP response object containing the encrypted CSV file.
1552s password (str): Password used for decrypting the CSV file.
1552s Returns:
1552s csv.DictReader: A CSV reader object for the decrypted content, allowing iteration over rows as dictionaries.
1552s Description:
1552s Decrypts and reads a CSV-like file from the given HTTP response using the provided password.
1552s """
1552s
1552s > zip_data = BytesIO(response.data)
1552s E AttributeError: 'NoneType' object has no attribute 'data'
1552s
1552s plugins/modules/inventory_workflow_manager.py:1132: AttributeError
1552s _____________ TestDnacAccesspointWorkflow.test_invalid_wlc_device ______________
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_invalid_wlc_device(self):
1552s """
1552s Test case for access point workfollow manager check invalid wireless controller.
1552s
1552s This test case checks the behavior of the access point workflow of invalid wlc specified Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s dnac_version="2.3.7.6",
1552s config=self.playbook_config_provision
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s self.maxDiff = None
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Wireles controller is not provisioned:"
1552s )
1552s E AssertionError: "An error occurred while executing GET AP[157 chars]n: ." != 'Wireles controller is not provisioned:'
1552s E - An error occurred while executing GET API call to Function: 'get_site_assigned_network_devices' from Family: 'site_design'. Parameters: {'site_id': 'c55c069f-a77f-4cc9-bb20-63df01e9a01a'}. Exception: .
1552s E + Wireles controller is not provisioned:
1552s
1552s tests/unit/modules/dnac/test_accesspoint_workflow_manager.py:170: AssertionError
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_site_assigned_network_devices' from Family: 'site_design'. Parameters: {'site_id': 'c55c069f-a77f-4cc9-bb20-63df01e9a01a'}. Exception: .
1552s
1552s ERROR logger:dnac.py:294 Accesspoint: get_site_device: 2968: Failed to execute the get_device_ids_from_site function 'c55c069f-a77f-4cc9-bb20-63df01e9a01a' Error: {'msg': "An error occurred while executing GET API call to Function: 'get_site_assigned_network_devices' from Family: 'site_design'. Parameters: {'site_id': 'c55c069f-a77f-4cc9-bb20-63df01e9a01a'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_site_assigned_network_devices' from Family: 'site_design'. Parameters: {'site_id': 'c55c069f-a77f-4cc9-bb20-63df01e9a01a'}. Exception: .", 'failed': True}
1552s
1552s ERROR logger:dnac.py:294 Accesspoint: verify_ap_provision: 3010: Wireles controller is not provisioned:
1552s
1552s ERROR logger:dnac.py:294 Accesspoint: set_operation_result: 1780: Wireles controller is not provisioned:
1552s _________ TestNetworkCompliance.test_run_compliance_categories_iplist __________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_categories_iplist(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_categories_iplist")
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:412:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: True, Run Compliance Categories: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], Sync Device Config: False
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], sync_device_config=False
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_run_compliance_categories: 510: Validating the provided run compliance categories: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_run_compliance_categories: 518: Validation successful: valid run compliance categorites provided: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT'], 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [], 'version': '1.0', 'deviceUuid': 'None'}
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 724: Exiting the loop because no devices were returned after increasing the offset. Current offset: 501
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_already_sync_cred _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_device_credentials_workflow_manager_already_sync_cred(self):
1552s """
1552s Test case for device credential workflow manager when applying a device credential to site devices where sync is already applied.
1552s
1552s This test case checks the behavior of the device credential workflow manager when applying a device credential to site devices
1552s
1552s where sync is already applied in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.7.6",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_apply
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=False)
1552s print(result)
1552s self.assertEqual(
1552s > result['response'][0]['applyCredential']['Applied Credentials']['msg'],
1552s "Provided credentials category is/are already synced."
1552s )
1552s E KeyError: 'applyCredential'
1552s
1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:314: KeyError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'changed': False, 'diff': [], 'response': [{'global_credential': {}, 'assign_credential': {}, 'apply_credential': {'Applied Credentials': {'response': [], 'msg': 'Either the provided credentials are already synchronized or they are not assigned to the device.'}}}], 'warnings': []}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 DeviceCredential: apply_credentials_to_site: 2920: Provided credentials category is/are already synced: {'cliId': '2885a877-022a-4c18-b38f-825a63ebd7d1', 'snmpV2ReadId': '97061bab-1d11-4df4-950c-9304fb846b83', 'snmpV2WriteId': '07c3c5fc-35e6-4c83-bdcb-6322d4bf7103', 'snmpV3Id': '9900b521-0dfb-4bd1-b044-d31037c8def3'}
1552s ____________ TestNetworkCompliance.test_run_compliance_with_iplist _____________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_iplist(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=False,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_iplist")
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:349:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_1 ________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_iplist_failure_1(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=False,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_iplist")
1552s )
1552s )
1552s > result = self.execute_module(changed=False, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:541:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_2 ________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_iplist_failure_2(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_iplist")
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s > self.assertIn(
1552s "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call",
1552s result.get('msg')
1552s )
1552s E AssertionError: "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call" not found in "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs)."
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:563: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None.
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_3 ________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_iplist_failure_3(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_iplist")
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s > self.assertEqual(
1552s "An error occurred while retrieving the task_id of the run_compliance operation.",
1552s result.get('msg')
1552s )
1552s E AssertionError: 'An error occurred while retrieving the t[35 chars]ion.' != "No device UUIDs were fetched for network[153 chars]Ps)."
1552s E - An error occurred while retrieving the task_id of the run_compliance operation.
1552s E + No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:584: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297620, 'lastUpdateTime': 1721061010296, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297708, 'lastUpdateTime': 1721061010419, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297420, 'lastUpdateTime': 1721061010438, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297733, 'lastUpdateTime': 1721061010335, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042299163, 'lastUpdateTime': 1721061010242, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_apply_sync _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s def get_tasks_by_id(self, task_id):
1552s """
1552s Get the tasks of a task ID in Cisco Catalyst Center.
1552s Args:
1552s self (object): An instance of a class that provides access to Cisco Catalyst Center.
1552s task_id (str): The unique identifier of the task for which you want to retrieve details.
1552s Returns:
1552s dict or None: A dictionary status information about the specified task,
1552s or None if the task with the given task_id is not found.
1552s Description:
1552s Call the API 'get_tasks_by_id' to get the status of the task.
1552s Return the details along with the status of the task.
1552s """
1552s # Need to handle exception
1552s task_status = None
1552s try:
1552s > response = self.dnac._exec(
1552s family="task",
1552s function="get_tasks_by_id",
1552s params={"id": task_id}
1552s )
1552s
1552s plugins/module_utils/dnac.py:1662:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s /usr/lib/python3.13/unittest/mock.py:1169: in __call__
1552s return self._mock_call(*args, **kwargs)
1552s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call
1552s return self._execute_mock_call(*args, **kwargs)
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s self = , args = ()
1552s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191ea00-6acf-7863-83c3-638499ad0aff'}}
1552s effect =
1552s
1552s def _execute_mock_call(self, /, *args, **kwargs):
1552s # separate from _increment_mock_call so that awaited functions are
1552s # executed separately from their call, also AsyncMock overrides this method
1552s
1552s effect = self.side_effect
1552s if effect is not None:
1552s if _is_exception(effect):
1552s raise effect
1552s elif not _callable(effect):
1552s > result = next(effect)
1552s E StopIteration
1552s
1552s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration
1552s
1552s During handling of the above exception, another exception occurred:
1552s
1552s self =
1552s
1552s def test_device_credentials_workflow_manager_apply_sync(self):
1552s """
1552s Test case for device credential workflow manager when applying a device credential to site devices.
1552s
1552s This test case checks the behavior of the device credential workflow manager when applying a device credential
1552s
1552s to site devices in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.7.6",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_apply
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:362:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/device_credential_workflow_manager.py:3277: in main
1552s ccc_credential.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/device_credential_workflow_manager.py:2983: in get_diff_merged
1552s self.apply_credentials_to_site().check_return_status()
1552s plugins/modules/device_credential_workflow_manager.py:2936: in apply_credentials_to_site
1552s self.check_tasks_response_status(response,
1552s plugins/module_utils/dnac.py:1730: in check_tasks_response_status
1552s task_details = self.get_tasks_by_id(task_id)
1552s plugins/module_utils/dnac.py:1684: in get_tasks_by_id
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_4 ________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_iplist_failure_4(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_iplist")
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s > self.assertIn(
1552s "Error occurred while retrieving 'get_task_by_id' for Task Run Compliance Check with Task id",
1552s result.get('msg')
1552s )
1552s E AssertionError: "Error occurred while retrieving 'get_task_by_id' for Task Run Compliance Check with Task id" not found in "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs)."
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:605: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297620, 'lastUpdateTime': 1721061010296, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297708, 'lastUpdateTime': 1721061010419, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297420, 'lastUpdateTime': 1721061010438, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297733, 'lastUpdateTime': 1721061010335, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042299163, 'lastUpdateTime': 1721061010242, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1001: {'response': {'taskId': '34629bf3-c191-404d-b5b7-3e445d25457b', 'url': '/api/v1/task/34629bf3-c191-404d-b5b7-3e445d25457b'}, 'version': '1.0'}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: 'str' object has no attribute 'get'
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s _______ TestNetworkCompliance.test_run_compliance_with_iplist_failure_5 ________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_iplist_failure_5(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_iplist")
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s > self.assertIn(
1552s "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call",
1552s result.get('msg')
1552s )
1552s E AssertionError: "An error occurred while retrieving Compliance Details for device:192.168.0.0 using 'compliance_details_of_device' API call" not found in "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs)."
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:626: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297620, 'lastUpdateTime': 1721061010296, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297708, 'lastUpdateTime': 1721061010419, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297420, 'lastUpdateTime': 1721061010438, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297733, 'lastUpdateTime': 1721061010335, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042299163, 'lastUpdateTime': 1721061010242, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1001: {'response': {'taskId': '34629bf3-c191-404d-b5b7-3e445d25457b', 'url': '/api/v1/task/34629bf3-c191-404d-b5b7-3e445d25457b'}, 'version': '1.0'}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: 'str' object has no attribute 'get'
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s __________ TestNetworkCompliance.test_run_compliance_with_iplist_site __________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_iplist_site(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_iplist_site")
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:391:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: Global, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=Global
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'additionalInfo': [], 'name': 'Global', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteNameHierarchy': 'Global'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'site': {'response': [{'parentId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'Tokyo, Japan', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7/c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower/Ansible_Floor', 'name': 'Ansible_Floor', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66'}, {'parentId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'Location', 'attributes': {'country': 'Japan', 'address': 'Tokyo, Japan', 'latitude': '35.6764', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'building', 'longitude': '139.65'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower', 'name': 'Ansible_Tower', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7'}, {'parentId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupNameHierarchy': 'Global/India/Bangalore', 'name': 'Bangalore', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be', 'groupNameHierarchy': 'Global/USA/BayAreaGuest', 'name': 'BayAreaGuest', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16244588-f6da-4ef7-b329-87eed13902be'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupNameHierarchy': 'Global/USA/BERKELEY', 'name': 'BERKELEY', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'a83421d0-cfe5-4318-85ee-a991d2cdd748'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.85992111421487', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'building', 'longitude': '-78.8829258991226'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupNameHierarchy': 'Global/USA/RTP/BLD10', 'name': 'BLD10', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR1', 'name': 'BLD10_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR2', 'name': 'BLD10_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/67966786-b701-4099-8e1a-4191534f36d2', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR3', 'name': 'BLD10_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '67966786-b701-4099-8e1a-4191534f36d2'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.86059627310624', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'building', 'longitude': '-78.88105620286412'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupNameHierarchy': 'Global/USA/RTP/BLD11', 'name': 'BLD11', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '89b128e0-3217-4f63-bf99-b202ec7c0103'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR1', 'name': 'BLD11_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16b5e550-d288-4e11-94a6-baaa8e3d9c08'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR2', 'name': 'BLD11_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR3', 'name': 'BLD11_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.8611847591779', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'building', 'longitude': '-78.88217248318003'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupNameHierarchy': 'Global/USA/RTP/BLD12', 'name': 'BLD12', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4996f8ef-8933-412e-b58b-2238ba860ec7'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/d44f3eca-a3dc-4ed1-a020-0ded43c78056', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR1', 'name': 'BLD12_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR2', 'name': 'BLD12_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/ea574cd8-fa45-48ab-9944-83ed33537416', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR3', 'name': 'BLD12_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ea574cd8-fa45-48ab-9944-83ed33537416'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20', 'name': 'BLD20', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ed089cbf-3622-492f-bf60-5baf6d0b3708'}, {'parentId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': '725 Alder Drive, Milpitas, California 95035, United States', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708/47a127ae-92bd-49ec-aed0-aec8e2a31678', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20/BLD20_FLOOR1', 'name': 'BLD20_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '47a127ae-92bd-49ec-aed0-aec8e2a31678'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/BLD20_FLOOR2', 'name': 'BLD20_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '5', 'hasChild': 'TRUE', 'group.count.direct': '5', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23', 'name': 'BLD23', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '36d3230c-c6ce-44ae-8901-3b4a624883e6'}, {'parentId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748/8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'groupNameHierarchy': 'Global/USA/BERKELEY/BLDBERK', 'name': 'BLDBERK', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d'}, {'parentId': '16244588-f6da-4ef7-b329-87eed13902be', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'type': 'building', 'longitude': '-121.916327'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be/fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'groupNameHierarchy': 'Global/USA/BayAreaGuest/BLD_GB', 'name': 'BLD_GB', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7'}, {'parentId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '1'}}, {'nameSpace': 'ETA', 'attributes': {'member.compatibleWithNaasOnly.direct': '0', 'member.etaCapable.direct': '1', 'member.etaReady.direct': '1', 'member.etaEnabledNaasOnly.direct': '0', 'ETAReady': 'true', 'member.etaNotReady.direct': '0', 'member.etaReadyNotEnabled.direct': '1', 'member.etaEnabled.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC', 'name': 'BLDNYC', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '274da223-2411-4689-8f70-b5bbd8915020'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/b497a0ab-3ab4-42fd-8921-2f45af587b98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF', 'name': 'BLD_SF', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'b497a0ab-3ab4-42fd-8921-2f45af587b98'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'type': 'building', 'longitude': '-121.912974'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF1', 'name': 'BLD_SF1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupNameHierarchy': 'Global/Chennai', 'name': 'Chennai', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}, {'parentId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'latitude': '37.338', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'building', 'longitude': '-121.832'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupNameHierarchy': 'Global/USA/Georgia/cisco', 'name': 'cisco', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'anchorWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'tertiaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'primaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/94f61603-5f1f-4b26-85dd-59355cd67632', 'groupNameHierarchy': 'Global/Demo4', 'name': 'Demo4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '94f61603-5f1f-4b26-85dd-59355cd67632'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'anchorWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'tertiaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'primaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/633a40de-b885-448c-bd84-dd1fef679fbe', 'groupNameHierarchy': 'Global/Demo5', 'name': 'Demo5', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '633a40de-b885-448c-bd84-dd1fef679fbe'}, {'parentId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '200.0', 'length': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': 'FATAL: Command "pytest -r a -n auto --color no -p no:cacheprovider -c /usr/lib/python3/dist-packages/ansible_test/_data/pytest/config/default.ini --junit-xml /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/dnac/tests/output/junit/python3.13-controller-units.xml --strict-markers --rootdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/dnac --confcutdir /tmp/autopkgtest.NviVNE/build.FtY/src/ansible_collections/cisco/dnac tests/unit/modules/dnac/test_accesspoint_workflow_manager.py tests/unit/modules/dnac/test_device_credential_workflow_manager.py tests/unit/modules/dnac/test_discovery_intent.py tests/unit/modules/dnac/test_inventory_workflow_manager.py tests/unit/modules/dnac/test_network_compliance_workflow_manager.py tests/unit/modules/dnac/test_network_settings_workflow_manager.py tests/unit/modules/dnac/test_pnp_intent.py tests/unit/modules/dnac/test_pnp_workflow_manager.py tests/unit/modules/dnac/test_provision_workflow_manager.py tests/unit/modules/dnac/test_rma_workflow_manager.py tests/unit/modules/dnac/test_site_intent.py tests/unit/modules/dnac/test_site_workflow_manager.py tests/unit/modules/dnac/test_swim_intent.py tests/unit/modules/dnac/test_swim_workflow_manager.py tests/unit/modules/dnac/test_template_intent.py tests/unit/modules/dnac/test_user_role_workflow_manager.py" returned exit status 1.
1552s 0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '0.0', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'floor', 'longitude': '0.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763/e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square/floor1', 'name': 'floor1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '17301034-7715-4363-952f-3d290ea6ca59', 'primaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '2', 'member.count.direct': '2'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/17301034-7715-4363-952f-3d290ea6ca59', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR1', 'name': 'FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '17301034-7715-4363-952f-3d290ea6ca59'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL1', 'name': 'FLOOR1_LEVEL1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/c45259ff-0612-4fe7-907c-5987877892d9', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL2', 'name': 'FLOOR1_LEVEL2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c45259ff-0612-4fe7-907c-5987877892d9'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/eb935311-f082-416e-a13c-08acdc6219c0', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL3', 'name': 'FLOOR1_LEVEL3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eb935311-f082-416e-a13c-08acdc6219c0'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/78b8a15c-c112-4941-b00b-ceda2edb38f2', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL4', 'name': 'FLOOR1_LEVEL4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '78b8a15c-c112-4941-b00b-ceda2edb38f2'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '212be018-cfb6-4041-9caa-d344385848b7', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'secondaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/212be018-cfb6-4041-9caa-d344385848b7', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR2', 'name': 'FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '212be018-cfb6-4041-9caa-d344385848b7'}, {'parentId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7/5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'groupNameHierarchy': 'Global/USA/Georgia/cisco/Floor_test', 'name': 'Floor_test', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupNameHierarchy': 'Global/USA/Georgia', 'name': 'Georgia', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupNameHierarchy': 'Global/India', 'name': 'India', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c', 'groupNameHierarchy': 'Global/Japan', 'name': 'Japan', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80143381-187c-48fa-a356-15389aad4e9c'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Bengaluru, Karnataka, India', 'latitude': '25.2', 'addressInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'type': 'building', 'longitude': '42.1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'anchorWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'tertiaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'primaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/d0484233-604a-4972-b010-42a0d44fe3d6', 'groupNameHierarchy': 'Global/JJJ', 'name': 'JJJ', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd0484233-604a-4972-b010-42a0d44fe3d6'}, {'parentId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '12.969910', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'building', 'longitude': '77.597960'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square', 'name': 'Mantri Square', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '4', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupNameHierarchy': 'Global/USA/New York', 'name': 'New York', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '21cc7dad-8c9e-4637-8f24-22ec417b9811'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '12', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupNameHierarchy': 'Global/USA/RTP', 'name': 'RTP', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3fbfb158-a429-41b3-a220-6a6286f93d16'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/7002e28c-a309-454b-ac5d-a6a99d64bc20', 'groupNameHierarchy': 'Global/USA/Sample', 'name': 'Sample', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7002e28c-a309-454b-ac5d-a6a99d64bc20'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO', 'name': 'SAN-FRANCISCO', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '8', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupNameHierarchy': 'Global/USA/SAN JOSE', 'name': 'SAN JOSE', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '58.1', 'length': '103.23', 'height': '58.22'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '0.0', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor', 'longitude': '0.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/398f4d42-d265-4233-8ec3-5e4ba73c9956', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/Test_Floor3', 'name': 'Test_Floor3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '398f4d42-d265-4233-8ec3-5e4ba73c9956'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'latitude': '12', 'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'building', 'longitude': '80'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/0e238b6e-e390-4dae-8932-49ceb3376304', 'groupNameHierarchy': 'Global/Chennai/Tidel', 'name': 'Tidel', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0e238b6e-e390-4dae-8932-49ceb3376304'}, {'parentId': '80143381-187c-48fa-a356-15389aad4e9c', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupNameHierarchy': 'Global/Japan/Tokyo', 'name': 'Tokyo', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '9674054e-fd9e-49ed-8084-1ce9131d6781'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Cognizant Technology Solutions, Chennai, Tamil Nadu 600113, India', 'latitude': '12.9908', 'addressInheritedFrom': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'type': 'building', 'longitude': '80.2470'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/05d2d29c-3c23-478e-88ee-7ec60398634f', 'groupNameHierarchy': 'Global/Chennai/Trill', 'name': 'Trill', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '05d2d29c-3c23-478e-88ee-7ec60398634f'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '38', 'hasChild': 'TRUE', 'group.count.direct': '8', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupNameHierarchy': 'Global/USA', 'name': 'USA', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '69f31d51-9e0d-48f4-8546-4935253f9a67'}], 'version': '1.0'}, 'device': [{'response': [{'instanceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:32:55', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.1', 'family': 'Switches and Hubs', 'hostname': 'DC-FR-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324455437, 'lastUpdated': '2024-07-18 17:40:55', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'd4:ad:bd:c1:67:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.1', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 3. 40', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-24U', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2327U0S2', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:08:19.76', 'uptimeSeconds': 4552059, 'vendor': 'Cisco'}, {'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:34:15', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'In Progress', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.0', 'family': 'Switches and Hubs', 'hostname': 'DC-T-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 19:00:21', 'lastUpdateTime': 1721323875769, 'lastUpdated': '2024-07-18 17:31:15', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '00:b6:70:32:b8:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.0', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 5', 'pendingSyncRequestsCount': '1', 'platformId': 'C9300-24P', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': 'Periodic', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FCW2225C020', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 14:57:41.19', 'uptimeSeconds': 4551979, 'vendor': 'Cisco'}, {'instanceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-28 00:14:36', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.2', 'family': 'Switches and Hubs', 'hostname': 'NY-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324496374, 'lastUpdated': '2024-07-18 17:41:36', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:07:59:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.2', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC271924K0, FJC271924EQ', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.12.2', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 17:27:00.06', 'uptimeSeconds': 4473958, 'vendor': 'Cisco'}, {'instanceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 22:21:03', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.3', 'family': 'Switches and Hubs', 'hostname': 'NY-BN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324523813, 'lastUpdated': '2024-07-18 17:42:03', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '0c:75:bd:41:14:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.3', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 4', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'DISTRIBUTION', 'roleSource': 'AUTO', 'serialNumber': 'FJB2334D06N, FJC2335S09D', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 19:21:44.15', 'uptimeSeconds': 4480771, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}, {'response': [], 'version': '1.0', 'siteId': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16244588-f6da-4ef7-b329-87eed13902be', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '67966786-b701-4099-8e1a-4191534f36d2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ea574cd8-fa45-48ab-9944-83ed33537416', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '47a127ae-92bd-49ec-aed0-aec8e2a31678', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:35:07', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.4', 'family': 'Switches and Hubs', 'hostname': 'SJ-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324467241, 'lastUpdated': '2024-07-18 17:41:07', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:8e:42:80', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.4', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 1', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48T', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2721271T', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:06:55.77', 'uptimeSeconds': 4551928, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '274da223-2411-4689-8f70-b5bbd8915020'}, {'response': [], 'version': '1.0', 'siteId': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '94f61603-5f1f-4b26-85dd-59355cd67632', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '633a40de-b885-448c-bd84-dd1fef679fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': '37b05b0f-1b1e-496a-b101-8f277f0af8ff', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 2, 'apEthernetMacAddress': '34:5d:a8:0e:20:b4', 'apManagerInterfaceIp': '192.168.0.5', 'associatedWlcIp': '192.168.0.5', 'collectionInterval': 'NA', 'collectionStatus': 'Managed', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '', 'errorCode': 'null', 'family': 'Unified AP', 'hostname': 'LTTS-test1', 'interfaceCount': '0', 'inventoryStatusDetail': 'NA', 'lastDeviceResyncStartTime': '', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:e9:5e:03:f3:40', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.5', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1.216. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9130AXE-B', 'reachabilityFailureReason': 'NA', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': '', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC27181V9V', 'series': 'Cisco Catalyst 9130AXE Series Unified Access Points', 'snmpContact': '', 'snmpLocation': 'LTTS/Cisco/Chennai', 'softwareVersion': '17.14.0.79', 'tagCount': '0', 'type': 'Cisco Catalyst 9130AXE Unified Access Point', 'upTime': '3 days, 01:57:12.330', 'uptimeSeconds': 268009, 'vendor': 'NA'}, {'instanceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-26 21:53:58', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.6', 'family': 'Wireless Controller', 'hostname': 'NY-EWLC-1.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 18:30:26', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'cc:b6:c8:e2:29:0b', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.6', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 6.200', 'pendingSyncRequestsCount': '0', 'platformId': 'C9800-40-K9', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FOX2639PAY7', 'series': 'Cisco Catalyst 9800 Series Wireless Controllers', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9800-40 Wireless Controller', 'upTime': '52 days, 20:37:58.64', 'uptimeSeconds': 4568797, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '17301034-7715-4363-952f-3d290ea6ca59'}, {'response': [], 'version': '1.0', 'siteId': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'c45259ff-0612-4fe7-907c-5987877892d9', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eb935311-f082-416e-a13c-08acdc6219c0', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '78b8a15c-c112-4941-b00b-ceda2edb38f2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '212be018-cfb6-4041-9caa-d344385848b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80143381-187c-48fa-a356-15389aad4e9c', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7002e28c-a309-454b-ac5d-a6a99d64bc20', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '398f4d42-d265-4233-8ec3-5e4ba73c9956', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0e238b6e-e390-4dae-8932-49ceb3376304', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'message': 'Site does not have device member with given device family or serial number as input'}]}
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 724: Exiting the loop because no devices were returned after increasing the offset. Current offset: 501
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_site from Family: sites with Parameters: {'name': 'Global'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_site' from Family: 'sites' is Response: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site_id: 845: Site details retrieved for site 'Global'': {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 759: Initiating retrieval of device details for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 703: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 660: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_membership from Family: sites with Parameters: {'site_id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_membership' from Family: 'sites' is Response: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297620, 'lastUpdateTime': 1721061010296, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297708, 'lastUpdateTime': 1721061010419, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297420, 'lastUpdateTime': 1721061010438, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297733, 'lastUpdateTime': 1721061010335, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042299163, 'lastUpdateTime': 1721061010242, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 688: No devices found for site 'Global' with site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).
1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_assign_cred_1 _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s def get_tasks_by_id(self, task_id):
1552s """
1552s Get the tasks of a task ID in Cisco Catalyst Center.
1552s Args:
1552s self (object): An instance of a class that provides access to Cisco Catalyst Center.
1552s task_id (str): The unique identifier of the task for which you want to retrieve details.
1552s Returns:
1552s dict or None: A dictionary status information about the specified task,
1552s or None if the task with the given task_id is not found.
1552s Description:
1552s Call the API 'get_tasks_by_id' to get the status of the task.
1552s Return the details along with the status of the task.
1552s """
1552s # Need to handle exception
1552s task_status = None
1552s try:
1552s > response = self.dnac._exec(
1552s family="task",
1552s function="get_tasks_by_id",
1552s params={"id": task_id}
1552s )
1552s
1552s plugins/module_utils/dnac.py:1662:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s /usr/lib/python3.13/unittest/mock.py:1169: in __call__
1552s return self._mock_call(*args, **kwargs)
1552s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call
1552s return self._execute_mock_call(*args, **kwargs)
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s self = , args = ()
1552s kwargs = {'family': 'task', 'function': 'get_tasks_by_id', 'params': {'id': '0191e691-f5f5-7c89-9cf4-099515272844'}}
1552s effect =
1552s
1552s def _execute_mock_call(self, /, *args, **kwargs):
1552s # separate from _increment_mock_call so that awaited functions are
1552s # executed separately from their call, also AsyncMock overrides this method
1552s
1552s effect = self.side_effect
1552s if effect is not None:
1552s if _is_exception(effect):
1552s raise effect
1552s elif not _callable(effect):
1552s > result = next(effect)
1552s E StopIteration
1552s
1552s /usr/lib/python3.13/unittest/mock.py:1230: StopIteration
1552s
1552s During handling of the above exception, another exception occurred:
1552s
1552s self =
1552s
1552s def test_device_credentials_workflow_manager_assign_cred_1(self):
1552s """
1552s Test case for device credential workflow manager when assigning a device credential to site in dnac_version="2.3.7.6".
1552s
1552s This test case checks the behavior of the device credential workflow manager when assigning a device credential to site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.7.6",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_assign
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:261:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/device_credential_workflow_manager.py:3277: in main
1552s ccc_credential.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/device_credential_workflow_manager.py:2980: in get_diff_merged
1552s self.assign_credentials_to_site().check_return_status()
1552s plugins/modules/device_credential_workflow_manager.py:2757: in assign_credentials_to_site
1552s self.check_tasks_response_status(
1552s plugins/module_utils/dnac.py:1730: in check_tasks_response_status
1552s task_details = self.get_tasks_by_id(task_id)
1552s plugins/module_utils/dnac.py:1684: in get_tasks_by_id
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s _____________ TestNetworkCompliance.test_run_compliance_with_site ______________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_site(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=False,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_site")
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:370:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list
1552s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name)
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def get_reachable_devices_from_site(self, site_name):
1552s """
1552s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site.
1552s Args:
1552s site_id (str): The ID of the site from which to retrieve device details.
1552s Returns:
1552s tuple: A tuple containing:
1552s - dict: A mapping of management IP addresses to instance IDs for reachable devices.
1552s - list: A list of management IP addresses of skipped devices.
1552s """
1552s mgmt_ip_to_instance_id_map = {}
1552s skipped_devices_list = []
1552s
1552s (site_exists, site_id) = self.get_site_id(site_name)
1552s if not site_exists:
1552s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name)
1552s self.fail_and_exit(self.msg)
1552s
1552s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO")
1552s
1552s # Retrieve the list of device details from the specified site
1552s device_details_list = self.get_device_details_from_site(site_name, site_id)
1552s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG")
1552s
1552s # Iterate through each device's details
1552s for device_info in device_details_list:
1552s > management_ip = device_info.get("managementIpAddress")
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/module_utils/dnac.py:767: AttributeError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_1 _________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_site_failure_1(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=False,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_site")
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s > self.assertIn(
1552s "An error occurred while retrieving site details for Site 'Global'. Please verify that the site exists.",
1552s result.get('msg')
1552s )
1552s E AssertionError: "An error occurred while retrieving site details for Site 'Global'. Please verify that the site exists." not found in 'An exception occurred while retrieving Site details for Site \'Global\' does not exist in the Cisco Catalyst Center. Error: {\'msg\': "An error occurred while executing GET API call to Function: \'get_site\' from Family: \'sites\'. Parameters: {\'name\': \'Global\'}. Exception: Simulated exception.", \'response\': "An error occurred while executing GET API call to Function: \'get_site\' from Family: \'sites\'. Parameters: {\'name\': \'Global\'}. Exception: Simulated exception.", \'failed\': True}'
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:647: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_assign_cred_2 _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_device_credentials_workflow_manager_assign_cred_2(self):
1552s """
1552s Test case for device credential workflow manager when assigning a device credential to site in dnac_version="2.3.5.3".
1552s
1552s This test case checks the behavior of the device credential workflow manager when assigning a device credential to site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.5.3",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_assign
1552s )
1552s )
1552s result = self.execute_module(changed=True, failed=False)
1552s print(result)
1552s self.assertEqual(
1552s > result['response'][0]['assignCredential']['Assign Credentials']['msg'],
1552s "Device Credential Assigned to a site is Successfully"
1552s )
1552s E KeyError: 'assignCredential'
1552s
1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:288: KeyError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'changed': True, 'diff': [], 'response': [{'global_credential': {}, 'assign_credential': {'Assign Credentials': {'response': [{'cliId': '2885a877-022a-4c18-b38f-825a63ebd7d1', 'snmpV2ReadId': '97061bab-1d11-4df4-950c-9304fb846b83', 'snmpV2WriteId': '07c3c5fc-35e6-4c83-bdcb-6322d4bf7103', 'httpRead': 'caf0f5f8-46a4-4516-8766-4ffe1be7ed2a', 'httpWrite': 'a07ab73f-83bb-4cb8-8a75-a7e1b9c116db', 'snmpV3Id': '9900b521-0dfb-4bd1-b044-d31037c8def3', 'site_id': 'dfa9dfa8-3728-4e28-9095-d58c12af5977'}, {'cliId': '2885a877-022a-4c18-b38f-825a63ebd7d1', 'snmpV2ReadId': '97061bab-1d11-4df4-950c-9304fb846b83', 'snmpV2WriteId': '07c3c5fc-35e6-4c83-bdcb-6322d4bf7103', 'httpRead': 'caf0f5f8-46a4-4516-8766-4ffe1be7ed2a', 'httpWrite': 'a07ab73f-83bb-4cb8-8a75-a7e1b9c116db', 'snmpV3Id': '9900b521-0dfb-4bd1-b044-d31037c8def3', 'site_id': 'a31a0c2c-c725-4ab8-8e65-4a5bc14aa615'}], 'msg': 'Device Credential Assigned to a site is Successfully'}}, 'apply_credential': {}}], 'warnings': []}
1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_creation _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_device_credentials_workflow_manager_creation(self):
1552s """
1552s Test case for device credential workflow manager when creating a device credential.
1552s
1552s This test case checks the behavior of the device credential workflow manager when creating a new device credentials in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_creation
1552s )
1552s )
1552s result = self.execute_module(changed=True, failed=False)
1552s print(result)
1552s self.assertEqual(
1552s > result['response'][0]['globalCredential']['Creation']['msg'],
1552s "Global Credential Created Successfully"
1552s )
1552s E KeyError: 'globalCredential'
1552s
1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:216: KeyError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'changed': True, 'diff': [], 'response': [{'global_credential': {'Creation': {'response': {'cliCredential': [{'password': '12345', 'description': 'CLI1', 'username': 'cli1', 'enablePassword': '12345'}], 'snmpV2cRead': [{'readCommunity': '123456', 'description': 'SNMPv2c Read1'}], 'snmpV2cWrite': [{'writeCommunity': '123456', 'description': 'SNMPv2c Write1'}], 'httpsRead': [{'password': '12345', 'description': 'HTTP Read1', 'username': 'HTTP_Read1', 'port': 443}], 'httpsWrite': [{'password': '12345', 'description': 'HTTP Write1', 'username': 'HTTP_Write1', 'port': 443}], 'snmpV3': [{'description': 'snmpV31', 'username': 'snmpV31', 'snmpMode': 'AUTHPRIV', 'authPassword': '12345678', 'authType': 'SHA', 'privacyPassword': '12345678', 'privacyType': 'AES128'}]}, 'msg': 'Global Credential Created Successfully'}, 'No Updation': {'response': 'No Response', 'msg': 'No Updation is available'}}, 'assign_credential': {}, 'apply_credential': {}}], 'warnings': []}
1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_2 _________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s def execute_get_request(self, api_family, api_function, api_parameters):
1552s """
1552s Makes a GET API call to the specified function within a given family and returns the response.
1552s Args:
1552s api_family (str): The family of the API to call.
1552s api_function (str): The specific function of the API to call.
1552s api_parameters (dict): Parameters to pass to the API call.
1552s Returns:
1552s dict or None: The response from the API call if successful, otherwise None.
1552s Logs detailed information about the API call, including responses and errors.
1552s """
1552s self.log(
1552s "Initiating GET API call for Function: {0} from Family: {1} with Parameters: {2}.".format(
1552s api_function, api_family, api_parameters
1552s ),
1552s "DEBUG"
1552s )
1552s try:
1552s # Execute the API call
1552s > response = self.dnac._exec(
1552s family=api_family,
1552s function=api_function,
1552s op_modifies=False,
1552s params=api_parameters,
1552s )
1552s
1552s plugins/module_utils/dnac.py:1840:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s /usr/lib/python3.13/unittest/mock.py:1169: in __call__
1552s return self._mock_call(*args, **kwargs)
1552s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call
1552s return self._execute_mock_call(*args, **kwargs)
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s self = , args = ()
1552s kwargs = {'family': 'sites', 'function': 'get_membership', 'op_modifies': False, 'params': {'site_id': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}}
1552s effect =
1552s result = Exception('Simulated exception')
1552s
1552s def _execute_mock_call(self, /, *args, **kwargs):
1552s # separate from _increment_mock_call so that awaited functions are
1552s # executed separately from their call, also AsyncMock overrides this method
1552s
1552s effect = self.side_effect
1552s if effect is not None:
1552s if _is_exception(effect):
1552s raise effect
1552s elif not _callable(effect):
1552s result = next(effect)
1552s if _is_exception(result):
1552s > raise result
1552s E Exception: Simulated exception
1552s
1552s /usr/lib/python3.13/unittest/mock.py:1232: Exception
1552s
1552s During handling of the above exception, another exception occurred:
1552s
1552s self =
1552s
1552s def test_run_compliance_with_site_failure_2(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=False,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_site")
1552s )
1552s )
1552s > result = self.execute_module(changed=False, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:667:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list
1552s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name)
1552s plugins/module_utils/dnac.py:762: in get_reachable_devices_from_site
1552s device_details_list = self.get_device_details_from_site(site_name, site_id)
1552s plugins/module_utils/dnac.py:716: in get_device_details_from_site
1552s api_response, device_ids = self.get_device_ids_from_site(site_name, site_id)
1552s plugins/module_utils/dnac.py:666: in get_device_ids_from_site
1552s api_response = self.execute_get_request("sites", "get_membership", get_membership_params)
1552s plugins/module_utils/dnac.py:1882: in execute_get_request
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "An error occurred while executing GET API call to Function: 'get_membership' from Family: 'sites'. Parameters: {'site_id': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}. Exception: Simulated exception.", 'response': "An error occurred while executing GET API call to Function: 'get_membership' from Family: 'sites'. Parameters: {'site_id': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}. Exception: Simulated exception.", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_3 _________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_site_failure_3(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=False,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_site")
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s > self.assertIn(
1552s "An error occurred while retrieving Compliance Details for device:192.168.0.3 using 'compliance_details_of_device' API call",
1552s result.get('msg')
1552s )
1552s E AssertionError: "An error occurred while retrieving Compliance Details for device:192.168.0.3 using 'compliance_details_of_device' API call" not found in "An error occurred while executing GET API call to Function: 'get_device_by_id' from Family: 'devices'. Parameters: {'id': 'f490e92f-490e-4bb1-9519-770b1dc604c4'}. Exception: Simulated exception."
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:689: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_4 _________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_site_failure_4(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=False,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_site")
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s > self.assertIn(
1552s "An error occurred while retrieving the task_id of the run_compliance operation.",
1552s result.get('msg')
1552s )
1552s E AssertionError: 'An error occurred while retrieving the task_id of the run_compliance operation.' not found in "An error occurred while executing GET API call to Function: 'get_device_by_id' from Family: 'devices'. Parameters: {'id': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}. Exception: Simulated exception."
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:710: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_deletion _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_device_credentials_workflow_manager_deletion(self):
1552s """
1552s Test case for device credential workflow manager when deleting a device credential.
1552s
1552s This test case checks the behavior of the device credential workflow manager when deleting a device credentials in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="deleted",
1552s config_verify=True,
1552s config=self.playbook_config_deletion
1552s )
1552s )
1552s result = self.execute_module(changed=True, failed=False)
1552s print(result)
1552s self.assertEqual(
1552s > result['response'][0]['globalCredential']['Deletion']['msg'],
1552s "Global Device Credentials Deleted Successfully"
1552s )
1552s E KeyError: 'globalCredential'
1552s
1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:240: KeyError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'changed': True, 'diff': [], 'response': [{'global_credential': {'Deletion': {'response': {'cliCredential': [{'description': 'CLI1', 'response': 'Global credential deleted successfully'}], 'snmpV2cRead': [{'description': 'SNMPv2c Read1', 'response': 'Global credential deleted successfully'}], 'snmpV2cWrite': [{'description': 'SNMPv2c Write1', 'response': 'Global credential deleted successfully'}], 'httpsRead': [{'description': 'HTTP Read1', 'response': 'Global credential deleted successfully'}], 'httpsWrite': [{'description': 'HTTP Write1', 'response': 'Global credential deleted successfully'}], 'snmpV3': [{'description': 'snmpV31', 'response': 'Global credential deleted successfully'}]}, 'msg': 'Global Device Credentials Deleted Successfully'}, 'Validation': 'Success'}, 'assign_credential': {}, 'apply_credential': {}}], 'warnings': []}
1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_5 _________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_site_failure_5(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=False,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_site")
1552s )
1552s )
1552s > result = self.execute_module(changed=False, failed=True)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:730:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module
1552s result = self.failed()
1552s tests/unit/modules/dnac/dnac_module.py:125: in failed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list
1552s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name)
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def get_reachable_devices_from_site(self, site_name):
1552s """
1552s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site.
1552s Args:
1552s site_id (str): The ID of the site from which to retrieve device details.
1552s Returns:
1552s tuple: A tuple containing:
1552s - dict: A mapping of management IP addresses to instance IDs for reachable devices.
1552s - list: A list of management IP addresses of skipped devices.
1552s """
1552s mgmt_ip_to_instance_id_map = {}
1552s skipped_devices_list = []
1552s
1552s (site_exists, site_id) = self.get_site_id(site_name)
1552s if not site_exists:
1552s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name)
1552s self.fail_and_exit(self.msg)
1552s
1552s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO")
1552s
1552s # Retrieve the list of device details from the specified site
1552s device_details_list = self.get_device_details_from_site(site_name, site_id)
1552s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG")
1552s
1552s # Iterate through each device's details
1552s for device_info in device_details_list:
1552s > management_ip = device_info.get("managementIpAddress")
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/module_utils/dnac.py:767: AttributeError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ________ TestNetworkCompliance.test_run_compliance_with_site_failure_6 _________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_run_compliance_with_site_failure_6(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=False,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_site")
1552s )
1552s )
1552s > result = self.execute_module(changed=False, failed=True)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:751:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module
1552s result = self.failed()
1552s tests/unit/modules/dnac/dnac_module.py:125: in failed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list
1552s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name)
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def get_reachable_devices_from_site(self, site_name):
1552s """
1552s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site.
1552s Args:
1552s site_id (str): The ID of the site from which to retrieve device details.
1552s Returns:
1552s tuple: A tuple containing:
1552s - dict: A mapping of management IP addresses to instance IDs for reachable devices.
1552s - list: A list of management IP addresses of skipped devices.
1552s """
1552s mgmt_ip_to_instance_id_map = {}
1552s skipped_devices_list = []
1552s
1552s (site_exists, site_id) = self.get_site_id(site_name)
1552s if not site_exists:
1552s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name)
1552s self.fail_and_exit(self.msg)
1552s
1552s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO")
1552s
1552s # Retrieve the list of device details from the specified site
1552s device_details_list = self.get_device_details_from_site(site_name, site_id)
1552s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG")
1552s
1552s # Iterate through each device's details
1552s for device_info in device_details_list:
1552s > management_ip = device_info.get("managementIpAddress")
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/module_utils/dnac.py:767: AttributeError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_device_credentials_workflow_manager_invalid_site(self):
1552s """
1552s Test case for device credential workflow manager when provided site is invalid.
1552s
1552s This test case checks the behavior of the device credential workflow manager, when provided site is invalid in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.7.6",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_assign
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result['msg'],
1552s "The site_name 'Global/Vietnam/halong/Hanoi' is invalid in 'assign_credentials_to_site'"
1552s )
1552s E AssertionError: 'An exception occurred while retrieving S[516 chars]rue}' != "The site_name 'Global/Vietnam/halong/Han[42 chars]ite'"
1552s E - An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'failed': True}
1552s E + The site_name 'Global/Vietnam/halong/Hanoi' is invalid in 'assign_credentials_to_site'
1552s
1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:435: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': 'An exception occurred while retrieving Site details for Site \'Global/Vietnam/halong/Hanoi\' does not exist in the Cisco Catalyst Center. Error: {\'msg\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'response\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'failed\': True}', 'response': 'An exception occurred while retrieving Site details for Site \'Global/Vietnam/halong/Hanoi\' does not exist in the Cisco Catalyst Center. Error: {\'msg\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'response\': "An error occurred while executing GET API call to Function: \'get_sites\' from Family: \'site_design\'. Parameters: {\'name_hierarchy\': \'Global/Vietnam/halong/Hanoi\'}. Exception: .", \'failed\': True}', 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .
1552s
1552s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/Vietnam/halong/Hanoi'}. Exception: .", 'failed': True}
1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site_response _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_device_credentials_workflow_manager_invalid_site_response(self):
1552s """
1552s Test case for device credential workflow manager when provided site response is invalid.
1552s
1552s This test case checks the behavior of the device credential workflow manager when provided site response is invalid in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_apply
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result['msg'],
1552s "Exception occurred while getting global device credentials: "
1552s )
1552s E AssertionError: "An exception occurred while retrieving S[137 chars]able" != 'Exception occurred while getting global [16 chars]ls: '
1552s E - An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable
1552s E + Exception occurred while getting global device credentials:
1552s
1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:481: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable", 'response': "An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable", 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: 'NoneType' object is not subscriptable
1552s _ TestDnacCredentialWorkflow.test_device_credentials_workflow_manager_invalid_site_response_2 _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_device_credentials_workflow_manager_invalid_site_response_2(self):
1552s """
1552s Test case for device credential workflow manager when provided site response is invalid.
1552s
1552s This test case checks the behavior of the device credential workflow manager when provided site response is invalid in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_apply
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result['msg'],
1552s "Exception occurred while getting global device credentials: "
1552s )
1552s E AssertionError: "An exception occurred while retrieving S[278 chars]rue}" != 'Exception occurred while getting global [16 chars]ls: '
1552s E - An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'response': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'failed': True}
1552s E + Exception occurred while getting global device credentials:
1552s
1552s tests/unit/modules/dnac/test_device_credential_workflow_manager.py:504: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'response': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'failed': True}", 'response': "An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'response': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'failed': True}", 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 DeviceCredential: execute_get_request: 1857: No response received from GET API call to Function: 'get_site' from Family: 'sites'.
1552s
1552s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: No site details retrieved for site name: Global/Vietnam/halong/Hanoi
1552s
1552s ERROR logger:dnac.py:294 DeviceCredential: set_operation_result: 1780: An exception occurred while retrieving Site details for Site 'Global/Vietnam/halong/Hanoi' does not exist in the Cisco Catalyst Center. Error: {'msg': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'response': 'No site details retrieved for site name: Global/Vietnam/halong/Hanoi', 'failed': True}
1552s _______________ TestNetworkCompliance.test_scale_run_compliance ________________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_scale_run_compliance(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_run_compliance_scale_iplist")
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:433:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.1', '192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.1', '192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0', '192.168.0.1'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 1, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0', '192.168.0.1'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 1, 'sync_device_config': False}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0', '192.168.0.1']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.1', '192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0', '192.168.0.1'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 1, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0', '192.168.0.1'], Site Name: None, Run Compliance: True, Run Compliance Categories: None, Sync Device Config: False
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0', '192.168.0.1']' or 'site_name': 'None'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0', '192.168.0.1']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0, 192.168.0.1
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=True, run_compliance_categories=None, sync_device_config=False
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0', '192.168.0.1'], 'site_name': None, 'run_compliance': True, 'run_compliance_categories': None, 'run_compliance_batch_size': 1, 'sync_device_config': False}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.1', '192.168.0.0'], site_name=None
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.1, 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.1', '192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.1', '192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.1', '192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'family': 'Wireless Controller', 'managementIpAddress': '192.168.0.1', 'reachabilityStatus': 'Reachable', 'instanceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3bf3f269-88ae-48fc-910d-3263ba618f87'}], 'version': '1.0'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.1, Reachability: Reachable, Collection Status: None, Family: Wireless Controller
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.1 as its status is Reachable or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1001: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297620, 'lastUpdateTime': 1721061010296, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297708, 'lastUpdateTime': 1721061010419, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1721042297420, 'lastUpdateTime': 1721061010438, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042297733, 'lastUpdateTime': 1721061010335, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1721042299163, 'lastUpdateTime': 1721061010242, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1501: {'response': [{'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'EOX', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1716766741478, 'lastUpdateTime': 1721329212290, 'sourceInfoList': [], 'message': 'EOX status not available.', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'PSIRT', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1716766741495, 'lastUpdateTime': 1721329211854, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'NETWORK_SETTINGS', 'status': 'NOT_APPLICABLE', 'state': 'SUCCESS', 'lastSyncTime': 1716766741320, 'lastUpdateTime': 1721329212309, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'IMAGE', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1716777549860, 'lastUpdateTime': 1721329211804, 'sourceInfoList': [], 'additionalDataURL': '/api/v2/device-image/device?id=3bf3f269-88ae-48fc-910d-3263ba618f87', 'ackStatus': 'UNACKNOWLEDGED'}, {'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721329211772, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 2001: {'response': {'taskId': '34629bf3-c191-404d-b5b7-3e445d25457b', 'url': '/api/v1/task/34629bf3-c191-404d-b5b7-3e445d25457b'}, 'version': '1.0'}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: 'str' object has no attribute 'get'
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.1', '192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.1', '192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_aaa_get _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_aaa_get(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while getting AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "Exception occurred while getting AAA set[72 chars]7): " != 'Exception occurred while getting AAA set[49 chars]a7: '
1552s E - Exception occurred while getting AAA settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s E ? ---------------------- -
1552s E + Exception occurred while getting AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:879: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "Exception occurred while getting AAA settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s CRITICAL logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1377: Exception occurred while getting AAA settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_banner_get _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_banner_get(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while getting banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "Exception occurred while getting banner [75 chars]7): " != 'Exception occurred while getting banner [52 chars]a7: '
1552s E - Exception occurred while getting banner settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s E ? ---------------------- -
1552s E + Exception occurred while getting banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:854: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "Exception occurred while getting banner settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s CRITICAL logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1318: Exception occurred while getting banner settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s _____________ TestNetworkCompliance.test_sync_device_config_iplist _____________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_sync_device_config_iplist(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_sync_device_config_iplist")
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:455:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1001: {'response': {'taskId': 'ce5e3f8d-9ac7-4215-9b83-fac7228c9e63', 'url': '/api/v1/task/ce5e3f8d-9ac7-4215-9b83-fac7228c9e63'}, 'version': '1.0'}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: 'str' object has no attribute 'get'
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_dhcp_gett _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_dhcp_gett(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while getting DHCP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "Exception occurred while getting DHCP se[73 chars]7): " != 'Exception occurred while getting DHCP se[50 chars]a7: '
1552s E - Exception occurred while getting DHCP settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s E ? ---------------------- -
1552s E + Exception occurred while getting DHCP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:829: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "Exception occurred while getting DHCP settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s CRITICAL logger:dnac.py:294 NetworkSettings: get_dhcp_settings_for_site: 1122: Exception occurred while getting DHCP settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_dns_get _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_dns_get(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while getting DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "Exception occurred while getting DNS set[72 chars]7): " != 'Exception occurred while getting DNS set[49 chars]a7: '
1552s E - Exception occurred while getting DNS settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s E ? ---------------------- -
1552s E + Exception occurred while getting DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:754: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "Exception occurred while getting DNS settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s CRITICAL logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1161: Exception occurred while getting DNS settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s ________ TestNetworkCompliance.test_sync_device_config_iplist_failure_1 ________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_sync_device_config_iplist_failure_1(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_sync_device_config_iplist")
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s > self.assertIn(
1552s "Error occurred while synchronizing device configuration for parameters - {'deviceId':",
1552s result.get('msg')
1552s )
1552s E AssertionError: "Error occurred while synchronizing device configuration for parameters - {'deviceId':" not found in "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs)."
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:773: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: Simulated exception
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_ntp_get _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_ntp_get(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while getting NTP server settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "Exception occurred while getting NTP ser[79 chars]7): " != 'Exception occurred while getting NTP ser[56 chars]a7: '
1552s E - Exception occurred while getting NTP server settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s E ? ---------------------- -
1552s E + Exception occurred while getting NTP server settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:779: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "Exception occurred while getting NTP server settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s CRITICAL logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1239: Exception occurred while getting NTP server settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s ________ TestNetworkCompliance.test_sync_device_config_iplist_failure_2 ________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_sync_device_config_iplist_failure_2(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_sync_device_config_iplist")
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s > self.assertIn(
1552s "Error occurred while retrieving 'get_task_tree' for Task Sync Device Configuration with task id",
1552s result.get('msg')
1552s )
1552s E AssertionError: "Error occurred while retrieving 'get_task_tree' for Task Sync Device Configuration with task id" not found in "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs)."
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:794: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: None, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'None'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': None, 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=None
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: 192.168.0.0, Reachability: Reachable, Collection Status: None, Family: Switches and Hubs
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device 192.168.0.0 as its status is Reachable or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1001: {'response': {'taskId': 'ce5e3f8d-9ac7-4215-9b83-fac7228c9e63', 'url': '/api/v1/task/ce5e3f8d-9ac7-4215-9b83-fac7228c9e63'}, 'version': '1.0'}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 788: Error fetching device IDs from Cisco Catalyst Center. Error details: 'str' object has no attribute 'get'
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: None. This could be due to Unreachable devices or access points (APs).
1552s __________ TestNetworkCompliance.test_sync_device_config_iplist_site ___________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_sync_device_config_iplist_site(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_sync_device_config_iplist_site")
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:497:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: Global, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=Global
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'additionalInfo': [], 'name': 'Global', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteNameHierarchy': 'Global'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'site': {'response': [{'parentId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'Tokyo, Japan', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7/c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower/Ansible_Floor', 'name': 'Ansible_Floor', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66'}, {'parentId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'Location', 'attributes': {'country': 'Japan', 'address': 'Tokyo, Japan', 'latitude': '35.6764', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'building', 'longitude': '139.65'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower', 'name': 'Ansible_Tower', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7'}, {'parentId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupNameHierarchy': 'Global/India/Bangalore', 'name': 'Bangalore', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be', 'groupNameHierarchy': 'Global/USA/BayAreaGuest', 'name': 'BayAreaGuest', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16244588-f6da-4ef7-b329-87eed13902be'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupNameHierarchy': 'Global/USA/BERKELEY', 'name': 'BERKELEY', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'a83421d0-cfe5-4318-85ee-a991d2cdd748'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.85992111421487', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'building', 'longitude': '-78.8829258991226'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupNameHierarchy': 'Global/USA/RTP/BLD10', 'name': 'BLD10', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR1', 'name': 'BLD10_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR2', 'name': 'BLD10_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/67966786-b701-4099-8e1a-4191534f36d2', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR3', 'name': 'BLD10_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '67966786-b701-4099-8e1a-4191534f36d2'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.86059627310624', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'building', 'longitude': '-78.88105620286412'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupNameHierarchy': 'Global/USA/RTP/BLD11', 'name': 'BLD11', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '89b128e0-3217-4f63-bf99-b202ec7c0103'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR1', 'name': 'BLD11_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16b5e550-d288-4e11-94a6-baaa8e3d9c08'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR2', 'name': 'BLD11_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR3', 'name': 'BLD11_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.8611847591779', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'building', 'longitude': '-78.88217248318003'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupNameHierarchy': 'Global/USA/RTP/BLD12', 'name': 'BLD12', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4996f8ef-8933-412e-b58b-2238ba860ec7'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/d44f3eca-a3dc-4ed1-a020-0ded43c78056', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR1', 'name': 'BLD12_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR2', 'name': 'BLD12_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/ea574cd8-fa45-48ab-9944-83ed33537416', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR3', 'name': 'BLD12_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ea574cd8-fa45-48ab-9944-83ed33537416'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20', 'name': 'BLD20', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ed089cbf-3622-492f-bf60-5baf6d0b3708'}, {'parentId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': '725 Alder Drive, Milpitas, California 95035, United States', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708/47a127ae-92bd-49ec-aed0-aec8e2a31678', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20/BLD20_FLOOR1', 'name': 'BLD20_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '47a127ae-92bd-49ec-aed0-aec8e2a31678'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/BLD20_FLOOR2', 'name': 'BLD20_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '5', 'hasChild': 'TRUE', 'group.count.direct': '5', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23', 'name': 'BLD23', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '36d3230c-c6ce-44ae-8901-3b4a624883e6'}, {'parentId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748/8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'groupNameHierarchy': 'Global/USA/BERKELEY/BLDBERK', 'name': 'BLDBERK', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d'}, {'parentId': '16244588-f6da-4ef7-b329-87eed13902be', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'type': 'building', 'longitude': '-121.916327'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be/fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'groupNameHierarchy': 'Global/USA/BayAreaGuest/BLD_GB', 'name': 'BLD_GB', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7'}, {'parentId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '1'}}, {'nameSpace': 'ETA', 'attributes': {'member.compatibleWithNaasOnly.direct': '0', 'member.etaCapable.direct': '1', 'member.etaReady.direct': '1', 'member.etaEnabledNaasOnly.direct': '0', 'ETAReady': 'true', 'member.etaNotReady.direct': '0', 'member.etaReadyNotEnabled.direct': '1', 'member.etaEnabled.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC', 'name': 'BLDNYC', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '274da223-2411-4689-8f70-b5bbd8915020'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/b497a0ab-3ab4-42fd-8921-2f45af587b98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF', 'name': 'BLD_SF', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'b497a0ab-3ab4-42fd-8921-2f45af587b98'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'type': 'building', 'longitude': '-121.912974'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF1', 'name': 'BLD_SF1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupNameHierarchy': 'Global/Chennai', 'name': 'Chennai', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}, {'parentId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'latitude': '37.338', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'building', 'longitude': '-121.832'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupNameHierarchy': 'Global/USA/Georgia/cisco', 'name': 'cisco', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'anchorWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'tertiaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'primaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/94f61603-5f1f-4b26-85dd-59355cd67632', 'groupNameHierarchy': 'Global/Demo4', 'name': 'Demo4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '94f61603-5f1f-4b26-85dd-59355cd67632'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'anchorWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'tertiaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'primaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/633a40de-b885-448c-bd84-dd1fef679fbe', 'groupNameHierarchy': 'Global/Demo5', 'name': 'Demo5', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '633a40de-b885-448c-bd84-dd1fef679fbe'}, {'parentId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '200.0', 'length': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '0.0', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'floor', 'longitude': '0.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763/e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square/floor1', 'name': 'floor1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '17301034-7715-4363-952f-3d290ea6ca59', 'primaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '2', 'member.count.direct': '2'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/17301034-7715-4363-952f-3d290ea6ca59', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR1', 'name': 'FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '17301034-7715-4363-952f-3d290ea6ca59'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL1', 'name': 'FLOOR1_LEVEL1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/c45259ff-0612-4fe7-907c-5987877892d9', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL2', 'name': 'FLOOR1_LEVEL2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c45259ff-0612-4fe7-907c-5987877892d9'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/eb935311-f082-416e-a13c-08acdc6219c0', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL3', 'name': 'FLOOR1_LEVEL3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eb935311-f082-416e-a13c-08acdc6219c0'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/78b8a15c-c112-4941-b00b-ceda2edb38f2', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL4', 'name': 'FLOOR1_LEVEL4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '78b8a15c-c112-4941-b00b-ceda2edb38f2'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '212be018-cfb6-4041-9caa-d344385848b7', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'secondaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/212be018-cfb6-4041-9caa-d344385848b7', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR2', 'name': 'FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '212be018-cfb6-4041-9caa-d344385848b7'}, {'parentId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7/5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'groupNameHierarchy': 'Global/USA/Georgia/cisco/Floor_test', 'name': 'Floor_test', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupNameHierarchy': 'Global/USA/Georgia', 'name': 'Georgia', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupNameHierarchy': 'Global/India', 'name': 'India', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c', 'groupNameHierarchy': 'Global/Japan', 'name': 'Japan', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80143381-187c-48fa-a356-15389aad4e9c'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Bengaluru, Karnataka, India', 'latitude': '25.2', 'addressInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'type': 'building', 'longitude': '42.1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'anchorWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'tertiaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'primaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/d0484233-604a-4972-b010-42a0d44fe3d6', 'groupNameHierarchy': 'Global/JJJ', 'name': 'JJJ', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd0484233-604a-4972-b010-42a0d44fe3d6'}, {'parentId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '12.969910', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'building', 'longitude': '77.597960'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square', 'name': 'Mantri Square', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '4', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupNameHierarchy': 'Global/USA/New York', 'name': 'New York', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '21cc7dad-8c9e-4637-8f24-22ec417b9811'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '12', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupNameHierarchy': 'Global/USA/RTP', 'name': 'RTP', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3fbfb158-a429-41b3-a220-6a6286f93d16'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/7002e28c-a309-454b-ac5d-a6a99d64bc20', 'groupNameHierarchy': 'Global/USA/Sample', 'name': 'Sample', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7002e28c-a309-454b-ac5d-a6a99d64bc20'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO', 'name': 'SAN-FRANCISCO', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '8', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupNameHierarchy': 'Global/USA/SAN JOSE', 'name': 'SAN JOSE', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '58.1', 'length': '103.23', 'height': '58.22'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '0.0', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor', 'longitude': '0.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/398f4d42-d265-4233-8ec3-5e4ba73c9956', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/Test_Floor3', 'name': 'Test_Floor3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '398f4d42-d265-4233-8ec3-5e4ba73c9956'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'latitude': '12', 'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'building', 'longitude': '80'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/0e238b6e-e390-4dae-8932-49ceb3376304', 'groupNameHierarchy': 'Global/Chennai/Tidel', 'name': 'Tidel', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0e238b6e-e390-4dae-8932-49ceb3376304'}, {'parentId': '80143381-187c-48fa-a356-15389aad4e9c', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupNameHierarchy': 'Global/Japan/Tokyo', 'name': 'Tokyo', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '9674054e-fd9e-49ed-8084-1ce9131d6781'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Cognizant Technology Solutions, Chennai, Tamil Nadu 600113, India', 'latitude': '12.9908', 'addressInheritedFrom': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'type': 'building', 'longitude': '80.2470'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/05d2d29c-3c23-478e-88ee-7ec60398634f', 'groupNameHierarchy': 'Global/Chennai/Trill', 'name': 'Trill', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '05d2d29c-3c23-478e-88ee-7ec60398634f'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '38', 'hasChild': 'TRUE', 'group.count.direct': '8', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupNameHierarchy': 'Global/USA', 'name': 'USA', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '69f31d51-9e0d-48f4-8546-4935253f9a67'}], 'version': '1.0'}, 'device': [{'response': [{'instanceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:32:55', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.1', 'family': 'Switches and Hubs', 'hostname': 'DC-FR-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324455437, 'lastUpdated': '2024-07-18 17:40:55', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'd4:ad:bd:c1:67:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.1', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 3. 40', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-24U', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2327U0S2', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:08:19.76', 'uptimeSeconds': 4552059, 'vendor': 'Cisco'}, {'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:34:15', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'In Progress', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.0', 'family': 'Switches and Hubs', 'hostname': 'DC-T-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 19:00:21', 'lastUpdateTime': 1721323875769, 'lastUpdated': '2024-07-18 17:31:15', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '00:b6:70:32:b8:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.0', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 5', 'pendingSyncRequestsCount': '1', 'platformId': 'C9300-24P', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': 'Periodic', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FCW2225C020', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 14:57:41.19', 'uptimeSeconds': 4551979, 'vendor': 'Cisco'}, {'instanceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-28 00:14:36', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.2', 'family': 'Switches and Hubs', 'hostname': 'NY-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324496374, 'lastUpdated': '2024-07-18 17:41:36', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:07:59:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.2', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC271924K0, FJC271924EQ', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.12.2', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 17:27:00.06', 'uptimeSeconds': 4473958, 'vendor': 'Cisco'}, {'instanceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 22:21:03', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.3', 'family': 'Switches and Hubs', 'hostname': 'NY-BN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324523813, 'lastUpdated': '2024-07-18 17:42:03', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '0c:75:bd:41:14:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.3', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 4', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'DISTRIBUTION', 'roleSource': 'AUTO', 'serialNumber': 'FJB2334D06N, FJC2335S09D', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 19:21:44.15', 'uptimeSeconds': 4480771, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}, {'response': [], 'version': '1.0', 'siteId': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16244588-f6da-4ef7-b329-87eed13902be', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '67966786-b701-4099-8e1a-4191534f36d2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ea574cd8-fa45-48ab-9944-83ed33537416', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '47a127ae-92bd-49ec-aed0-aec8e2a31678', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:35:07', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.4', 'family': 'Switches and Hubs', 'hostname': 'SJ-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324467241, 'lastUpdated': '2024-07-18 17:41:07', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:8e:42:80', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.4', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 1', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48T', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2721271T', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:06:55.77', 'uptimeSeconds': 4551928, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '274da223-2411-4689-8f70-b5bbd8915020'}, {'response': [], 'version': '1.0', 'siteId': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '94f61603-5f1f-4b26-85dd-59355cd67632', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '633a40de-b885-448c-bd84-dd1fef679fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': '37b05b0f-1b1e-496a-b101-8f277f0af8ff', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 2, 'apEthernetMacAddress': '34:5d:a8:0e:20:b4', 'apManagerInterfaceIp': '192.168.0.5', 'associatedWlcIp': '192.168.0.5', 'collectionInterval': 'NA', 'collectionStatus': 'Managed', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '', 'errorCode': 'null', 'family': 'Unified AP', 'hostname': 'LTTS-test1', 'interfaceCount': '0', 'inventoryStatusDetail': 'NA', 'lastDeviceResyncStartTime': '', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:e9:5e:03:f3:40', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.5', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1.216. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9130AXE-B', 'reachabilityFailureReason': 'NA', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': '', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC27181V9V', 'series': 'Cisco Catalyst 9130AXE Series Unified Access Points', 'snmpContact': '', 'snmpLocation': 'LTTS/Cisco/Chennai', 'softwareVersion': '17.14.0.79', 'tagCount': '0', 'type': 'Cisco Catalyst 9130AXE Unified Access Point', 'upTime': '3 days, 01:57:12.330', 'uptimeSeconds': 268009, 'vendor': 'NA'}, {'instanceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-26 21:53:58', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.6', 'family': 'Wireless Controller', 'hostname': 'NY-EWLC-1.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 18:30:26', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'cc:b6:c8:e2:29:0b', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.6', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 6.200', 'pendingSyncRequestsCount': '0', 'platformId': 'C9800-40-K9', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FOX2639PAY7', 'series': 'Cisco Catalyst 9800 Series Wireless Controllers', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9800-40 Wireless Controller', 'upTime': '52 days, 20:37:58.64', 'uptimeSeconds': 4568797, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '17301034-7715-4363-952f-3d290ea6ca59'}, {'response': [], 'version': '1.0', 'siteId': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'c45259ff-0612-4fe7-907c-5987877892d9', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eb935311-f082-416e-a13c-08acdc6219c0', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '78b8a15c-c112-4941-b00b-ceda2edb38f2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '212be018-cfb6-4041-9caa-d344385848b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80143381-187c-48fa-a356-15389aad4e9c', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7002e28c-a309-454b-ac5d-a6a99d64bc20', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '398f4d42-d265-4233-8ec3-5e4ba73c9956', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0e238b6e-e390-4dae-8932-49ceb3376304', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'message': 'Site does not have device member with given device family or serial number as input'}]}
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 724: Exiting the loop because no devices were returned after increasing the offset. Current offset: 501
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_site from Family: sites with Parameters: {'name': 'Global'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_site' from Family: 'sites' is Response: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site_id: 845: Site details retrieved for site 'Global'': {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 759: Initiating retrieval of device details for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 703: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 660: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_membership from Family: sites with Parameters: {'site_id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_membership' from Family: 'sites' is Response: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 688: No devices found for site 'Global' with site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_site_not_exist _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_site_not_exist(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "An exception occurred: Site 'Global/Vietnam' does not exist in the Cisco Catalyst Center."
1552s )
1552s E AssertionError: "An error occurred while executing API call to[62 chars]n: ." != "An exception occurred: Site 'Global/Vietnam' [40 chars]ter."
1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s E + An exception occurred: Site 'Global/Vietnam' does not exist in the Cisco Catalyst Center.
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:704: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_telemetry_get _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_telemetry_get(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while getting telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "Exception occurred while getting telemet[78 chars]7): " != 'Exception occurred while getting telemet[55 chars]a7: '
1552s E - Exception occurred while getting telemetry settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s E ? ---------------------- -
1552s E + Exception occurred while getting telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:729: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "Exception occurred while getting telemetry settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s CRITICAL logger:dnac.py:294 NetworkSettings: get_telemetry_settings_for_site: 1200: Exception occurred while getting telemetry settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_timezone_get _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_timezone_get(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while getting time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "Exception occurred while getting time zo[78 chars]7): " != 'Exception occurred while getting time zo[55 chars]a7: '
1552s E - Exception occurred while getting time zone settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s E ? ---------------------- -
1552s E + Exception occurred while getting time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:804: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "Exception occurred while getting time zone settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7): ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s CRITICAL logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1278: Exception occurred while getting time zone settings for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7):
1552s _________ TestNetworkCompliance.test_sync_device_config_iplist_site_nr _________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_sync_device_config_iplist_site_nr(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_sync_device_config_iplist_site_nr")
1552s )
1552s )
1552s > result = self.execute_module(changed=False, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:518:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:835: in get_device_id_list
1552s self.fail_and_exit(self.msg)
1552s plugins/module_utils/dnac.py:1787: in fail_and_exit
1552s self.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'response': "No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1443: Deduplicated IP address list: ['192.168.0.0']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: ['192.168.0.0'], Site Name: Global, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': '['192.168.0.0']' or 'site_name': 'Global'
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 437: Validating the IP addresses in the ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_ip4_address_list: 446: Successfully validated the IP address(es): 192.168.0.0
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': ['192.168.0.0'], 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=['192.168.0.0'], site_name=Global
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 816: Retrieving device IDs for IP addresses: 192.168.0.0
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 677: Entering get_device_list_params method with ip_address_list: ['192.168.0.0']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_list_params: 682: Generated get_device_list_params: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 697: Entering 'get_device_ids_from_ip' method with parameters: {'management_ip_address': ['192.168.0.0']}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 1: {'response': [{'additionalInfo': [], 'name': 'Global', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteNameHierarchy': 'Global'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 736: Processing device with IP: Unknown IP, Reachability: None, Collection Status: None, Family: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 770: Skipping device Unknown IP as its status is None or its collectionStatus is None.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 720: Response received post 'get_device_list' API call with offset 501: {'site': {'response': [{'parentId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'Tokyo, Japan', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7/c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower/Ansible_Floor', 'name': 'Ansible_Floor', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66'}, {'parentId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'Location', 'attributes': {'country': 'Japan', 'address': 'Tokyo, Japan', 'latitude': '35.6764', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'building', 'longitude': '139.65'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower', 'name': 'Ansible_Tower', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7'}, {'parentId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupNameHierarchy': 'Global/India/Bangalore', 'name': 'Bangalore', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be', 'groupNameHierarchy': 'Global/USA/BayAreaGuest', 'name': 'BayAreaGuest', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16244588-f6da-4ef7-b329-87eed13902be'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupNameHierarchy': 'Global/USA/BERKELEY', 'name': 'BERKELEY', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'a83421d0-cfe5-4318-85ee-a991d2cdd748'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.85992111421487', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'building', 'longitude': '-78.8829258991226'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupNameHierarchy': 'Global/USA/RTP/BLD10', 'name': 'BLD10', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR1', 'name': 'BLD10_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR2', 'name': 'BLD10_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/67966786-b701-4099-8e1a-4191534f36d2', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR3', 'name': 'BLD10_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '67966786-b701-4099-8e1a-4191534f36d2'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.86059627310624', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'building', 'longitude': '-78.88105620286412'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupNameHierarchy': 'Global/USA/RTP/BLD11', 'name': 'BLD11', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '89b128e0-3217-4f63-bf99-b202ec7c0103'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR1', 'name': 'BLD11_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16b5e550-d288-4e11-94a6-baaa8e3d9c08'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR2', 'name': 'BLD11_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR3', 'name': 'BLD11_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.8611847591779', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'building', 'longitude': '-78.88217248318003'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupNameHierarchy': 'Global/USA/RTP/BLD12', 'name': 'BLD12', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4996f8ef-8933-412e-b58b-2238ba860ec7'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/d44f3eca-a3dc-4ed1-a020-0ded43c78056', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR1', 'name': 'BLD12_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR2', 'name': 'BLD12_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/ea574cd8-fa45-48ab-9944-83ed33537416', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR3', 'name': 'BLD12_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ea574cd8-fa45-48ab-9944-83ed33537416'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20', 'name': 'BLD20', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ed089cbf-3622-492f-bf60-5baf6d0b3708'}, {'parentId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': '725 Alder Drive, Milpitas, California 95035, United States', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708/47a127ae-92bd-49ec-aed0-aec8e2a31678', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20/BLD20_FLOOR1', 'name': 'BLD20_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '47a127ae-92bd-49ec-aed0-aec8e2a31678'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/BLD20_FLOOR2', 'name': 'BLD20_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '5', 'hasChild': 'TRUE', 'group.count.direct': '5', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23', 'name': 'BLD23', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '36d3230c-c6ce-44ae-8901-3b4a624883e6'}, {'parentId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748/8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'groupNameHierarchy': 'Global/USA/BERKELEY/BLDBERK', 'name': 'BLDBERK', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d'}, {'parentId': '16244588-f6da-4ef7-b329-87eed13902be', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'type': 'building', 'longitude': '-121.916327'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be/fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'groupNameHierarchy': 'Global/USA/BayAreaGuest/BLD_GB', 'name': 'BLD_GB', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7'}, {'parentId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '1'}}, {'nameSpace': 'ETA', 'attributes': {'member.compatibleWithNaasOnly.direct': '0', 'member.etaCapable.direct': '1', 'member.etaReady.direct': '1', 'member.etaEnabledNaasOnly.direct': '0', 'ETAReady': 'true', 'member.etaNotReady.direct': '0', 'member.etaReadyNotEnabled.direct': '1', 'member.etaEnabled.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC', 'name': 'BLDNYC', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '274da223-2411-4689-8f70-b5bbd8915020'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/b497a0ab-3ab4-42fd-8921-2f45af587b98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF', 'name': 'BLD_SF', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'b497a0ab-3ab4-42fd-8921-2f45af587b98'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'type': 'building', 'longitude': '-121.912974'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF1', 'name': 'BLD_SF1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupNameHierarchy': 'Global/Chennai', 'name': 'Chennai', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}, {'parentId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'latitude': '37.338', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'building', 'longitude': '-121.832'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupNameHierarchy': 'Global/USA/Georgia/cisco', 'name': 'cisco', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'anchorWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'tertiaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'primaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/94f61603-5f1f-4b26-85dd-59355cd67632', 'groupNameHierarchy': 'Global/Demo4', 'name': 'Demo4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '94f61603-5f1f-4b26-85dd-59355cd67632'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'anchorWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'tertiaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'primaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/633a40de-b885-448c-bd84-dd1fef679fbe', 'groupNameHierarchy': 'Global/Demo5', 'name': 'Demo5', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '633a40de-b885-448c-bd84-dd1fef679fbe'}, {'parentId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '200.0', 'length': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '0.0', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'floor', 'longitude': '0.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763/e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square/floor1', 'name': 'floor1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '17301034-7715-4363-952f-3d290ea6ca59', 'primaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '2', 'member.count.direct': '2'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/17301034-7715-4363-952f-3d290ea6ca59', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR1', 'name': 'FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '17301034-7715-4363-952f-3d290ea6ca59'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL1', 'name': 'FLOOR1_LEVEL1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/c45259ff-0612-4fe7-907c-5987877892d9', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL2', 'name': 'FLOOR1_LEVEL2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c45259ff-0612-4fe7-907c-5987877892d9'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/eb935311-f082-416e-a13c-08acdc6219c0', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL3', 'name': 'FLOOR1_LEVEL3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eb935311-f082-416e-a13c-08acdc6219c0'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/78b8a15c-c112-4941-b00b-ceda2edb38f2', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL4', 'name': 'FLOOR1_LEVEL4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '78b8a15c-c112-4941-b00b-ceda2edb38f2'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '212be018-cfb6-4041-9caa-d344385848b7', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'secondaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/212be018-cfb6-4041-9caa-d344385848b7', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR2', 'name': 'FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '212be018-cfb6-4041-9caa-d344385848b7'}, {'parentId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7/5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'groupNameHierarchy': 'Global/USA/Georgia/cisco/Floor_test', 'name': 'Floor_test', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupNameHierarchy': 'Global/USA/Georgia', 'name': 'Georgia', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupNameHierarchy': 'Global/India', 'name': 'India', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c', 'groupNameHierarchy': 'Global/Japan', 'name': 'Japan', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80143381-187c-48fa-a356-15389aad4e9c'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Bengaluru, Karnataka, India', 'latitude': '25.2', 'addressInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'type': 'building', 'longitude': '42.1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'anchorWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'tertiaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'primaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/d0484233-604a-4972-b010-42a0d44fe3d6', 'groupNameHierarchy': 'Global/JJJ', 'name': 'JJJ', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd0484233-604a-4972-b010-42a0d44fe3d6'}, {'parentId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '12.969910', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'building', 'longitude': '77.597960'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square', 'name': 'Mantri Square', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '4', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupNameHierarchy': 'Global/USA/New York', 'name': 'New York', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '21cc7dad-8c9e-4637-8f24-22ec417b9811'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '12', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupNameHierarchy': 'Global/USA/RTP', 'name': 'RTP', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3fbfb158-a429-41b3-a220-6a6286f93d16'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/7002e28c-a309-454b-ac5d-a6a99d64bc20', 'groupNameHierarchy': 'Global/USA/Sample', 'name': 'Sample', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7002e28c-a309-454b-ac5d-a6a99d64bc20'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO', 'name': 'SAN-FRANCISCO', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '8', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupNameHierarchy': 'Global/USA/SAN JOSE', 'name': 'SAN JOSE', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '58.1', 'length': '103.23', 'height': '58.22'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '0.0', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor', 'longitude': '0.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/398f4d42-d265-4233-8ec3-5e4ba73c9956', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/Test_Floor3', 'name': 'Test_Floor3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '398f4d42-d265-4233-8ec3-5e4ba73c9956'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'latitude': '12', 'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'building', 'longitude': '80'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/0e238b6e-e390-4dae-8932-49ceb3376304', 'groupNameHierarchy': 'Global/Chennai/Tidel', 'name': 'Tidel', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0e238b6e-e390-4dae-8932-49ceb3376304'}, {'parentId': '80143381-187c-48fa-a356-15389aad4e9c', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupNameHierarchy': 'Global/Japan/Tokyo', 'name': 'Tokyo', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '9674054e-fd9e-49ed-8084-1ce9131d6781'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Cognizant Technology Solutions, Chennai, Tamil Nadu 600113, India', 'latitude': '12.9908', 'addressInheritedFrom': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'type': 'building', 'longitude': '80.2470'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/05d2d29c-3c23-478e-88ee-7ec60398634f', 'groupNameHierarchy': 'Global/Chennai/Trill', 'name': 'Trill', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '05d2d29c-3c23-478e-88ee-7ec60398634f'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '38', 'hasChild': 'TRUE', 'group.count.direct': '8', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupNameHierarchy': 'Global/USA', 'name': 'USA', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '69f31d51-9e0d-48f4-8546-4935253f9a67'}], 'version': '1.0'}, 'device': [{'response': [{'instanceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:32:55', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.1', 'family': 'Switches and Hubs', 'hostname': 'DC-FR-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324455437, 'lastUpdated': '2024-07-18 17:40:55', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'd4:ad:bd:c1:67:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.1', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 3. 40', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-24U', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2327U0S2', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:08:19.76', 'uptimeSeconds': 4552059, 'vendor': 'Cisco'}, {'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:34:15', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'In Progress', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.0', 'family': 'Switches and Hubs', 'hostname': 'DC-T-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 19:00:21', 'lastUpdateTime': 1721323875769, 'lastUpdated': '2024-07-18 17:31:15', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '00:b6:70:32:b8:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.0', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 5', 'pendingSyncRequestsCount': '1', 'platformId': 'C9300-24P', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': 'Periodic', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FCW2225C020', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 14:57:41.19', 'uptimeSeconds': 4551979, 'vendor': 'Cisco'}, {'instanceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-28 00:14:36', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.2', 'family': 'Switches and Hubs', 'hostname': 'NY-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324496374, 'lastUpdated': '2024-07-18 17:41:36', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:07:59:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.2', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC271924K0, FJC271924EQ', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.12.2', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 17:27:00.06', 'uptimeSeconds': 4473958, 'vendor': 'Cisco'}, {'instanceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 22:21:03', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.3', 'family': 'Switches and Hubs', 'hostname': 'NY-BN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324523813, 'lastUpdated': '2024-07-18 17:42:03', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '0c:75:bd:41:14:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.3', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 4', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'DISTRIBUTION', 'roleSource': 'AUTO', 'serialNumber': 'FJB2334D06N, FJC2335S09D', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 19:21:44.15', 'uptimeSeconds': 4480771, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}, {'response': [], 'version': '1.0', 'siteId': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16244588-f6da-4ef7-b329-87eed13902be', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '67966786-b701-4099-8e1a-4191534f36d2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ea574cd8-fa45-48ab-9944-83ed33537416', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '47a127ae-92bd-49ec-aed0-aec8e2a31678', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:35:07', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.4', 'family': 'Switches and Hubs', 'hostname': 'SJ-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324467241, 'lastUpdated': '2024-07-18 17:41:07', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:8e:42:80', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.4', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 1', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48T', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2721271T', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:06:55.77', 'uptimeSeconds': 4551928, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '274da223-2411-4689-8f70-b5bbd8915020'}, {'response': [], 'version': '1.0', 'siteId': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '94f61603-5f1f-4b26-85dd-59355cd67632', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '633a40de-b885-448c-bd84-dd1fef679fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': '37b05b0f-1b1e-496a-b101-8f277f0af8ff', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 2, 'apEthernetMacAddress': '34:5d:a8:0e:20:b4', 'apManagerInterfaceIp': '192.168.0.5', 'associatedWlcIp': '192.168.0.5', 'collectionInterval': 'NA', 'collectionStatus': 'Managed', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '', 'errorCode': 'null', 'family': 'Unified AP', 'hostname': 'LTTS-test1', 'interfaceCount': '0', 'inventoryStatusDetail': 'NA', 'lastDeviceResyncStartTime': '', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:e9:5e:03:f3:40', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.5', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1.216. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9130AXE-B', 'reachabilityFailureReason': 'NA', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': '', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC27181V9V', 'series': 'Cisco Catalyst 9130AXE Series Unified Access Points', 'snmpContact': '', 'snmpLocation': 'LTTS/Cisco/Chennai', 'softwareVersion': '17.14.0.79', 'tagCount': '0', 'type': 'Cisco Catalyst 9130AXE Unified Access Point', 'upTime': '3 days, 01:57:12.330', 'uptimeSeconds': 268009, 'vendor': 'NA'}, {'instanceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-26 21:53:58', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.6', 'family': 'Wireless Controller', 'hostname': 'NY-EWLC-1.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 18:30:26', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'cc:b6:c8:e2:29:0b', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.6', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 6.200', 'pendingSyncRequestsCount': '0', 'platformId': 'C9800-40-K9', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FOX2639PAY7', 'series': 'Cisco Catalyst 9800 Series Wireless Controllers', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9800-40 Wireless Controller', 'upTime': '52 days, 20:37:58.64', 'uptimeSeconds': 4568797, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '17301034-7715-4363-952f-3d290ea6ca59'}, {'response': [], 'version': '1.0', 'siteId': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'c45259ff-0612-4fe7-907c-5987877892d9', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eb935311-f082-416e-a13c-08acdc6219c0', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '78b8a15c-c112-4941-b00b-ceda2edb38f2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '212be018-cfb6-4041-9caa-d344385848b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80143381-187c-48fa-a356-15389aad4e9c', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7002e28c-a309-454b-ac5d-a6a99d64bc20', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '398f4d42-d265-4233-8ec3-5e4ba73c9956', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0e238b6e-e390-4dae-8932-49ceb3376304', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'message': 'Site does not have device member with given device family or serial number as input'}]}
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 724: Exiting the loop because no devices were returned after increasing the offset. Current offset: 501
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 782: Total number of devices received: 1
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 783: Number of devices that are Unreachable or APs: 1
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 784: Config Backup Operation can be performed on the following filtered devices: 0
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: get_device_ids_from_ip: 792: No reachable devices found among the provided parameters: {}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_site from Family: sites with Parameters: {'name': 'Global'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_site' from Family: 'sites' is Response: {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site_id: 845: Site details retrieved for site 'Global'': {'response': [{'reachabilityStatus': 'Reachable', 'family': 'Switches and Hubs', 'managementIpAddress': '192.168.0.0', 'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}]}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 759: Initiating retrieval of device details for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 703: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 660: Initiating retrieval of device IDs for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_membership from Family: sites with Parameters: {'site_id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_membership' from Family: 'sites' is Response: {'response': [{'deviceUuid': '392ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 688: No devices found for site 'Global' with site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b': []
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 792: No reachable devices found at Site: 92ffce88-9fce-41d2-ae69-086fa74e9c4b
1552s
1552s ERROR logger:dnac.py:294 NetworkCompliance: set_operation_result: 1780: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1787 status: failed, msg: No device UUIDs were fetched for network compliance operations with the provided IP address(es): ['192.168.0.0'] or site name: Global. This could be due to Unreachable devices or access points (APs).
1552s ______________ TestNetworkCompliance.test_sync_device_config_site ______________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_sync_device_config_site(self):
1552s
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_log_level="DEBUG",
1552s dnac_log_append=False,
1552s state="merged",
1552s config=self.test_data.get("playbook_config_sync_device_config_site")
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_compliance_workflow_manager.py:476:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_compliance_workflow_manager.py:1670: in main
1552s ccc_network_compliance.get_want(config).check_return_status()
1552s plugins/modules/network_compliance_workflow_manager.py:1454: in get_want
1552s mgmt_ip_to_instance_id_map = self.get_device_id_list(ip_address_list, site_name)
1552s plugins/modules/network_compliance_workflow_manager.py:824: in get_device_id_list
1552s site_mgmt_ip_to_instance_id_map, skipped_devices_list = self.get_reachable_devices_from_site(site_name)
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def get_reachable_devices_from_site(self, site_name):
1552s """
1552s Retrieves a mapping of management IP addresses to instance IDs for reachable devices from a specified site.
1552s Args:
1552s site_id (str): The ID of the site from which to retrieve device details.
1552s Returns:
1552s tuple: A tuple containing:
1552s - dict: A mapping of management IP addresses to instance IDs for reachable devices.
1552s - list: A list of management IP addresses of skipped devices.
1552s """
1552s mgmt_ip_to_instance_id_map = {}
1552s skipped_devices_list = []
1552s
1552s (site_exists, site_id) = self.get_site_id(site_name)
1552s if not site_exists:
1552s self.msg = "Site '{0}' does not exist in the Cisco Catalyst Center, cannot proceed with device(s) retrieval.".format(site_name)
1552s self.fail_and_exit(self.msg)
1552s
1552s self.log("Initiating retrieval of device details for site ID: '{0}'.".format(site_id), "INFO")
1552s
1552s # Retrieve the list of device details from the specified site
1552s device_details_list = self.get_device_details_from_site(site_name, site_id)
1552s self.log("Device details retrieved for site ID: '{0}': {1}".format(site_id, device_details_list), "DEBUG")
1552s
1552s # Iterate through each device's details
1552s for device_info in device_details_list:
1552s > management_ip = device_info.get("managementIpAddress")
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/module_utils/dnac.py:767: AttributeError
1552s ----------------------------- Captured stdout call -----------------------------
1552s Inside load_fixtures
1552s Mock for DNACSDK._exec:
1552s Inside load_fixtures
1552s ------------------------------ Captured log call -------------------------------
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 110: Logging configured and initiated
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: __init__: 116: Cisco Catalyst Center parameters: {'dnac_host': '1.1.1.1', 'dnac_port': '443', 'dnac_username': 'dummy', 'dnac_password': 'dummy', 'dnac_version': '2.2.3.3', 'dnac_verify': True, 'dnac_debug': False, 'dnac_log': True, 'dnac_log_level': 'DEBUG', 'dnac_log_file_path': 'dnac.log', 'dnac_log_append': False}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_input: 422: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': None, 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: check_return_status: 302: Line No: 1663 status: success, msg: Successfully validated playbook configuration parameters using 'validated_input': [{'ip_address_list': None, 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}]
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_want: 1439: Original IP address list: None
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 532: Validating the provided configuration: {'ip_address_list': None, 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_params: 538: Extracted parameters - IP Address List: None, Site Name: Global, Run Compliance: False, Run Compliance Categories: None, Sync Device Config: True
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 460: Validating 'ip_address_list': 'None' or 'site_name': 'Global'
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_iplist_and_site_name: 472: Validation successful: Provided IP address list or Site name is valid
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 484: Validating if any network compliance operation is requested: run_compliance=False, run_compliance_categories=None, sync_device_config=True
1552s
1552s WARNING logger:dnac.py:294 NetworkCompliance: validate_compliance_operation: 500: Validation successful: Network Compliance operation present
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: validate_params: 556: Validation completed for configuration: {'ip_address_list': None, 'site_name': 'Global', 'run_compliance': False, 'run_compliance_categories': None, 'run_compliance_batch_size': 100, 'sync_device_config': True}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 809: Entering get_device_id_list with args: ip_address_list=None, site_name=Global
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_id_list: 823: Retrieving device IDs for site: Global
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 809: Initiating retrieval of site details for site name: 'Global'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site: 813: Using 'get_site' API for Catalyst Center version: '2233'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_site from Family: sites with Parameters: {'name': 'Global'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_site' from Family: 'sites' is Response: {'response': [{'additionalInfo': [], 'name': 'Global', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteNameHierarchy': 'Global'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_site_id: 845: Site details retrieved for site 'Global'': {'response': [{'additionalInfo': [], 'name': 'Global', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'siteNameHierarchy': 'Global'}]}
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 759: Initiating retrieval of device details for site ID: '3cf15665-7b7b-4b29-82a9-75b8d094b602'.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 703: Initiating retrieval of device IDs for site ID: '3cf15665-7b7b-4b29-82a9-75b8d094b602'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 660: Initiating retrieval of device IDs for site ID: '3cf15665-7b7b-4b29-82a9-75b8d094b602'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 664: Using 'get_membership' API for Catalyst Center version: '2233'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_membership from Family: sites with Parameters: {'site_id': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_membership' from Family: 'sites' is Response: {'site': {'response': [{'parentId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'Tokyo, Japan', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7/c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower/Ansible_Floor', 'name': 'Ansible_Floor', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66'}, {'parentId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'Location', 'attributes': {'country': 'Japan', 'address': 'Tokyo, Japan', 'latitude': '35.6764', 'addressInheritedFrom': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'type': 'building', 'longitude': '139.65'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781/0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'groupNameHierarchy': 'Global/Japan/Tokyo/Ansible_Tower', 'name': 'Ansible_Tower', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7'}, {'parentId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupNameHierarchy': 'Global/India/Bangalore', 'name': 'Bangalore', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be', 'groupNameHierarchy': 'Global/USA/BayAreaGuest', 'name': 'BayAreaGuest', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16244588-f6da-4ef7-b329-87eed13902be'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupNameHierarchy': 'Global/USA/BERKELEY', 'name': 'BERKELEY', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'a83421d0-cfe5-4318-85ee-a991d2cdd748'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.85992111421487', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'building', 'longitude': '-78.8829258991226'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupNameHierarchy': 'Global/USA/RTP/BLD10', 'name': 'BLD10', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR1', 'name': 'BLD10_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR2', 'name': 'BLD10_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04'}, {'parentId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Ev Chargers Bldg 10, 7200-10 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/dca266ec-80d9-4692-8782-1f1d3d7aed0a/67966786-b701-4099-8e1a-4191534f36d2', 'groupNameHierarchy': 'Global/USA/RTP/BLD10/BLD10_FLOOR3', 'name': 'BLD10_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '67966786-b701-4099-8e1a-4191534f36d2'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.86059627310624', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'building', 'longitude': '-78.88105620286412'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupNameHierarchy': 'Global/USA/RTP/BLD11', 'name': 'BLD11', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '89b128e0-3217-4f63-bf99-b202ec7c0103'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR1', 'name': 'BLD11_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '16b5e550-d288-4e11-94a6-baaa8e3d9c08'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR2', 'name': 'BLD11_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997'}, {'parentId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/89b128e0-3217-4f63-bf99-b202ec7c0103/be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'groupNameHierarchy': 'Global/USA/RTP/BLD11/BLD11_FLOOR3', 'name': 'BLD11_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc'}, {'parentId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'latitude': '35.8611847591779', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'building', 'longitude': '-78.88217248318003'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupNameHierarchy': 'Global/USA/RTP/BLD12', 'name': 'BLD12', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4996f8ef-8933-412e-b58b-2238ba860ec7'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/d44f3eca-a3dc-4ed1-a020-0ded43c78056', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR1', 'name': 'BLD12_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR2', 'name': 'BLD12_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6'}, {'parentId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'Cisco Systems, 7200-12 Kit Creek Rd, Morrisville, North Carolina 27560, United States', 'addressInheritedFrom': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16/4996f8ef-8933-412e-b58b-2238ba860ec7/ea574cd8-fa45-48ab-9944-83ed33537416', 'groupNameHierarchy': 'Global/USA/RTP/BLD12/BLD12_FLOOR3', 'name': 'BLD12_FLOOR3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ea574cd8-fa45-48ab-9944-83ed33537416'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20', 'name': 'BLD20', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ed089cbf-3622-492f-bf60-5baf6d0b3708'}, {'parentId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': '725 Alder Drive, Milpitas, California 95035, United States', 'addressInheritedFrom': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/ed089cbf-3622-492f-bf60-5baf6d0b3708/47a127ae-92bd-49ec-aed0-aec8e2a31678', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD20/BLD20_FLOOR1', 'name': 'BLD20_FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '47a127ae-92bd-49ec-aed0-aec8e2a31678'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/BLD20_FLOOR2', 'name': 'BLD20_FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf'}, {'parentId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '5', 'hasChild': 'TRUE', 'group.count.direct': '5', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23', 'name': 'BLD23', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '36d3230c-c6ce-44ae-8901-3b4a624883e6'}, {'parentId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'type': 'building', 'longitude': '-121.916327'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/a83421d0-cfe5-4318-85ee-a991d2cdd748/8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'groupNameHierarchy': 'Global/USA/BERKELEY/BLDBERK', 'name': 'BLDBERK', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d'}, {'parentId': '16244588-f6da-4ef7-b329-87eed13902be', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '725 Alder Drive, Milpitas, California 95035, United States', 'latitude': '37.415947', 'addressInheritedFrom': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'type': 'building', 'longitude': '-121.916327'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/16244588-f6da-4ef7-b329-87eed13902be/fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'groupNameHierarchy': 'Global/USA/BayAreaGuest/BLD_GB', 'name': 'BLD_GB', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7'}, {'parentId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '1'}}, {'nameSpace': 'ETA', 'attributes': {'member.compatibleWithNaasOnly.direct': '0', 'member.etaCapable.direct': '1', 'member.etaReady.direct': '1', 'member.etaEnabledNaasOnly.direct': '0', 'ETAReady': 'true', 'member.etaNotReady.direct': '0', 'member.etaReadyNotEnabled.direct': '1', 'member.etaEnabled.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC', 'name': 'BLDNYC', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '274da223-2411-4689-8f70-b5bbd8915020'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'type': 'building', 'longitude': '-121.912974'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/b497a0ab-3ab4-42fd-8921-2f45af587b98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF', 'name': 'BLD_SF', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'b497a0ab-3ab4-42fd-8921-2f45af587b98'}, {'parentId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '37.398188', 'addressInheritedFrom': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'type': 'building', 'longitude': '-121.912974'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7/ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO/BLD_SF1', 'name': 'BLD_SF1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupNameHierarchy': 'Global/Chennai', 'name': 'Chennai', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}, {'parentId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'latitude': '37.338', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'building', 'longitude': '-121.832'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupNameHierarchy': 'Global/USA/Georgia/cisco', 'name': 'cisco', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'anchorWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'tertiaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632', 'primaryWlcInheritedFrom': '94f61603-5f1f-4b26-85dd-59355cd67632'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/94f61603-5f1f-4b26-85dd-59355cd67632', 'groupNameHierarchy': 'Global/Demo4', 'name': 'Demo4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '94f61603-5f1f-4b26-85dd-59355cd67632'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'anchorWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'tertiaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'primaryWlcInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '633a40de-b885-448c-bd84-dd1fef679fbe', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/633a40de-b885-448c-bd84-dd1fef679fbe', 'groupNameHierarchy': 'Global/Demo5', 'name': 'Demo5', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '633a40de-b885-448c-bd84-dd1fef679fbe'}, {'parentId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '200.0', 'length': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '0.0', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'floor', 'longitude': '0.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763/e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square/floor1', 'name': 'floor1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '17301034-7715-4363-952f-3d290ea6ca59', 'primaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '2', 'member.count.direct': '2'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'UMBRELLA', 'attributes': {'umbrellaReady': 'true', 'member.umbrellaNotReady.direct': '0', 'member.umbrellaReady.direct': '1', 'member.umbrellaReadyNotEnabled.direct': '1', 'member.umbrellaEnabled.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/17301034-7715-4363-952f-3d290ea6ca59', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR1', 'name': 'FLOOR1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '17301034-7715-4363-952f-3d290ea6ca59'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL1', 'name': 'FLOOR1_LEVEL1', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/c45259ff-0612-4fe7-907c-5987877892d9', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL2', 'name': 'FLOOR1_LEVEL2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'c45259ff-0612-4fe7-907c-5987877892d9'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/eb935311-f082-416e-a13c-08acdc6219c0', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL3', 'name': 'FLOOR1_LEVEL3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'eb935311-f082-416e-a13c-08acdc6219c0'}, {'parentId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'type': 'floor'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8/36d3230c-c6ce-44ae-8901-3b4a624883e6/78b8a15c-c112-4941-b00b-ceda2edb38f2', 'groupNameHierarchy': 'Global/USA/SAN JOSE/BLD23/FLOOR1_LEVEL4', 'name': 'FLOOR1_LEVEL4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '78b8a15c-c112-4941-b00b-ceda2edb38f2'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '212be018-cfb6-4041-9caa-d344385848b7', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'secondaryWlc': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': '', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'Location', 'attributes': {'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/212be018-cfb6-4041-9caa-d344385848b7', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/FLOOR2', 'name': 'FLOOR2', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '212be018-cfb6-4041-9caa-d344385848b7'}, {'parentId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'address': '1579 Hopkins Drive, San Jose, California 95122, United States', 'addressInheritedFrom': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'type': 'floor'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'length': '100.0', 'width': '100.0', 'height': '10.0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab/7010b0ed-ae2b-41bd-977a-79b1628dd1b7/5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'groupNameHierarchy': 'Global/USA/Georgia/cisco/Floor_test', 'name': 'Floor_test', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'groupNameHierarchy': 'Global/USA/Georgia', 'name': 'Georgia', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e', 'groupNameHierarchy': 'Global/India', 'name': 'India', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '3', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c', 'groupNameHierarchy': 'Global/Japan', 'name': 'Japan', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '80143381-187c-48fa-a356-15389aad4e9c'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'Bengaluru, Karnataka, India', 'latitude': '25.2', 'addressInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'type': 'building', 'longitude': '42.1'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'anchorWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'tertiaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'primaryWlcInheritedFrom': 'd0484233-604a-4972-b010-42a0d44fe3d6'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/d0484233-604a-4972-b010-42a0d44fe3d6', 'groupNameHierarchy': 'Global/JJJ', 'name': 'JJJ', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'd0484233-604a-4972-b010-42a0d44fe3d6'}, {'parentId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Bengaluru, Karnataka, India', 'latitude': '12.969910', 'addressInheritedFrom': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'type': 'building', 'longitude': '77.597960'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '1', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'anchorWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'tertiaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'primaryWlcInheritedFrom': 'bf561bf3-95d6-4da1-bf49-26887955fa2e'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/bf561bf3-95d6-4da1-bf49-26887955fa2e/eda30e7b-0e67-4879-85bd-cfc30b0d9765/caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'groupNameHierarchy': 'Global/India/Bangalore/Mantri Square', 'name': 'Mantri Square', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '4', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811', 'groupNameHierarchy': 'Global/USA/New York', 'name': 'New York', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '21cc7dad-8c9e-4637-8f24-22ec417b9811'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '12', 'hasChild': 'TRUE', 'group.count.direct': '3', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/3fbfb158-a429-41b3-a220-6a6286f93d16', 'groupNameHierarchy': 'Global/USA/RTP', 'name': 'RTP', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '3fbfb158-a429-41b3-a220-6a6286f93d16'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/7002e28c-a309-454b-ac5d-a6a99d64bc20', 'groupNameHierarchy': 'Global/USA/Sample', 'name': 'Sample', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '7002e28c-a309-454b-ac5d-a6a99d64bc20'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'groupNameHierarchy': 'Global/USA/SAN-FRANCISCO', 'name': 'SAN-FRANCISCO', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7'}, {'parentId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '8', 'hasChild': 'TRUE', 'group.count.direct': '2', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'groupNameHierarchy': 'Global/USA/SAN JOSE', 'name': 'SAN JOSE', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8'}, {'parentId': '274da223-2411-4689-8f70-b5bbd8915020', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'mapGeometry', 'attributes': {'offsetX': '0.0', 'offsetY': '0.0', 'width': '58.1', 'length': '103.23', 'height': '58.22'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'country': 'United States', 'address': 'McCarthy Blvd, San Jose, California 95131, United States', 'latitude': '0.0', 'addressInheritedFrom': '274da223-2411-4689-8f70-b5bbd8915020', 'type': 'floor', 'longitude': '0.0'}}, {'nameSpace': 'mapsSummary', 'attributes': {'rfModel': '101101', 'imageURL': 'None', 'isCadFile': 'false', 'floorIndex': '1'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67/21cc7dad-8c9e-4637-8f24-22ec417b9811/274da223-2411-4689-8f70-b5bbd8915020/398f4d42-d265-4233-8ec3-5e4ba73c9956', 'groupNameHierarchy': 'Global/USA/New York/BLDNYC/Test_Floor3', 'name': 'Test_Floor3', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '398f4d42-d265-4233-8ec3-5e4ba73c9956'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'latitude': '12', 'addressInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'type': 'building', 'longitude': '80'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/0e238b6e-e390-4dae-8932-49ceb3376304', 'groupNameHierarchy': 'Global/Chennai/Tidel', 'name': 'Tidel', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '0e238b6e-e390-4dae-8932-49ceb3376304'}, {'parentId': '80143381-187c-48fa-a356-15389aad4e9c', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'type': 'area'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'anchorWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'tertiaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c', 'primaryWlcInheritedFrom': '80143381-187c-48fa-a356-15389aad4e9c'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '2', 'hasChild': 'TRUE', 'group.count.direct': '1', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80143381-187c-48fa-a356-15389aad4e9c/9674054e-fd9e-49ed-8084-1ce9131d6781', 'groupNameHierarchy': 'Global/Japan/Tokyo', 'name': 'Tokyo', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '9674054e-fd9e-49ed-8084-1ce9131d6781'}, {'parentId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'Location', 'attributes': {'country': 'India', 'address': 'Cognizant Technology Solutions, Chennai, Tamil Nadu 600113, India', 'latitude': '12.9908', 'addressInheritedFrom': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'type': 'building', 'longitude': '80.2470'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '0', 'hasChild': 'FALSE', 'group.count.direct': '0', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '0', 'member.count.direct': '0'}}, {'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'anchorWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'tertiaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'primaryWlcInheritedFrom': '80be6b3f-2bb8-4711-ae59-f7a667eedb08'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/80be6b3f-2bb8-4711-ae59-f7a667eedb08/05d2d29c-3c23-478e-88ee-7ec60398634f', 'groupNameHierarchy': 'Global/Chennai/Trill', 'name': 'Trill', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '05d2d29c-3c23-478e-88ee-7ec60398634f'}, {'parentId': '3cf15665-7b7b-4b29-82a9-75b8d094b602', 'groupTypeList': ['SITE'], 'additionalInfo': [{'nameSpace': 'com.wireless.managingwlc', 'attributes': {'secondaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'anchorWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'tertiaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'primaryWlcInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67'}}, {'nameSpace': 'Location', 'attributes': {'addressInheritedFrom': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'type': 'area'}}, {'nameSpace': 'System Settings', 'attributes': {'group.count.total': '38', 'hasChild': 'TRUE', 'group.count.direct': '8', 'group.hierarchy.groupType': 'SITE', 'member.count.total': '3', 'member.count.direct': '0'}}], 'groupHierarchy': '3cf15665-7b7b-4b29-82a9-75b8d094b602/69f31d51-9e0d-48f4-8546-4935253f9a67', 'groupNameHierarchy': 'Global/USA', 'name': 'USA', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'id': '69f31d51-9e0d-48f4-8546-4935253f9a67'}], 'version': '1.0'}, 'device': [{'response': [{'instanceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:32:55', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.1', 'family': 'Switches and Hubs', 'hostname': 'DC-FR-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324455437, 'lastUpdated': '2024-07-18 17:40:55', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'd4:ad:bd:c1:67:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.1', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 3. 40', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-24U', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2327U0S2', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:08:19.76', 'uptimeSeconds': 4552059, 'vendor': 'Cisco'}, {'instanceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:34:15', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'In Progress', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.0', 'family': 'Switches and Hubs', 'hostname': 'DC-T-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 19:00:21', 'lastUpdateTime': 1721323875769, 'lastUpdated': '2024-07-18 17:31:15', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '00:b6:70:32:b8:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.0', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 5', 'pendingSyncRequestsCount': '1', 'platformId': 'C9300-24P', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': 'Periodic', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FCW2225C020', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 14:57:41.19', 'uptimeSeconds': 4551979, 'vendor': 'Cisco'}, {'instanceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-28 00:14:36', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.2', 'family': 'Switches and Hubs', 'hostname': 'NY-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324496374, 'lastUpdated': '2024-07-18 17:41:36', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:07:59:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.2', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC271924K0, FJC271924EQ', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.12.2', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 17:27:00.06', 'uptimeSeconds': 4473958, 'vendor': 'Cisco'}, {'instanceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 22:21:03', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.3', 'family': 'Switches and Hubs', 'hostname': 'NY-BN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324523813, 'lastUpdated': '2024-07-18 17:42:03', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '0c:75:bd:41:14:00', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.3', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 4', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48UXM, C9300-48UXM', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'DISTRIBUTION', 'roleSource': 'AUTO', 'serialNumber': 'FJB2334D06N, FJC2335S09D', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '51 days, 19:21:44.15', 'uptimeSeconds': 4480771, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '3cf15665-7b7b-4b29-82a9-75b8d094b602'}, {'response': [], 'version': '1.0', 'siteId': 'c9c21b46-5956-4e6e-9dbf-49f3e6e55a66', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0c0aef1d-0ab9-4660-b216-649c4fe2b7a7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eda30e7b-0e67-4879-85bd-cfc30b0d9765', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16244588-f6da-4ef7-b329-87eed13902be', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'a83421d0-cfe5-4318-85ee-a991d2cdd748', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'dca266ec-80d9-4692-8782-1f1d3d7aed0a', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0d64a127-ae63-46f8-9b76-9d7d1502c6d4', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'f5c31c72-6d56-456b-aefb-d7cc942e5b04', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '67966786-b701-4099-8e1a-4191534f36d2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '89b128e0-3217-4f63-bf99-b202ec7c0103', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '16b5e550-d288-4e11-94a6-baaa8e3d9c08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8c57bcf3-b0e4-4f47-b45e-bbb9f32e2997', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'be5fd8eb-dda4-4f38-b5ce-35d1d49151cc', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4996f8ef-8933-412e-b58b-2238ba860ec7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd44f3eca-a3dc-4ed1-a020-0ded43c78056', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fb5bbd30-3a01-4eaf-a24d-b0e75ff158c6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ea574cd8-fa45-48ab-9944-83ed33537416', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ed089cbf-3622-492f-bf60-5baf6d0b3708', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '47a127ae-92bd-49ec-aed0-aec8e2a31678', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '625bcb2d-4e4a-4571-80e9-c5d2caad4ecf', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '36d3230c-c6ce-44ae-8901-3b4a624883e6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '8ff6aa1d-089f-41e2-8e42-5cad97770e7d', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'fa666989-76fb-4aa1-8caf-ad9dc6d08ef7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-27 02:35:07', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.4', 'family': 'Switches and Hubs', 'hostname': 'SJ-EN-9300.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 17:40:01', 'lastUpdateTime': 1721324467241, 'lastUpdated': '2024-07-18 17:41:07', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:88:55:8e:42:80', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.4', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1. 2. 1', 'pendingSyncRequestsCount': '0', 'platformId': 'C9300-48T', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC2721271T', 'series': 'Cisco Catalyst 9300 Series Switches', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9300 Switch', 'upTime': '52 days, 15:06:55.77', 'uptimeSeconds': 4551928, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '274da223-2411-4689-8f70-b5bbd8915020'}, {'response': [], 'version': '1.0', 'siteId': 'b497a0ab-3ab4-42fd-8921-2f45af587b98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'ef6944e0-72be-4d1d-8e29-1ca1ebcf8d98', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80be6b3f-2bb8-4711-ae59-f7a667eedb08', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7010b0ed-ae2b-41bd-977a-79b1628dd1b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '94f61603-5f1f-4b26-85dd-59355cd67632', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '633a40de-b885-448c-bd84-dd1fef679fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'e3c898bc-a0d5-47b9-83c6-a48a88fa6fbe', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [{'instanceUuid': '37b05b0f-1b1e-496a-b101-8f277f0af8ff', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 2, 'apEthernetMacAddress': '34:5d:a8:0e:20:b4', 'apManagerInterfaceIp': '192.168.0.5', 'associatedWlcIp': '192.168.0.5', 'collectionInterval': 'NA', 'collectionStatus': 'Managed', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '', 'errorCode': 'null', 'family': 'Unified AP', 'hostname': 'LTTS-test1', 'interfaceCount': '0', 'inventoryStatusDetail': 'NA', 'lastDeviceResyncStartTime': '', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': '90:e9:5e:03:f3:40', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.5', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204. 1.216. 2', 'pendingSyncRequestsCount': '0', 'platformId': 'C9130AXE-B', 'reachabilityFailureReason': 'NA', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': '', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FJC27181V9V', 'series': 'Cisco Catalyst 9130AXE Series Unified Access Points', 'snmpContact': '', 'snmpLocation': 'LTTS/Cisco/Chennai', 'softwareVersion': '17.14.0.79', 'tagCount': '0', 'type': 'Cisco Catalyst 9130AXE Unified Access Point', 'upTime': '3 days, 01:57:12.330', 'uptimeSeconds': 268009, 'vendor': 'NA'}, {'instanceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'instanceTenantId': '6486ce96ff1f0d0c8be622f4', 'deployPending': 'NONE', 'instanceVersion': 0, 'apManagerInterfaceIp': '', 'associatedWlcIp': '', 'bootDateTime': '2024-05-26 21:53:58', 'collectionInterval': 'Global Default', 'collectionIntervalValue': '01:30:00', 'collectionStatus': 'Managed', 'description': 'Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled', 'deviceSupportLevel': 'Supported', 'dnsResolvedManagementAddress': '192.168.0.6', 'family': 'Wireless Controller', 'hostname': 'NY-EWLC-1.cisco.local', 'interfaceCount': '0', 'inventoryStatusDetail': '', 'lastDeviceResyncStartTime': '2024-07-18 18:30:26', 'lastUpdateTime': 1721327458431, 'lastUpdated': '2024-07-18 18:30:58', 'lineCardCount': '0', 'lineCardId': '', 'macAddress': 'cc:b6:c8:e2:29:0b', 'managedAtleastOnce': False, 'managementIpAddress': '192.168.0.6', 'managementState': 'Managed', 'memorySize': 'NA', 'paddedMgmtIpAddress': '204.192. 6.200', 'pendingSyncRequestsCount': '0', 'platformId': 'C9800-40-K9', 'reachabilityFailureReason': '', 'reachabilityStatus': 'Reachable', 'reasonsForDeviceResync': 'Periodic', 'reasonsForPendingSyncRequests': '', 'role': 'ACCESS', 'roleSource': 'AUTO', 'serialNumber': 'FOX2639PAY7', 'series': 'Cisco Catalyst 9800 Series Wireless Controllers', 'snmpContact': '', 'snmpLocation': '', 'softwareType': 'IOS-XE', 'softwareVersion': '17.14.1', 'tagCount': '0', 'type': 'Cisco Catalyst 9800-40 Wireless Controller', 'upTime': '52 days, 20:37:58.64', 'uptimeSeconds': 4568797, 'vendor': 'Cisco'}], 'version': '1.0', 'siteId': '17301034-7715-4363-952f-3d290ea6ca59'}, {'response': [], 'version': '1.0', 'siteId': '8a7ddd03-dddb-4a76-a079-56c3b45ab1ec', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'c45259ff-0612-4fe7-907c-5987877892d9', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'eb935311-f082-416e-a13c-08acdc6219c0', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '78b8a15c-c112-4941-b00b-ceda2edb38f2', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '212be018-cfb6-4041-9caa-d344385848b7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '5e6d602a-4135-44ef-a5ae-8d9ee6056f3b', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '6f4d01b1-d00c-4471-8aa2-28b7e99636ab', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'bf561bf3-95d6-4da1-bf49-26887955fa2e', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '80143381-187c-48fa-a356-15389aad4e9c', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'd0484233-604a-4972-b010-42a0d44fe3d6', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': 'caa9eb0d-618b-4d90-ac10-eb2a2d17e763', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '21cc7dad-8c9e-4637-8f24-22ec417b9811', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '3fbfb158-a429-41b3-a220-6a6286f93d16', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '7002e28c-a309-454b-ac5d-a6a99d64bc20', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '4a03cd04-41bb-4e3c-9a59-3f96637c27e7', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '65eba291-ee04-43d2-bddb-a2cb2e7ff7d8', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '398f4d42-d265-4233-8ec3-5e4ba73c9956', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '0e238b6e-e390-4dae-8932-49ceb3376304', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '9674054e-fd9e-49ed-8084-1ce9131d6781', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '05d2d29c-3c23-478e-88ee-7ec60398634f', 'message': 'Site does not have device member with given device family or serial number as input'}, {'response': [], 'version': '1.0', 'siteId': '69f31d51-9e0d-48f4-8546-4935253f9a67', 'message': 'Site does not have device member with given device family or serial number as input'}]}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 668: Received response from 'get_membership'. Extracting device IDs.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_ids_from_site: 674: Retrieved device IDs from membership for site '3cf15665-7b7b-4b29-82a9-75b8d094b602': ['3bf3f269-88ae-48fc-910d-3263ba618f87', '92ffce88-9fce-41d2-ae69-086fa74e9c4b', '9db11f54-8007-438c-ba9b-711513deecc6', 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', '37b05b0f-1b1e-496a-b101-8f277f0af8ff', '778a27bb-d795-4fa3-a321-f2e693ebe1f4']
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 721: Device IDs retrieved from site '3cf15665-7b7b-4b29-82a9-75b8d094b602': ['3bf3f269-88ae-48fc-910d-3263ba618f87', '92ffce88-9fce-41d2-ae69-086fa74e9c4b', '9db11f54-8007-438c-ba9b-711513deecc6', 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', '37b05b0f-1b1e-496a-b101-8f277f0af8ff', '778a27bb-d795-4fa3-a321-f2e693ebe1f4']
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: '3bf3f269-88ae-48fc-910d-3263ba618f87'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': '3bf3f269-88ae-48fc-910d-3263ba618f87'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '3bf3f269-88ae-48fc-910d-3263ba618f87'.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': '92ffce88-9fce-41d2-ae69-086fa74e9c4b'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721329211772, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '92ffce88-9fce-41d2-ae69-086fa74e9c4b'.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: '9db11f54-8007-438c-ba9b-711513deecc6'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': '9db11f54-8007-438c-ba9b-711513deecc6'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720725651251, 'lastUpdateTime': 1721329211782, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '9db11f54-8007-438c-ba9b-711513deecc6'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '9db11f54-8007-438c-ba9b-711513deecc6'.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: 'f490e92f-490e-4bb1-9519-770b1dc604c4'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': 'f490e92f-490e-4bb1-9519-770b1dc604c4'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720725651133, 'lastUpdateTime': 1721329211787, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: 'f490e92f-490e-4bb1-9519-770b1dc604c4'.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820501, 'lastUpdateTime': 1721329211781, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38'.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: '37b05b0f-1b1e-496a-b101-8f277f0af8ff'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': '37b05b0f-1b1e-496a-b101-8f277f0af8ff'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': [{'deviceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720782060442, 'lastUpdateTime': 1721329211778, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], 'version': '1.0', 'deviceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '37b05b0f-1b1e-496a-b101-8f277f0af8ff'.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 725: Initiating retrieval of device details for device ID: '778a27bb-d795-4fa3-a321-f2e693ebe1f4'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: execute_get_request: 1832: Initiating GET API call for Function: get_device_by_id from Family: devices with Parameters: {'id': '778a27bb-d795-4fa3-a321-f2e693ebe1f4'}.
1552s
1552s INFO logger:dnac.py:294 NetworkCompliance: execute_get_request: 1848: Response received from GET API call to Function: 'get_device_by_id' from Family: 'devices' is Response: {'response': {'taskId': 'ce5e3f8d-9ac7-4215-9b83-fac7228c9e63', 'url': '/api/v1/task/ce5e3f8d-9ac7-4215-9b83-fac7228c9e63'}, 'version': '1.0'}
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_device_details_from_site: 737: Device details retrieved for device ID: '778a27bb-d795-4fa3-a321-f2e693ebe1f4'.
1552s
1552s DEBUG logger:dnac.py:294 NetworkCompliance: get_reachable_devices_from_site: 763: Device details retrieved for site ID: '3cf15665-7b7b-4b29-82a9-75b8d094b602': [[{'deviceUuid': '92ffce88-9fce-41d2-ae69-086fa74e9c4b', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721609911624, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], [{'deviceUuid': '3bf3f269-88ae-48fc-910d-3263ba618f87', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820546, 'lastUpdateTime': 1721329211772, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], [{'deviceUuid': '9db11f54-8007-438c-ba9b-711513deecc6', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720725651251, 'lastUpdateTime': 1721329211782, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], [{'deviceUuid': 'f490e92f-490e-4bb1-9519-770b1dc604c4', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720725651133, 'lastUpdateTime': 1721329211787, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], [{'deviceUuid': 'e0bdf3e1-fbcf-4faa-a11c-156e32e7ae38', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1717977820501, 'lastUpdateTime': 1721329211781, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], [{'deviceUuid': '778a27bb-d795-4fa3-a321-f2e693ebe1f4', 'complianceType': 'RUNNING_CONFIG', 'status': 'NON_COMPLIANT', 'state': 'SUCCESS', 'lastSyncTime': 1720782060442, 'lastUpdateTime': 1721329211778, 'sourceInfoList': [], 'ackStatus': 'UNACKNOWLEDGED'}], {'taskId': 'ce5e3f8d-9ac7-4215-9b83-fac7228c9e63', 'url': '/api/v1/task/ce5e3f8d-9ac7-4215-9b83-fac7228c9e63'}]
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_Updation_not_req _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_global_pool_Updation_not_req(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_global_pool_updation
1552s )
1552s )
1552s result = self.execute_module(changed=True, failed=True)
1552s # print(result["response"][0].get("globalPool").get("msg"))
1552s # print(result)
1552s > self.assertEqual(
1552s result["response"][0].get("globalPool").get("msg"),
1552s {'Global_Pool2': "Global pool doesn't require an update", 'Global_Pool3': "Global pool doesn't require an update"}
1552s
1552s )
1552s E AssertionError: {} != {'Global_Pool2': "Global pool doesn't requ[67 chars]ate"}
1552s E - {}
1552s E + {'Global_Pool2': "Global pool doesn't require an update",
1552s E + 'Global_Pool3': "Global pool doesn't require an update"}
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1003: AssertionError
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_aaa _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_update_aaa(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_update_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while updating AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating AAA se[50 chars]a7: '
1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s E + Exception occurred while updating AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:654: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_creation _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_global_pool_creation(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_global_pool_creation
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:975:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_settings_workflow_manager.py:4301: in main
1552s ccc_network.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards. ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_global_pool_deletion _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_global_pool_deletion(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="deleted",
1552s config_verify=True,
1552s config=self.playbook_config_global_pool_deletion
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1026:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_settings_workflow_manager.py:4301: in main
1552s ccc_network.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards. ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_banner _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_update_banner(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_update_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while updating banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating banner[53 chars]a7: '
1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s E + Exception occurred while updating banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:629: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_timezone _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_update_timezone(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_update_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while updating time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating time z[56 chars]a7: '
1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s E + Exception occurred while updating time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:579: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_mandatory_aaa_param _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_mandatory_aaa_param(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_aaa_req
1552s )
1552s )
1552s > result = self.execute_module(changed=False, failed=True)
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:902:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module
1552s result = self.failed()
1552s tests/unit/modules/dnac/dnac_module.py:125: in failed
1552s self.module.main()
1552s plugins/modules/network_settings_workflow_manager.py:4316: in main
1552s ccc_network.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged
1552s self.update_network(network_management).check_return_status()
1552s plugins/modules/network_settings_workflow_manager.py:3790: in update_network
1552s self.check_tasks_response_status(response, "set_aaa_settings_for_a_site").check_return_status()
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def check_tasks_response_status(self, response, api_name):
1552s """
1552s Get the task response status from taskId
1552s Args:
1552s self: The current object details.
1552s response (dict): API response.
1552s api_name (str): API name.
1552s Returns:
1552s self (object): The current object with updated desired Fabric Transits information.
1552s Description:
1552s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE'
1552s state or till it reaches the maximum timeout.
1552s Log the task details and return self.
1552s """
1552s
1552s if not response:
1552s self.msg = "response is empty"
1552s self.status = "exited"
1552s return self
1552s
1552s if not isinstance(response, dict):
1552s self.msg = "response is not a dictionary"
1552s self.status = "exited"
1552s return self
1552s
1552s task_info = response.get("response")
1552s > if task_info.get("errorcode") is not None:
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/module_utils/dnac.py:1713: AttributeError
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_dns _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_update_dns(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_update_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while updating DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating DNS se[50 chars]a7: '
1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s E + Exception occurred while updating DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:604: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_network_not_need_update _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_network_not_need_update(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Successfully retrieved details from the playbook"
1552s )
1552s E AssertionError: "The specified version '2.2.3.3' does not[94 chars]ds. " != 'Successfully retrieved details from the playbook'
1552s E - The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards.
1552s E + Successfully retrieved details from the playbook
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:454: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards. ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_null_network_params _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_null_network_params(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.5.3",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_update_not_req
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Successfully retrieved details from the playbook"
1552s )
1552s E AssertionError: "Exception occurred while updating the ne[37 chars]t': " != 'Successfully retrieved details from the playbook'
1552s E - Exception occurred while updating the network settings of 'Global/Testing/test':
1552s E + Successfully retrieved details from the playbook
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:953: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "Exception occurred while updating the network settings of 'Global/Testing/test': ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {'Global/Testing/test': {}}, 'msg': {}}}], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 NetworkSettings: update_network: 3730:
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_ntp _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_update_ntp(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_update_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while updating NTP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating NTP se[50 chars]a7: '
1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s E + Exception occurred while updating NTP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:554: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_exception_update_telemetry _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_exception_update_telemetry(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_network
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while updating telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: "
1552s )
1552s E AssertionError: "An error occurred while executing API ca[67 chars]n: ." != 'Exception occurred while updating teleme[56 chars]a7: '
1552s E - An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s E + Exception occurred while updating telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7:
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:679: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'response': "An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .", 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s ERROR logger:dnac.py:294 NetworkSettings: set_operation_result: 1780: An error occurred while executing API call to Function: 'get_tasks_by_id' due to the the following exception: .
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_network_update _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_network_update(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_update_network
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:502:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_settings_workflow_manager.py:4316: in main
1552s ccc_network.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged
1552s self.update_network(network_management).check_return_status()
1552s plugins/modules/network_settings_workflow_manager.py:3741: in update_network
1552s self.check_tasks_response_status(response, "set_dhcp_settings_for_a_site").check_return_status()
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def check_tasks_response_status(self, response, api_name):
1552s """
1552s Get the task response status from taskId
1552s Args:
1552s self: The current object details.
1552s response (dict): API response.
1552s api_name (str): API name.
1552s Returns:
1552s self (object): The current object with updated desired Fabric Transits information.
1552s Description:
1552s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE'
1552s state or till it reaches the maximum timeout.
1552s Log the task details and return self.
1552s """
1552s
1552s if not response:
1552s self.msg = "response is empty"
1552s self.status = "exited"
1552s return self
1552s
1552s if not isinstance(response, dict):
1552s self.msg = "response is not a dictionary"
1552s self.status = "exited"
1552s return self
1552s
1552s task_info = response.get("response")
1552s if task_info.get("errorcode") is not None:
1552s self.msg = response.get("response").get("detail")
1552s self.status = "failed"
1552s return self
1552s
1552s task_id = task_info.get("taskId")
1552s start_time = time.time()
1552s while True:
1552s elapsed_time = time.time() - start_time
1552s if elapsed_time >= self.max_timeout:
1552s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \
1552s .format(self.max_timeout, task_id) + \
1552s "Exiting the loop due to unexpected API '{0}' status.".format(api_name)
1552s self.log(self.msg, "WARNING")
1552s self.status = "failed"
1552s break
1552s
1552s task_details = self.get_tasks_by_id(task_id)
1552s self.log('Getting tasks details from task ID {0}: {1}'
1552s .format(task_id, task_details), "DEBUG")
1552s
1552s > task_status = task_details.get("status")
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/module_utils/dnac.py:1734: AttributeError
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Testing/test' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_assign_wired_device_to_site _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_provision_workflow_manager_playbook_assign_wired_device_to_site(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_assign_wired_device_to_site
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_provision_workflow_manager.py:152:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/provision_workflow_manager.py:1809: in main
1552s ccc_provision.get_diff_state_apply[state]().check_return_status()
1552s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged
1552s self.provision_wired_device(to_provisioning, to_force_provisioning)
1552s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device
1552s device_id = self.get_device_id()
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def get_device_id(self):
1552s """
1552s Fetches the UUID of the device added in the inventory
1552s
1552s Parameters:
1552s - self: The instance of the class containing the 'config' attribute
1552s to be validated.
1552s Returns:
1552s The method returns the serial number of the device as a string. If it fails, it returns None.
1552s Example:
1552s After creating the validated input, this method retrieves the
1552s UUID of the device.
1552s """
1552s
1552s dev_response = self.dnac_apply['exec'](
1552s family="devices",
1552s function='get_network_device_by_ip',
1552s params={"ip_address": self.validated_config["management_ip_address"]}
1552s )
1552s
1552s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG")
1552s dev_dict = dev_response.get("response")
1552s > device_id = dev_dict.get("id")
1552s E AttributeError: 'NoneType' object has no attribute 'get'
1552s
1552s plugins/modules/provision_workflow_manager.py:490: AttributeError
1552s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_del_provision_device _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_provision_workflow_manager_playbook_del_provision_device(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="deleted",
1552s config_verify=True,
1552s config=self.playbook_del_provision_device
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_provision_workflow_manager.py:176:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/provision_workflow_manager.py:1809: in main
1552s ccc_provision.get_diff_state_apply[state]().check_return_status()
1552s plugins/modules/provision_workflow_manager.py:1596: in get_diff_deleted
1552s device_id = self.get_device_id()
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def get_device_id(self):
1552s """
1552s Fetches the UUID of the device added in the inventory
1552s
1552s Parameters:
1552s - self: The instance of the class containing the 'config' attribute
1552s to be validated.
1552s Returns:
1552s The method returns the serial number of the device as a string. If it fails, it returns None.
1552s Example:
1552s After creating the validated input, this method retrieves the
1552s UUID of the device.
1552s """
1552s
1552s dev_response = self.dnac_apply['exec'](
1552s family="devices",
1552s function='get_network_device_by_ip',
1552s params={"ip_address": self.validated_config["management_ip_address"]}
1552s )
1552s
1552s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG")
1552s dev_dict = dev_response.get("response")
1552s > device_id = dev_dict.get("id")
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/modules/provision_workflow_manager.py:490: AttributeError
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_not_verified __
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_not_verified(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s dnac_version="2.3.7.6",
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_network
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=True)
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:477:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module
1552s result = self.failed()
1552s tests/unit/modules/dnac/dnac_module.py:125: in failed
1552s self.module.main()
1552s plugins/modules/network_settings_workflow_manager.py:4316: in main
1552s ccc_network.get_diff_state_apply[state](config).check_return_status()
1552s plugins/modules/network_settings_workflow_manager.py:3824: in get_diff_merged
1552s self.update_network(network_management).check_return_status()
1552s plugins/modules/network_settings_workflow_manager.py:3741: in update_network
1552s self.check_tasks_response_status(response, "set_dhcp_settings_for_a_site").check_return_status()
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def check_tasks_response_status(self, response, api_name):
1552s """
1552s Get the task response status from taskId
1552s Args:
1552s self: The current object details.
1552s response (dict): API response.
1552s api_name (str): API name.
1552s Returns:
1552s self (object): The current object with updated desired Fabric Transits information.
1552s Description:
1552s Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE'
1552s state or till it reaches the maximum timeout.
1552s Log the task details and return self.
1552s """
1552s
1552s if not response:
1552s self.msg = "response is empty"
1552s self.status = "exited"
1552s return self
1552s
1552s if not isinstance(response, dict):
1552s self.msg = "response is not a dictionary"
1552s self.status = "exited"
1552s return self
1552s
1552s task_info = response.get("response")
1552s if task_info.get("errorcode") is not None:
1552s self.msg = response.get("response").get("detail")
1552s self.status = "failed"
1552s return self
1552s
1552s task_id = task_info.get("taskId")
1552s start_time = time.time()
1552s while True:
1552s elapsed_time = time.time() - start_time
1552s if elapsed_time >= self.max_timeout:
1552s self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \
1552s .format(self.max_timeout, task_id) + \
1552s "Exiting the loop due to unexpected API '{0}' status.".format(api_name)
1552s self.log(self.msg, "WARNING")
1552s self.status = "failed"
1552s break
1552s
1552s task_details = self.get_tasks_by_id(task_id)
1552s self.log('Getting tasks details from task ID {0}: {1}'
1552s .format(task_id, task_details), "DEBUG")
1552s
1552s > task_status = task_details.get("status")
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/module_utils/dnac.py:1734: AttributeError
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 NetworkSettings: get_dns_settings_for_site: 1153: No DNS settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_ntp_settings_for_site: 1231: No NTP server settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_time_zone_settings_for_site: 1270: No time zone settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_banner_settings_for_site: 1309: No banner (Message of the Day) settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s
1552s WARNING logger:dnac.py:294 NetworkSettings: get_aaa_settings_for_site: 1357: No network_aaa and client_and_endpoint_aaa settings found for site 'Global/Vietnam' (ID: b08d92c9-663f-43f3-9575-5af52d4d75a7)
1552s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_force_provision_device _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_provision_workflow_manager_playbook_force_provision_device(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_force_provision_device
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_provision_workflow_manager.py:248:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/provision_workflow_manager.py:1809: in main
1552s ccc_provision.get_diff_state_apply[state]().check_return_status()
1552s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged
1552s self.provision_wired_device(to_provisioning, to_force_provisioning)
1552s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device
1552s device_id = self.get_device_id()
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def get_device_id(self):
1552s """
1552s Fetches the UUID of the device added in the inventory
1552s
1552s Parameters:
1552s - self: The instance of the class containing the 'config' attribute
1552s to be validated.
1552s Returns:
1552s The method returns the serial number of the device as a string. If it fails, it returns None.
1552s Example:
1552s After creating the validated input, this method retrieves the
1552s UUID of the device.
1552s """
1552s
1552s dev_response = self.dnac_apply['exec'](
1552s family="devices",
1552s function='get_network_device_by_ip',
1552s params={"ip_address": self.validated_config["management_ip_address"]}
1552s )
1552s
1552s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG")
1552s dev_dict = dev_response.get("response")
1552s > device_id = dev_dict.get("id")
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/modules/provision_workflow_manager.py:490: AttributeError
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_reserve_pool_creation _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_reserve_pool_creation(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config_verify=True,
1552s config=self.playbook_config_reserve_pool
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1075:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_settings_workflow_manager.py:4301: in main
1552s ccc_network.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards. ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_provision_device _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_provision_workflow_manager_playbook_provision_device(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_provision_device
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_provision_workflow_manager.py:199:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/provision_workflow_manager.py:1809: in main
1552s ccc_provision.get_diff_state_apply[state]().check_return_status()
1552s plugins/modules/provision_workflow_manager.py:1044: in get_diff_merged
1552s self.provision_wired_device(to_provisioning, to_force_provisioning)
1552s plugins/modules/provision_workflow_manager.py:1143: in provision_wired_device
1552s device_id = self.get_device_id()
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def get_device_id(self):
1552s """
1552s Fetches the UUID of the device added in the inventory
1552s
1552s Parameters:
1552s - self: The instance of the class containing the 'config' attribute
1552s to be validated.
1552s Returns:
1552s The method returns the serial number of the device as a string. If it fails, it returns None.
1552s Example:
1552s After creating the validated input, this method retrieves the
1552s UUID of the device.
1552s """
1552s
1552s dev_response = self.dnac_apply['exec'](
1552s family="devices",
1552s function='get_network_device_by_ip',
1552s params={"ip_address": self.validated_config["management_ip_address"]}
1552s )
1552s
1552s self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG")
1552s dev_dict = dev_response.get("response")
1552s > device_id = dev_dict.get("id")
1552s E AttributeError: 'list' object has no attribute 'get'
1552s
1552s plugins/modules/provision_workflow_manager.py:490: AttributeError
1552s _ TestDnacProvisionWorkflow.test_provision_workflow_manager_playbook_wireless_provision _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_provision_workflow_manager_playbook_wireless_provision(self):
1552s """
1552s Test case for add device with full crendentials.
1552s
1552s This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="merged",
1552s > config=self.playbook_wireless_provisionZ
1552s )
1552s )
1552s E AttributeError: 'TestDnacProvisionWorkflow' object has no attribute 'playbook_wireless_provisionZ'. Did you mean: 'playbook_wireless_provision'?
1552s
1552s tests/unit/modules/dnac/test_provision_workflow_manager.py:268: AttributeError
1552s _ TestDnacNetworkSettings.test_Network_settings_workflow_manager_reserve_pool_deletion _
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Network_settings_workflow_manager_reserve_pool_deletion(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="deleted",
1552s config_verify=True,
1552s config=self.playbook_config_reserve_pool_deletion
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_network_settings_workflow_manager.py:1050:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/network_settings_workflow_manager.py:4301: in main
1552s ccc_network.check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "The specified version '2.2.3.3' does not support the Network_settings_workflow features. Supported versions start from '2.3.5.3' onwards. ", 'response': [{'globalPool': {'response': {}, 'msg': {}}}, {'reservePool': {'response': {}, 'msg': {}}}, {'network': {'response': {}, 'msg': {}}}], 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s _ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_failure_unmark_failure _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_rma_workflow_manager_deploy_workflow_failure_unmark_failure(self):
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="replaced",
1552s config=self.playbook_config_valid
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Error while unmarking device for replacement: Task failed. | Unmarking result: Error while unmarking device for replacement: Task failed."
1552s )
1552s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'Error while unmarking device for replacem[92 chars]led.'
1552s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement.
1552s E + Error while unmarking device for replacement: Task failed. | Unmarking result: Error while unmarking device for replacement: Task failed.
1552s
1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:310: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceReplacement: rma_device_replacement_pre_check: 679: The replacement device is not reachable. Unable to proceed with the RMA device replacement.
1552s _ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_failure_unmark_success _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_rma_workflow_manager_deploy_workflow_failure_unmark_success(self):
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="replaced",
1552s config=self.playbook_config_valid
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:326:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/rma_workflow_manager.py:1434: in main
1552s ccc_device_replacement.rma_device_replacement_pre_check().check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceReplacement: rma_device_replacement_pre_check: 679: The replacement device is not reachable. Unable to proceed with the RMA device replacement.
1552s _____ TestDnacRmaIntent.test_rma_workflow_manager_deploy_workflow_success ______
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_rma_workflow_manager_deploy_workflow_success(self):
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="replaced",
1552s config=self.playbook_config_valid
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:290:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/rma_workflow_manager.py:1434: in main
1552s ccc_device_replacement.rma_device_replacement_pre_check().check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceReplacement: rma_device_replacement_pre_check: 679: The replacement device is not reachable. Unable to proceed with the RMA device replacement.
1552s __________ TestDnacPnpWorkflow.test_pnp_workflow_manager_claim_switch __________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_pnp_workflow_manager_claim_switch(self):
1552s """
1552s Test case for PNP workflow manager when add and claim switch device.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.7.6",
1552s dnac_log=True,
1552s config_verify=True,
1552s state="merged",
1552s config=self.playbook_config_switch
1552s )
1552s )
1552s > result = self.execute_module(changed=False, failed=True)
1552s
1552s tests/unit/modules/dnac/test_pnp_workflow_manager.py:193:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:107: in execute_module
1552s result = self.failed()
1552s tests/unit/modules/dnac/dnac_module.py:125: in failed
1552s self.module.main()
1552s plugins/modules/pnp_workflow_manager.py:1414: in main
1552s ccc_pnp.get_diff_state_apply[state]().check_return_status()
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def get_diff_merged(self):
1552s """
1552s If given device doesnot exist
1552s then add it to pnp database and get the device id
1552s Args:
1552s self: An instance of a class used for interacting with Cisco Catalyst Center.
1552s Returns:
1552s object: An instance of the class with updated results and status
1552s based on the processing of differences. Based on the length of devices passed
1552s it adds/claims or does both.
1552s Description:
1552s The function processes the differences and, depending on the
1552s changes required, it may add, update,or resynchronize devices in
1552s Cisco Catalyst Center. The updated results and status are stored in the
1552s class instance for further use.
1552s """
1552s
1552s if not isinstance(self.want.get("pnp_params"), list):
1552s self.msg = "Device Info must be passed as a list"
1552s self.log(self.msg, "ERROR")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s
1552s if len(self.want.get("pnp_params")) > 1:
1552s devices_added = []
1552s for device in self.want.get("pnp_params"):
1552s multi_device_response = self.get_device_list_pnp(device["deviceInfo"]["serialNumber"])
1552s self.log("Device details for serial number {0} \
1552s obtained from the API 'get_device_list': {1}".format(device["deviceInfo"]["serialNumber"],
1552s str(multi_device_response)), "DEBUG")
1552s if (multi_device_response and (len(multi_device_response) == 1)):
1552s devices_added.append(device)
1552s self.log("Details of the added device:{0}".format(str(device)), "INFO")
1552s if (len(self.want.get("pnp_params")) - len(devices_added)) == 0:
1552s self.result['response'] = []
1552s self.result['msg'] = "Devices are already added"
1552s self.log(self.result['msg'], "WARNING")
1552s return self
1552s
1552s bulk_list = [
1552s device
1552s for device in self.want.get("pnp_params")
1552s if device not in devices_added
1552s ]
1552s bulk_params = self.dnac_apply['exec'](
1552s family="device_onboarding_pnp",
1552s function="import_devices_in_bulk",
1552s params={"payload": bulk_list},
1552s op_modifies=True,
1552s )
1552s self.log("Response from API 'import_devices_in_bulk' for imported devices: {0}".format(bulk_params), "DEBUG")
1552s if len(bulk_params.get("successList")) > 0:
1552s self.result['msg'] = "{0} device(s) imported successfully".format(
1552s len(bulk_params.get("successList")))
1552s self.log(self.result['msg'], "INFO")
1552s self.result['response'] = bulk_params
1552s self.result['diff'] = self.validated_config
1552s self.result['changed'] = True
1552s return self
1552s elif len(bulk_params.get("failureList")) > 0:
1552s self.msg = "Unable to import below {0} device(s). ".format(
1552s len(bulk_params.get("failureList")))
1552s self.set_operation_result("failed", False, self.msg, "ERROR",
1552s bulk_params).check_return_status()
1552s
1552s self.msg = "Bulk import failed"
1552s self.log(self.msg, "CRITICAL")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s
1552s provisioned_count_params = {
1552s "serial_number": self.want.get("serial_number"),
1552s "state": "Provisioned"
1552s }
1552s
1552s planned_count_params = {
1552s "serial_number": self.want.get("serial_number"),
1552s "state": "Planned"
1552s }
1552s
1552s if not self.have.get("device_found"):
1552s if not self.want['pnp_params']:
1552s self.msg = "Device needs to be added before claiming. Please add device_info"
1552s self.log(self.msg, "ERROR")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s
1552s if not self.want["site_name"]:
1552s self.log("Adding device to pnp database", "INFO")
1552s dev_add_response = self.add_pnp_device(self.want.get('pnp_params')[0])
1552s self.have["deviceInfo"] = dev_add_response.get("deviceInfo")
1552s self.log("Response from API 'add device' for a single device addition: {0}".format(str(dev_add_response)), "DEBUG")
1552s
1552s if self.have["deviceInfo"]:
1552s self.result['msg'] = "Only Device Added Successfully"
1552s self.log(self.result['msg'], "INFO")
1552s self.result['response'] = dev_add_response
1552s self.result['diff'] = self.validated_config
1552s self.result['changed'] = True
1552s else:
1552s self.msg = "Device Addition Failed"
1552s self.log(self.result['msg'], "CRITICAL")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s
1552s return self
1552s
1552s else:
1552s self.log("Adding device to pnp database")
1552s dev_add_response = self.add_pnp_device(self.want.get('pnp_params')[0])
1552s self.get_have().check_return_status()
1552s self.have["deviceInfo"] = dev_add_response.get("deviceInfo")
1552s self.log("Response from API 'add device' for single device addition: {0}".format(str(dev_add_response)), "DEBUG")
1552s claim_params = self.get_claim_params()
1552s claim_params["deviceId"] = dev_add_response.get("id")
1552s
1552s claim_response = self.claim_device_site(claim_params)
1552s self.log("Response from API 'claim a device to a site' for a single claiming: {0}".format(str(claim_response)), "DEBUG")
1552s
1552s if claim_response.get("response") == "Device Claimed" and self.have["deviceInfo"]:
1552s self.result['msg'] = "Device Added and Claimed Successfully"
1552s self.log(self.result['msg'], "INFO")
1552s self.result['response'] = claim_response
1552s self.result['diff'] = self.validated_config
1552s self.result['changed'] = True
1552s
1552s else:
1552s self.msg = "Device Claim Failed"
1552s > self.log(self.result['msg'], "CRITICAL")
1552s E KeyError: 'msg'
1552s
1552s plugins/modules/pnp_workflow_manager.py:985: KeyError
1552s ------------------------------ Captured log call -------------------------------
1552s WARNING logger:dnac.py:294 PnP: get_device_list_pnp: 1219: No device found with serial number: FOC2439LA89
1552s
1552s WARNING logger:dnac.py:294 PnP: get_have: 701: Device with serial number FOC2439LA89 is not found in the inventory
1552s
1552s WARNING logger:dnac.py:294 PnP: get_diff_merged: 965: Adding device to pnp database
1552s
1552s WARNING logger:dnac.py:294 PnP: get_device_list_pnp: 1219: No device found with serial number: FOC2439LA89
1552s
1552s WARNING logger:dnac.py:294 PnP: get_have: 701: Device with serial number FOC2439LA89 is not found in the inventory
1552s _______ TestDnacRmaIntent.test_rma_workflow_manager_mark_device_failure ________
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_rma_workflow_manager_mark_device_failure(self):
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="replaced",
1552s config=self.playbook_config_valid
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "An error occurred during the operation"
1552s )
1552s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'An error occurred during the operation'
1552s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement.
1552s E + An error occurred during the operation
1552s
1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:274: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceReplacement: rma_device_replacement_pre_check: 679: The replacement device is not reachable. Unable to proceed with the RMA device replacement.
1552s _ TestDnacRmaIntent.test_rma_workflow_manager_mark_device_for_replacement_exception _
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_rma_workflow_manager_mark_device_for_replacement_exception(self):
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="replaced",
1552s config=self.playbook_config_valid
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Exception occurred while marking device for replacement: "
1552s )
1552s E AssertionError: 'The replacement device is not reachable. [46 chars]ent.' != 'Exception occurred while marking device for replacement: '
1552s E - The replacement device is not reachable. Unable to proceed with the RMA device replacement.
1552s E + Exception occurred while marking device for replacement:
1552s
1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:256: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': 'The replacement device is not reachable. Unable to proceed with the RMA device replacement.', 'response': [], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceReplacement: rma_device_replacement_pre_check: 679: The replacement device is not reachable. Unable to proceed with the RMA device replacement.
1552s ___ TestDnacRmaIntent.test_rma_workflow_manager_replacement_device_not_found ___
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_rma_workflow_manager_replacement_device_not_found(self):
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_log=True,
1552s state="replaced",
1552s config=self.playbook_config_device_not_found
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s print(result)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "Replacement device '204.1.2.19' not found in Cisco Catalyst Center"
1552s )
1552s E AssertionError: "Replacement device '204.1.2.19' not found in PnP" != "Replacement device '204.1.2.19' not found in Cisco Catalyst Center"
1552s E - Replacement device '204.1.2.19' not found in PnP
1552s E ? ^ ^
1552s E + Replacement device '204.1.2.19' not found in Cisco Catalyst Center
1552s E ? ^^^^^^^^^^^^^^^^^ ^^^
1552s
1552s tests/unit/modules/dnac/test_rma_workflow_manager.py:220: AssertionError
1552s ----------------------------- Captured stdout call -----------------------------
1552s {'msg': "Replacement device '204.1.2.19' not found in PnP", 'response': [], 'failed': True}
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 DeviceReplacement: device_exists: 802: No valid response received from Cisco Catalyst Center
1552s
1552s ERROR logger:dnac.py:294 DeviceReplacement: pnp_device_exists: 713: Invalid identifier type provided
1552s
1552s ERROR logger:dnac.py:294 DeviceReplacement: get_have: 586: Replacement device '204.1.2.19' not found in PnP
1552s ________ TestDnacSiteWorkflow.test_Site_workflow_manager_update_a_site _________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Site_workflow_manager_update_a_site(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.7.6",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_site
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_site_workflow_manager.py:611:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:136: in changed
1552s self.assertEqual(result["changed"], changed, result)
1552s E AssertionError: False != True : {'changed': False, 'diff': [], 'response': [], 'warnings': []}
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Site: get_diff_merged: 1783: Yaml is not available for bulk: list indices must be integers or slices, not str
1552s _______ TestDnacSiteWorkflow.test_Site_workflow_manager_create_bulk_site _______
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Site_workflow_manager_create_bulk_site(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.7.6",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.upload_floor_map_playbook
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_site_workflow_manager.py:274:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/site_workflow_manager.py:2520: in main
1552s ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "Missing or invalid parameters in playbook config: 'name should not be None or empty, parent_name should not be None or empty, Site_type should not be None or empty' ", 'response': [], 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1188: Missing 'name' field in entry.
1552s
1552s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1196: Missing 'parent_name' field in entry.
1552s
1552s ERROR logger:dnac.py:294 Site: validate_site_input_data: 1335: Missing or invalid parameters in playbook config: 'name should not be None or empty, parent_name should not be None or empty, Site_type should not be None or empty'
1552s ____ TestDnacSiteWorkflow.test_Site_workflow_manager_update_not_needed_site ____
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Site_workflow_manager_update_not_needed_site(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.5.3",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_update_site
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_site_workflow_manager.py:585:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def main():
1552s """ main entry point for module execution
1552s """
1552s element_spec = {'dnac_host': {'required': True, 'type': 'str'},
1552s 'dnac_port': {'type': 'str', 'default': '443'},
1552s 'dnac_username': {'type': 'str', 'default': 'admin', 'aliases': ['user']},
1552s 'dnac_password': {'type': 'str', 'no_log': True},
1552s 'dnac_verify': {'type': 'bool', 'default': 'True'},
1552s 'dnac_version': {'type': 'str', 'default': '2.2.3.3'},
1552s 'dnac_debug': {'type': 'bool', 'default': False},
1552s 'dnac_log_level': {'type': 'str', 'default': 'WARNING'},
1552s "dnac_log_file_path": {"type": 'str', "default": 'dnac.log'},
1552s "dnac_log_append": {"type": 'bool', "default": True},
1552s 'dnac_log': {'type': 'bool', 'default': False},
1552s 'validate_response_schema': {'type': 'bool', 'default': True},
1552s 'config_verify': {'type': 'bool', "default": False},
1552s 'dnac_api_task_timeout': {'type': 'int', "default": 1200},
1552s 'dnac_task_poll_interval': {'type': 'int', "default": 2},
1552s 'config': {'required': True, 'type': 'list', 'elements': 'dict'},
1552s 'state': {'default': 'merged', 'choices': ['merged', 'deleted']}
1552s }
1552s
1552s module = AnsibleModule(argument_spec=element_spec,
1552s supports_check_mode=False)
1552s
1552s ccc_site = Site(module)
1552s state = ccc_site.params.get("state")
1552s
1552s if ccc_site.compare_dnac_versions(ccc_site.get_ccc_version(), "2.3.5.3") < 0:
1552s ccc_site.msg = (
1552s "The specified version '{0}' does not support the site workflow feature. Supported versions start from '2.3.5.3' onwards. "
1552s "Version '2.3.5.3' introduces APIs for creating, updating, and deleting sites. "
1552s "Version '2.3.7.6' expands support to include APIs for bulk site creating, updating, and deleting sites.".format(
1552s ccc_site.get_ccc_version())
1552s )
1552s
1552s ccc_site.status = "failed"
1552s ccc_site.check_return_status()
1552s
1552s if state not in ccc_site.supported_states:
1552s ccc_site.status = "invalid"
1552s ccc_site.msg = "State {0} is invalid".format(state)
1552s ccc_site.check_return_status()
1552s
1552s ccc_site.validate_input().check_return_status()
1552s config_verify = ccc_site.params.get("config_verify")
1552s ccc_site.validate_site_input_data(ccc_site.validated_config, state).check_return_status()
1552s
1552s if ccc_site.compare_dnac_versions(ccc_site.get_ccc_version(), "2.3.7.6") >= 0:
1552s ccc_site.reset_values()
1552s ccc_site.get_want(ccc_site.validated_config).check_return_status()
1552s ccc_site.get_have(ccc_site.validated_config).check_return_status()
1552s
1552s ccc_site.get_diff_state_apply[state](ccc_site.validated_config).check_return_status()
1552s
1552s if config_verify:
1552s ccc_site.update_site_messages().check_return_status()
1552s
1552s else:
1552s for config in ccc_site.validated_config:
1552s ccc_site.reset_values()
1552s
1552s ccc_site.get_want(config).check_return_status()
1552s > ccc_site.get_have(config).check_return_status()
1552s E AttributeError: 'NoneType' object has no attribute 'check_return_status'
1552s
1552s plugins/modules/site_workflow_manager.py:2537: AttributeError
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: An unexpected error occurred while retrieving site details: 'NoneType' object is not subscriptable
1552s _________ TestDnacSiteWorkflow.test_Site_workflow_manager_create_site __________
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Site_workflow_manager_create_site(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.5.3",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_site
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_site_workflow_manager.py:297:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/site_workflow_manager.py:2539: in main
1552s ccc_site.get_diff_state_apply[state](config).check_return_status()
1552s plugins/module_utils/dnac.py:307: in check_return_status
1552s self.module.fail_json(msg=self.msg, response=self.result.get('response', []))
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def fail_json(*args, **kwargs):
1552s kwargs["failed"] = True
1552s > raise AnsibleFailJson(kwargs)
1552s E ansible_collections.ansible.netcommon.tests.unit.modules.utils.AnsibleFailJson: {'msg': "Parent name 'Global' does not exist in the Cisco Catalyst Center.", 'response': "Parent name 'Global' does not exist in the Cisco Catalyst Center.", 'failed': True}
1552s
1552s ../../ansible/netcommon/tests/unit/modules/utils.py:40: AnsibleFailJson
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites':
1552s
1552s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888
1552s
1552s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites':
1552s
1552s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: Parent name 'Global' does not exist in the Cisco Catalyst Center.
1552s
1552s ERROR logger:dnac.py:294 Site: get_diff_merged: 1866: No response received from 'get_site_v1' API for site: Global{'msg': "Parent name 'Global' does not exist in the Cisco Catalyst Center.", 'response': "Parent name 'Global' does not exist in the Cisco Catalyst Center.", 'failed': True}
1552s
1552s WARNING logger:dnac.py:294 Site: get_site_v1: 612: Empty response received for site: Global/japan8888
1552s
1552s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888
1552s _________ TestDnacSiteWorkflow.test_Site_workflow_manager_update_site __________
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s def get_diff_merged(self, config):
1552s """
1552s Update/Create site information in Cisco Catalyst Center with fields
1552s provided in the playbook.
1552s Parameters:
1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1552s config (dict): A dictionary containing configuration information.
1552s Returns:
1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1552s Description:
1552s This method determines whether to update or create a site in Cisco Catalyst Center based on the provided
1552s configuration information. If the specified site exists, the method checks if it requires an update
1552s by calling the 'site_requires_update' method. If an update is required, it calls the 'update_site'
1552s function from the 'sites' family of the Cisco Catalyst Center API. If the site does not require an update,
1552s the method exits, indicating that the site is up to date.
1552s """
1552s site_updated = False
1552s site_created = False
1552s
1552s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0:
1552s self.handle_config['area'] = []
1552s self.handle_config['building'] = []
1552s self.handle_config['floor'] = []
1552s try:
1552s create_site = copy.deepcopy(self.handle_config["create_site"])
1552s if len(create_site) > 0:
1552s self.log("Starting site creation process.", "DEBUG")
1552s for each_config in create_site:
1552s payload_data = self.change_payload_data(each_config.get("want"))
1552s if payload_data:
1552s payload_data[self.keymap["parent_name_hierarchy"]] =\
1552s payload_data.get(self.keymap["parent_name"])
1552s del payload_data[self.keymap["parent_name"]]
1552s self.log("Payload data prepared for site creation: {}".format(payload_data), "DEBUG")
1552s
1552s if payload_data.get("type") == "area":
1552s self.handle_config["area"].append(payload_data)
1552s self.log("Added to area: {}".format(payload_data), "DEBUG")
1552s elif payload_data.get("type") == "building":
1552s self.handle_config["building"].append(payload_data)
1552s self.log("Added to building: {}".format(payload_data), "DEBUG")
1552s elif payload_data.get("type") == "floor":
1552s self.handle_config["floor"].append(payload_data)
1552s self.log("Added to floor: {}".format(payload_data), "DEBUG")
1552s for each_type in ("area", "building", "floor"):
1552s if self.handle_config[each_type]:
1552s self.log("Processing configurations for '{0}'.".format(each_type), "DEBUG")
1552s for create_config in self.handle_config[each_type]:
1552s self.log("Handling configuration: {0}".format(create_config), "DEBUG")
1552s parent_name = create_config.get(self.keymap.get("parent_name_hierarchy"))
1552s if not parent_name:
1552s self.msg = "No parent name found in configuration for '{0}'.".format(each_type)
1552s self.log(self.msg, "DEBUG")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s self.log("Checking if parent site '{0}' exists in the hierarchy.".format(parent_name), "DEBUG")
1552s
1552s site_exists = self.is_site_exist(parent_name)
1552s if not site_exists:
1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name)
1552s self.log(self.msg, "DEBUG")
1552s self.site_absent_list.append(str(parent_name) + " does not exist ")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s
1552s response = self.creating_bulk_site(self.handle_config[each_type])
1552s self.log("Response from creating_bulk_site for {}: {}".format(each_type, response), "DEBUG")
1552s
1552s if response and isinstance(response, dict) and "response" in response:
1552s task_id = response["response"].get("taskId")
1552s if task_id:
1552s self.log("Task Id for the 'site_creation' task is {}".format(task_id), "INFO")
1552s
1552s task_name = "create_sites"
1552s success_msg = "Site created successfully."
1552s self.get_task_status_from_tasks_by_id(task_id, task_name, success_msg)
1552s
1552s for site in self.handle_config[each_type]:
1552s if "name" in site:
1552s self.created_site_list.append(str(each_type) + ": " + str(site.get("name")))
1552s
1552s self.log("Site '{}' created successfully".format(self.created_site_list), "INFO")
1552s
1552s for site in self.handle_config[each_type]:
1552s if site.get("type") == "floor":
1552s floor_name = site.get("name")
1552s self.log("Floor '{}' has been created successfully.".format(floor_name), "INFO")
1552s
1552s upload_path = site.get("upload_floor_image_path", None)
1552s if upload_path:
1552s self.log("Upload path found for floor '{}'. Starting upload floor map from '{}.'".
1552s format(floor_name, upload_path), "INFO")
1552s
1552s map_details, map_status, success_message = self.upload_floor_image(site)
1552s if map_details:
1552s self.log("Floor map for '{}' uploaded successfully: {}".
1552s format(floor_name, success_message), "INFO")
1552s else:
1552s self.log("Floor map upload failed for '{}'. Please check the upload path and retry.".
1552s format(floor_name), "ERROR")
1552s else:
1552s self.log("No upload path provided for '{}'. Floor created without floor map.".
1552s format(floor_name), "INFO")
1552s else:
1552s self.log("No valid task ID received from the 'creating_bulk_site' response.", "WARNING")
1552s return None
1552s else:
1552s self.log("No response received from the 'creating_bulk_site' API call.", "WARNING")
1552s return None
1552s
1552s task_detail_list = []
1552s for each_config in self.have:
1552s site_name_hierarchy = each_config.get("site_name_hierarchy")
1552s
1552s if each_config.get("site_exists"):
1552s self.log("Processing site: {}".format(site_name_hierarchy), "DEBUG")
1552s payload_new = self.change_payload_data(each_config.get("want"))
1552s if payload_new.get("type") == "area":
1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy)
1552s self.log(self.msg, "INFO")
1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy)
1552s elif payload_new.get("type") in ("building", "floor"):
1552s site_params = each_config.get("site_params")
1552s site_params["site_id"] = each_config.get("site_id")
1552s site_type = site_params.get("type")
1552s
1552s if self.site_requires_update(each_config):
1552s self.log("Site requires update, starting update for type: {}".format(site_type), "DEBUG")
1552s response = (self.update_floor(site_params, payload_new) if site_type == "floor"
1552s else self.update_area(site_params) if site_type == "area"
1552s else self.update_building(site_params) if site_type == "building"
1552s else self.log("Unknown site type: {0}".format(site_type), "ERROR"))
1552s
1552s self.log("Received API response from 'update_site': {0}".
1552s format(str(response)), "DEBUG")
1552s
1552s if response and isinstance(response, dict):
1552s taskid = response["response"]["taskId"]
1552s
1552s while True:
1552s task_details = self.get_task_details(taskid)
1552s if site_type != "floor":
1552s if task_details.get("progress") == "Group is updated successfully":
1552s task_detail_list.append(task_details)
1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy)
1552s self.log("Site '{}' updated successfully.".format(site_name_hierarchy), "INFO")
1552s break
1552s else:
1552s if task_details.get("progress") == "Service domain is updated successfully.":
1552s task_detail_list.append(task_details)
1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy)
1552s break
1552s
1552s if task_details.get("bapiError"):
1552s msg = task_details.get("bapiError")
1552s self.set_operation_result("failed", False, msg, "ERROR",
1552s task_details).check_return_status()
1552s break
1552s else:
1552s self.msg = "Unable to execute the update the site: {0} ".format(site_name_hierarchy)
1552s self.log(self.msg, "INFO")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s else:
1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy)
1552s self.log(self.msg, "INFO")
1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy)
1552s except Exception as e:
1552s self.log("Yaml is not available for bulk: {}".format(str(e)), "ERROR")
1552s
1552s return self
1552s
1552s else:
1552s site_params = self.want.get("site_params")
1552s site_type = site_params.get("type")
1552s if self.have.get("site_exists"):
1552s site_name_hierarchy = self.want.get("site_name_hierarchy")
1552s if not self.site_requires_update():
1552s self.update_not_needed_sites.append(site_type + ": " + site_name_hierarchy)
1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy)
1552s self.log(self.msg, "INFO")
1552s else:
1552s try:
1552s site_params["site_id"] = self.have.get("site_id")
1552s self.log("Site parameters prepared for update: {}".format(site_params))
1552s self.log("Site update process started.", "INFO")
1552s
1552s if site_params['site'].get('building'):
1552s building_details = {}
1552s for key, value in site_params['site']['building'].items():
1552s if value is not None:
1552s building_details[key] = value
1552s
1552s site_params['site']['building'] = building_details
1552s
1552s response = self.dnac._exec(
1552s family="sites",
1552s function='update_site',
1552s op_modifies=True,
1552s params=site_params,
1552s )
1552s self.log("Received API response from 'update_site': {0}".format(str(response)), "DEBUG")
1552s
1552s if response and isinstance(response, dict):
1552s execution_id = response.get("executionId")
1552s while True:
1552s execution_details = self.get_execution_details(execution_id)
1552s if execution_details.get("status") == "SUCCESS":
1552s self.result['changed'] = True
1552s site_updated = True
1552s self.updated_site_list.append(str(site_type) + ": " + str(site_name_hierarchy))
1552s self.log("Site - {0} Updated Successfully".format(site_name_hierarchy), "INFO")
1552s break
1552s elif execution_details.get("bapiError"):
1552s self.msg = "Unable to Update: " + execution_details.get("bapiError")
1552s self.set_operation_result("failed", False, self.msg, "ERROR",
1552s execution_details).check_return_status()
1552s
1552s except Exception as e:
1552s self.msg = "Unexpected error occurred while update: {0}".format(str(e))
1552s self.log(self.msg, "ERROR")
1552s self.set_operation_result("failed", False, self.msg, "ERROR",
1552s site_name_hierarchy).check_return_status()
1552s
1552s else:
1552s try:
1552s try:
1552s if site_params['site'].get('building'):
1552s building_details = {}
1552s for key, value in site_params['site']['building'].items():
1552s if value is not None:
1552s building_details[key] = value
1552s
1552s site_params['site']['building'] = building_details
1552s
1552s except Exception as e:
1552s site_type = site_params['type']
1552s name = site_params['site'][site_type]['name']
1552s self.log("The site '{0}' is not categorized as a building; no need to filter 'None' values.".
1552s format(name), "INFO")
1552s
1552s site_type = site_params['type']
1552s parent_name = site_params.get('site').get(site_type).get('parentName')
1552s try:
1552s response = self.get_site_v1(parent_name)
1552s if not response:
1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name)
1552s self.log(self.msg, "DEBUG")
1552s self.site_absent_list.append(str(parent_name) + " does not exist ")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s except Exception as e:
1552s self.log("No response received from 'get_site_v1' API for site: {0}".format(parent_name + str(e)), "ERROR")
1552s
1552s > response = self.dnac._exec(
1552s family="sites",
1552s function='create_site',
1552s op_modifies=True,
1552s params=site_params,
1552s )
1552s
1552s plugins/modules/site_workflow_manager.py:1868:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s /usr/lib/python3.13/unittest/mock.py:1169: in __call__
1552s return self._mock_call(*args, **kwargs)
1552s /usr/lib/python3.13/unittest/mock.py:1173: in _mock_call
1552s return self._execute_mock_call(*args, **kwargs)
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s self = , args = ()
1552s kwargs = {'family': 'sites', 'function': 'create_site', 'op_modifies': True, 'params': {'site': {'area': {'name': 'japan8888', 'parentName': 'Global'}}, 'type': 'area'}}
1552s effect = , result = Exception()
1552s
1552s def _execute_mock_call(self, /, *args, **kwargs):
1552s # separate from _increment_mock_call so that awaited functions are
1552s # executed separately from their call, also AsyncMock overrides this method
1552s
1552s effect = self.side_effect
1552s if effect is not None:
1552s if _is_exception(effect):
1552s raise effect
1552s elif not _callable(effect):
1552s result = next(effect)
1552s if _is_exception(result):
1552s > raise result
1552s E Exception
1552s
1552s /usr/lib/python3.13/unittest/mock.py:1232: Exception
1552s
1552s During handling of the above exception, another exception occurred:
1552s
1552s self =
1552s
1552s def test_Site_workflow_manager_update_site(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.5.3",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_update_site
1552s )
1552s )
1552s > result = self.execute_module(changed=True, failed=False)
1552s
1552s tests/unit/modules/dnac/test_site_workflow_manager.py:559:
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s tests/unit/modules/dnac/dnac_module.py:110: in execute_module
1552s result = self.changed(changed)
1552s tests/unit/modules/dnac/dnac_module.py:133: in changed
1552s self.module.main()
1552s plugins/modules/site_workflow_manager.py:2539: in main
1552s ccc_site.get_diff_state_apply[state](config).check_return_status()
1552s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1552s
1552s def get_diff_merged(self, config):
1552s """
1552s Update/Create site information in Cisco Catalyst Center with fields
1552s provided in the playbook.
1552s Parameters:
1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1552s config (dict): A dictionary containing configuration information.
1552s Returns:
1552s self (object): An instance of a class used for interacting with Cisco Catalyst Center.
1552s Description:
1552s This method determines whether to update or create a site in Cisco Catalyst Center based on the provided
1552s configuration information. If the specified site exists, the method checks if it requires an update
1552s by calling the 'site_requires_update' method. If an update is required, it calls the 'update_site'
1552s function from the 'sites' family of the Cisco Catalyst Center API. If the site does not require an update,
1552s the method exits, indicating that the site is up to date.
1552s """
1552s site_updated = False
1552s site_created = False
1552s
1552s if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.6") >= 0:
1552s self.handle_config['area'] = []
1552s self.handle_config['building'] = []
1552s self.handle_config['floor'] = []
1552s try:
1552s create_site = copy.deepcopy(self.handle_config["create_site"])
1552s if len(create_site) > 0:
1552s self.log("Starting site creation process.", "DEBUG")
1552s for each_config in create_site:
1552s payload_data = self.change_payload_data(each_config.get("want"))
1552s if payload_data:
1552s payload_data[self.keymap["parent_name_hierarchy"]] =\
1552s payload_data.get(self.keymap["parent_name"])
1552s del payload_data[self.keymap["parent_name"]]
1552s self.log("Payload data prepared for site creation: {}".format(payload_data), "DEBUG")
1552s
1552s if payload_data.get("type") == "area":
1552s self.handle_config["area"].append(payload_data)
1552s self.log("Added to area: {}".format(payload_data), "DEBUG")
1552s elif payload_data.get("type") == "building":
1552s self.handle_config["building"].append(payload_data)
1552s self.log("Added to building: {}".format(payload_data), "DEBUG")
1552s elif payload_data.get("type") == "floor":
1552s self.handle_config["floor"].append(payload_data)
1552s self.log("Added to floor: {}".format(payload_data), "DEBUG")
1552s for each_type in ("area", "building", "floor"):
1552s if self.handle_config[each_type]:
1552s self.log("Processing configurations for '{0}'.".format(each_type), "DEBUG")
1552s for create_config in self.handle_config[each_type]:
1552s self.log("Handling configuration: {0}".format(create_config), "DEBUG")
1552s parent_name = create_config.get(self.keymap.get("parent_name_hierarchy"))
1552s if not parent_name:
1552s self.msg = "No parent name found in configuration for '{0}'.".format(each_type)
1552s self.log(self.msg, "DEBUG")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s self.log("Checking if parent site '{0}' exists in the hierarchy.".format(parent_name), "DEBUG")
1552s
1552s site_exists = self.is_site_exist(parent_name)
1552s if not site_exists:
1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name)
1552s self.log(self.msg, "DEBUG")
1552s self.site_absent_list.append(str(parent_name) + " does not exist ")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s
1552s response = self.creating_bulk_site(self.handle_config[each_type])
1552s self.log("Response from creating_bulk_site for {}: {}".format(each_type, response), "DEBUG")
1552s
1552s if response and isinstance(response, dict) and "response" in response:
1552s task_id = response["response"].get("taskId")
1552s if task_id:
1552s self.log("Task Id for the 'site_creation' task is {}".format(task_id), "INFO")
1552s
1552s task_name = "create_sites"
1552s success_msg = "Site created successfully."
1552s self.get_task_status_from_tasks_by_id(task_id, task_name, success_msg)
1552s
1552s for site in self.handle_config[each_type]:
1552s if "name" in site:
1552s self.created_site_list.append(str(each_type) + ": " + str(site.get("name")))
1552s
1552s self.log("Site '{}' created successfully".format(self.created_site_list), "INFO")
1552s
1552s for site in self.handle_config[each_type]:
1552s if site.get("type") == "floor":
1552s floor_name = site.get("name")
1552s self.log("Floor '{}' has been created successfully.".format(floor_name), "INFO")
1552s
1552s upload_path = site.get("upload_floor_image_path", None)
1552s if upload_path:
1552s self.log("Upload path found for floor '{}'. Starting upload floor map from '{}.'".
1552s format(floor_name, upload_path), "INFO")
1552s
1552s map_details, map_status, success_message = self.upload_floor_image(site)
1552s if map_details:
1552s self.log("Floor map for '{}' uploaded successfully: {}".
1552s format(floor_name, success_message), "INFO")
1552s else:
1552s self.log("Floor map upload failed for '{}'. Please check the upload path and retry.".
1552s format(floor_name), "ERROR")
1552s else:
1552s self.log("No upload path provided for '{}'. Floor created without floor map.".
1552s format(floor_name), "INFO")
1552s else:
1552s self.log("No valid task ID received from the 'creating_bulk_site' response.", "WARNING")
1552s return None
1552s else:
1552s self.log("No response received from the 'creating_bulk_site' API call.", "WARNING")
1552s return None
1552s
1552s task_detail_list = []
1552s for each_config in self.have:
1552s site_name_hierarchy = each_config.get("site_name_hierarchy")
1552s
1552s if each_config.get("site_exists"):
1552s self.log("Processing site: {}".format(site_name_hierarchy), "DEBUG")
1552s payload_new = self.change_payload_data(each_config.get("want"))
1552s if payload_new.get("type") == "area":
1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy)
1552s self.log(self.msg, "INFO")
1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy)
1552s elif payload_new.get("type") in ("building", "floor"):
1552s site_params = each_config.get("site_params")
1552s site_params["site_id"] = each_config.get("site_id")
1552s site_type = site_params.get("type")
1552s
1552s if self.site_requires_update(each_config):
1552s self.log("Site requires update, starting update for type: {}".format(site_type), "DEBUG")
1552s response = (self.update_floor(site_params, payload_new) if site_type == "floor"
1552s else self.update_area(site_params) if site_type == "area"
1552s else self.update_building(site_params) if site_type == "building"
1552s else self.log("Unknown site type: {0}".format(site_type), "ERROR"))
1552s
1552s self.log("Received API response from 'update_site': {0}".
1552s format(str(response)), "DEBUG")
1552s
1552s if response and isinstance(response, dict):
1552s taskid = response["response"]["taskId"]
1552s
1552s while True:
1552s task_details = self.get_task_details(taskid)
1552s if site_type != "floor":
1552s if task_details.get("progress") == "Group is updated successfully":
1552s task_detail_list.append(task_details)
1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy)
1552s self.log("Site '{}' updated successfully.".format(site_name_hierarchy), "INFO")
1552s break
1552s else:
1552s if task_details.get("progress") == "Service domain is updated successfully.":
1552s task_detail_list.append(task_details)
1552s self.updated_site_list.append(site_type + ": " + site_name_hierarchy)
1552s break
1552s
1552s if task_details.get("bapiError"):
1552s msg = task_details.get("bapiError")
1552s self.set_operation_result("failed", False, msg, "ERROR",
1552s task_details).check_return_status()
1552s break
1552s else:
1552s self.msg = "Unable to execute the update the site: {0} ".format(site_name_hierarchy)
1552s self.log(self.msg, "INFO")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s else:
1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy)
1552s self.log(self.msg, "INFO")
1552s self.update_not_needed_sites.append(payload_new.get("type") + ": " + site_name_hierarchy)
1552s except Exception as e:
1552s self.log("Yaml is not available for bulk: {}".format(str(e)), "ERROR")
1552s
1552s return self
1552s
1552s else:
1552s site_params = self.want.get("site_params")
1552s site_type = site_params.get("type")
1552s if self.have.get("site_exists"):
1552s site_name_hierarchy = self.want.get("site_name_hierarchy")
1552s if not self.site_requires_update():
1552s self.update_not_needed_sites.append(site_type + ": " + site_name_hierarchy)
1552s self.msg = "Site - {0} does not need any update".format(site_name_hierarchy)
1552s self.log(self.msg, "INFO")
1552s else:
1552s try:
1552s site_params["site_id"] = self.have.get("site_id")
1552s self.log("Site parameters prepared for update: {}".format(site_params))
1552s self.log("Site update process started.", "INFO")
1552s
1552s if site_params['site'].get('building'):
1552s building_details = {}
1552s for key, value in site_params['site']['building'].items():
1552s if value is not None:
1552s building_details[key] = value
1552s
1552s site_params['site']['building'] = building_details
1552s
1552s response = self.dnac._exec(
1552s family="sites",
1552s function='update_site',
1552s op_modifies=True,
1552s params=site_params,
1552s )
1552s self.log("Received API response from 'update_site': {0}".format(str(response)), "DEBUG")
1552s
1552s if response and isinstance(response, dict):
1552s execution_id = response.get("executionId")
1552s while True:
1552s execution_details = self.get_execution_details(execution_id)
1552s if execution_details.get("status") == "SUCCESS":
1552s self.result['changed'] = True
1552s site_updated = True
1552s self.updated_site_list.append(str(site_type) + ": " + str(site_name_hierarchy))
1552s self.log("Site - {0} Updated Successfully".format(site_name_hierarchy), "INFO")
1552s break
1552s elif execution_details.get("bapiError"):
1552s self.msg = "Unable to Update: " + execution_details.get("bapiError")
1552s self.set_operation_result("failed", False, self.msg, "ERROR",
1552s execution_details).check_return_status()
1552s
1552s except Exception as e:
1552s self.msg = "Unexpected error occurred while update: {0}".format(str(e))
1552s self.log(self.msg, "ERROR")
1552s self.set_operation_result("failed", False, self.msg, "ERROR",
1552s site_name_hierarchy).check_return_status()
1552s
1552s else:
1552s try:
1552s try:
1552s if site_params['site'].get('building'):
1552s building_details = {}
1552s for key, value in site_params['site']['building'].items():
1552s if value is not None:
1552s building_details[key] = value
1552s
1552s site_params['site']['building'] = building_details
1552s
1552s except Exception as e:
1552s site_type = site_params['type']
1552s name = site_params['site'][site_type]['name']
1552s self.log("The site '{0}' is not categorized as a building; no need to filter 'None' values.".
1552s format(name), "INFO")
1552s
1552s site_type = site_params['type']
1552s parent_name = site_params.get('site').get(site_type).get('parentName')
1552s try:
1552s response = self.get_site_v1(parent_name)
1552s if not response:
1552s self.msg = "Parent name '{0}' does not exist in the Cisco Catalyst Center.".format(parent_name)
1552s self.log(self.msg, "DEBUG")
1552s self.site_absent_list.append(str(parent_name) + " does not exist ")
1552s self.set_operation_result("failed", False, self.msg, "ERROR").check_return_status()
1552s except Exception as e:
1552s self.log("No response received from 'get_site_v1' API for site: {0}".format(parent_name + str(e)), "ERROR")
1552s
1552s response = self.dnac._exec(
1552s family="sites",
1552s function='create_site',
1552s op_modifies=True,
1552s params=site_params,
1552s )
1552s self.log("Received API response from 'create_site': {0}".format(str(response)), "DEBUG")
1552s
1552s if response and isinstance(response, dict):
1552s executionid = response.get("executionId")
1552s while True:
1552s execution_details = self.get_execution_details(executionid)
1552s if execution_details.get("status") == "SUCCESS":
1552s self.result['changed'] = True
1552s break
1552s elif execution_details.get("bapiError"):
1552s self.msg = "Unable to Create: " + str(execution_details.get("bapiError"))
1552s self.set_operation_result("failed", False, self.msg, "ERROR",
1552s execution_details).check_return_status()
1552s break
1552s
1552s site_exists, current_site = self.site_exists()
1552s if site_exists:
1552s site_name_hierarchy = self.want.get("site_name_hierarchy")
1552s self.created_site_list.append(str(site_type) + ": " + str(site_name_hierarchy))
1552s self.log("Site '{0}' created successfully".format(site_name_hierarchy), "INFO")
1552s return self
1552s
1552s except Exception as e:
1552s self.msg = "Unexpected error occurred while create: {0}".format(str(e))
1552s self.log(self.msg, "ERROR")
1552s self.set_operation_result("failed", False, self.msg, "ERROR",
1552s > site_name_hierarchy).check_return_status()
1552s E UnboundLocalError: cannot access local variable 'site_name_hierarchy' where it is not associated with a value
1552s
1552s plugins/modules/site_workflow_manager.py:1900: UnboundLocalError
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Site: get_site_v1: 619: An error occurred in 'get_sites':
1552s
1552s ERROR logger:dnac.py:294 Site: site_exists: 676: No response received from 'get_site' API for site: Global/japan8888
1552s
1552s ERROR logger:dnac.py:294 Site: get_diff_merged: 1898: Unexpected error occurred while create:
1552s ___ TestDnacSiteWorkflow.test_Site_workflow_manager_create_site_bulk_invalid ___
1552s [gw0] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =
1552s
1552s def test_Site_workflow_manager_create_site_bulk_invalid(self):
1552s """
1552s Test case for site workflow manager when creating a site.
1552s
1552s This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC.
1552s """
1552s set_module_args(
1552s dict(
1552s dnac_host="1.1.1.1",
1552s dnac_username="dummy",
1552s dnac_password="dummy",
1552s dnac_version="2.3.7.6",
1552s dnac_log=True,
1552s state="merged",
1552s config=self.playbook_config_site
1552s )
1552s )
1552s result = self.execute_module(changed=False, failed=True)
1552s > self.assertEqual(
1552s result.get('msg'),
1552s "An error occurred while executing GET API call to Function: 'get_sites' "
1552s "from Family: 'site_design'. "
1552s "Parameters: {'name_hierarchy': 'Global/japan8888'}. "
1552s "Exception: ."
1552s )
1552s E AssertionError: "An e[106 chars]: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: ." != "An e[106 chars]: {'name_hierarchy': 'Global/japan8888'}. Exception: ."
1552s E - An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: .
1552s E ? --------
1552s E + An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888'}. Exception: .
1552s
1552s tests/unit/modules/dnac/test_site_workflow_manager.py:416: AssertionError
1552s ------------------------------ Captured log call -------------------------------
1552s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888'}. Exception: .
1552s
1552s WARNING logger:dnac.py:294 Site: get_have: 1072: Error fetching site for name 'Global/japan8888': {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888'}. Exception: .", 'failed': True}
1552s
1552s ERROR logger:dnac.py:294 Site: set_operation_result: 1780: An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: .
1552s
1552s WARNING logger:dnac.py:294 Site: get_have: 1072: Error fetching site for name 'Global/japan8888/blossom': {'msg': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: .", 'response': "An error occurred while executing GET API call to Function: 'get_sites' from Family: 'site_design'. Parameters: {'name_hierarchy': 'Global/japan8888/blossom'}. Exception: .", 'failed': True}
1552s
1552s WARNING logger:dnac.py:294 Site: execute_get_request: 1857: No response received from GET API call to Function: 'get_sites' from Family: 'site_design'.
1552s
1552s ERROR logger:dnac.py:294 Site: get_have: 1037: Unexpected response received:
1552s _______ TestDnacSiteWorkflow.test_Site_workflow_manager_upload_floor_map _______
1552s [gw1] linux -- Python 3.13.3 /usr/bin/python3
1552s
1552s self =