osism 0.20250621.0__tar.gz → 0.20250627.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- osism-0.20250627.0/ChangeLog +7 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/Containerfile +1 -1
- {osism-0.20250621.0 → osism-0.20250627.0}/Dockerfile +1 -1
- {osism-0.20250621.0/osism.egg-info → osism-0.20250627.0}/PKG-INFO +3 -3
- {osism-0.20250621.0 → osism-0.20250627.0}/Pipfile +1 -1
- {osism-0.20250621.0 → osism-0.20250627.0}/Pipfile.lock +58 -151
- {osism-0.20250621.0 → osism-0.20250627.0}/files/sonic/config_db.json +6 -0
- osism-0.20250627.0/files/sonic/port_config/Accton-AS4625-54T.ini +55 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/api.py +49 -5
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/manage.py +251 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/reconciler.py +8 -1
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/ironic.py +15 -17
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/sonic/config_generator.py +133 -41
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/sonic/constants.py +1 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/sonic/interface.py +167 -16
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/sonic/sync.py +26 -1
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/reconciler.py +12 -2
- {osism-0.20250621.0 → osism-0.20250627.0/osism.egg-info}/PKG-INFO +3 -3
- {osism-0.20250621.0 → osism-0.20250627.0}/osism.egg-info/SOURCES.txt +1 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism.egg-info/entry_points.txt +1 -2
- osism-0.20250627.0/osism.egg-info/pbr.json +1 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism.egg-info/requires.txt +2 -2
- osism-0.20250627.0/requirements.netbox-manager.txt +1 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/requirements.txt +2 -2
- {osism-0.20250621.0 → osism-0.20250627.0}/setup.cfg +1 -2
- osism-0.20250621.0/ChangeLog +0 -7
- osism-0.20250621.0/osism.egg-info/pbr.json +0 -1
- osism-0.20250621.0/requirements.netbox-manager.txt +0 -1
- {osism-0.20250621.0 → osism-0.20250627.0}/.flake8 +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/.github/renovate.json +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/.github/workflows/publish.yml +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/.hadolint.yaml +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/.zuul.yaml +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/AUTHORS +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/LICENSE +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/README.md +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/change.sh +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/cleanup-ansible-collections.sh +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/clustershell/clush.conf +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/clustershell/groups.conf +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/data/SCS-Spec.MandatoryFlavors.verbose.yaml +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/netbox-manager/settings.toml +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/run-ansible-console.sh +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/sonic/port_config/Accton-AS5835-54T.ini +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/sonic/port_config/Accton-AS5835-54X.ini +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/sonic/port_config/Accton-AS7326-56X.ini +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/sonic/port_config/Accton-AS7726-32X.ini +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/files/sonic/port_config/Accton-AS9716-32D.ini +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/__init__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/__main__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/actions/__init__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/__init__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/apply.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/baremetal.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/compose.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/compute.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/configuration.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/console.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/container.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/get.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/log.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/netbox.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/noset.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/server.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/service.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/set.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/status.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/sync.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/task.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/validate.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/vault.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/volume.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/wait.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/commands/worker.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/core/__init__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/core/enums.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/core/playbooks.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/data/__init__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/main.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/plugins/__init__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/services/__init__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/services/listener.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/settings.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/__init__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/ansible.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/ceph.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/__init__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/config.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/netbox.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/sonic/__init__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/sonic/bgp.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/sonic/cache.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/sonic/connections.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/sonic/device.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/sonic/exporter.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor/utils.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/conductor.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/kolla.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/kubernetes.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/netbox.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/tasks/openstack.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism/utils/__init__.py +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism.egg-info/dependency_links.txt +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism.egg-info/not-zip-safe +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/osism.egg-info/top_level.txt +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/playbooks/build.yml +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/playbooks/pre.yml +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/playbooks/test-setup.yml +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/requirements.ansible.txt +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/requirements.openstack-flavor-manager.txt +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/requirements.openstack-image-manager.txt +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/requirements.yml +0 -0
- {osism-0.20250621.0 → osism-0.20250627.0}/setup.py +0 -0
@@ -7,7 +7,7 @@ FROM ${IMAGE}:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
|
|
7
7
|
ENV PYTHONWARNINGS="ignore::UserWarning"
|
8
8
|
|
9
9
|
COPY . /src
|
10
|
-
COPY --from=ghcr.io/astral-sh/uv:0.7.
|
10
|
+
COPY --from=ghcr.io/astral-sh/uv:0.7.15 /uv /usr/local/bin/uv
|
11
11
|
|
12
12
|
COPY files/data /data
|
13
13
|
COPY files/change.sh /change.sh
|
@@ -7,7 +7,7 @@ FROM ${IMAGE}:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
|
|
7
7
|
ENV PYTHONWARNINGS="ignore::UserWarning"
|
8
8
|
|
9
9
|
COPY . /src
|
10
|
-
COPY --from=ghcr.io/astral-sh/uv:0.7.
|
10
|
+
COPY --from=ghcr.io/astral-sh/uv:0.7.15 /uv /usr/local/bin/uv
|
11
11
|
|
12
12
|
COPY files/data /data
|
13
13
|
COPY files/change.sh /change.sh
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: osism
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.20250627.0
|
4
4
|
Summary: OSISM manager interface
|
5
5
|
Home-page: https://github.com/osism/python-osism
|
6
6
|
Author: OSISM GmbH
|
@@ -31,7 +31,7 @@ Requires-Dist: cliff==4.10.0
|
|
31
31
|
Requires-Dist: deepdiff==8.5.0
|
32
32
|
Requires-Dist: docker==7.1.0
|
33
33
|
Requires-Dist: dtrack-auditor==1.5.0
|
34
|
-
Requires-Dist: fastapi==0.115.
|
34
|
+
Requires-Dist: fastapi==0.115.14
|
35
35
|
Requires-Dist: flower==2.0.1
|
36
36
|
Requires-Dist: hiredis==3.2.1
|
37
37
|
Requires-Dist: jc==1.25.5
|
@@ -40,8 +40,8 @@ Requires-Dist: kombu==5.5.4
|
|
40
40
|
Requires-Dist: kubernetes==33.1.0
|
41
41
|
Requires-Dist: loguru==0.7.3
|
42
42
|
Requires-Dist: nbcli==0.10.0.dev2
|
43
|
-
Requires-Dist: netmiko==4.5.0
|
44
43
|
Requires-Dist: openstacksdk==4.6.0
|
44
|
+
Requires-Dist: paramiko==3.5.1
|
45
45
|
Requires-Dist: pottery==3.0.1
|
46
46
|
Requires-Dist: prompt-toolkit==3.0.51
|
47
47
|
Requires-Dist: pynetbox==7.5.0
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"_meta": {
|
3
3
|
"hash": {
|
4
|
-
"sha256": "
|
4
|
+
"sha256": "e43533c2a1b4d5822ad125c9911000317264ecc9c79919413c6da4adcc3b4e48"
|
5
5
|
},
|
6
6
|
"pipfile-spec": 6,
|
7
7
|
"requires": {},
|
@@ -142,11 +142,11 @@
|
|
142
142
|
},
|
143
143
|
"certifi": {
|
144
144
|
"hashes": [
|
145
|
-
"sha256:
|
146
|
-
"sha256:
|
145
|
+
"sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057",
|
146
|
+
"sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b"
|
147
147
|
],
|
148
|
-
"markers": "python_version >= '3.
|
149
|
-
"version": "==2025.
|
148
|
+
"markers": "python_version >= '3.7'",
|
149
|
+
"version": "==2025.6.15"
|
150
150
|
},
|
151
151
|
"cffi": {
|
152
152
|
"hashes": [
|
@@ -476,14 +476,6 @@
|
|
476
476
|
"markers": "python_version >= '3.7'",
|
477
477
|
"version": "==2.0.1"
|
478
478
|
},
|
479
|
-
"future": {
|
480
|
-
"hashes": [
|
481
|
-
"sha256:929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216",
|
482
|
-
"sha256:bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05"
|
483
|
-
],
|
484
|
-
"markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'",
|
485
|
-
"version": "==1.0.0"
|
486
|
-
},
|
487
479
|
"gitdb": {
|
488
480
|
"hashes": [
|
489
481
|
"sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571",
|
@@ -501,6 +493,42 @@
|
|
501
493
|
"markers": "python_version >= '3.7'",
|
502
494
|
"version": "==3.1.44"
|
503
495
|
},
|
496
|
+
"gnureadline": {
|
497
|
+
"hashes": [
|
498
|
+
"sha256:07231f8191adb7f204010a86a91df9df9a80944981a16576a471f59304ad6a16",
|
499
|
+
"sha256:0ca03501ce0939d7ecf9d075860d6f6ceb2f49f30331b4e96e4678ce03687bab",
|
500
|
+
"sha256:0cc77fc9c8a8fcf10e0a554e49ee763219683386b8f906b7e6ef07c9e40e8420",
|
501
|
+
"sha256:10fcaf561bc4ed6ab7075ab3ead188a18faaf4e6e92d916f81a09c0a670ce906",
|
502
|
+
"sha256:23b43c8e9e2e6566cb3094749826181a86dba1d94b1e023b5f9923dc26e37876",
|
503
|
+
"sha256:265bcf6ef7082e130160fb34b9664284affb216a22c5bffcd518b35d02bcc4e9",
|
504
|
+
"sha256:2d3e33d2e0dd694d623a2ca1fae6990b52f1d25955504b7293a9350fb9912940",
|
505
|
+
"sha256:30cc1b6cb11d94554815cb91eb1dfa6a11887185aae50f253adaa393e91c6a86",
|
506
|
+
"sha256:3f1050ecf789f34d0ab0aacdb605f177725009a864e0038e70380614af92dc0d",
|
507
|
+
"sha256:4f57a3aa97c3379b2513c8bfbac0de2dfb41f695623c0b2ad337babb646b51a7",
|
508
|
+
"sha256:4f5fc90af56a1ae6f88c9c7122fc76141c395b6c342a63800abed8c813f48b85",
|
509
|
+
"sha256:50c40bfffffa82d4fcb0fde4940d4ff128ba2f876c1da09bae9d6d9ff770095e",
|
510
|
+
"sha256:561a60b12f74ea7234036cc4fe558f3b46023be0dac5ed73541ece58cba2f88a",
|
511
|
+
"sha256:576dac060887adc6067ee9d23fb2f0031fb2b3e560e07a6c9e666e05f0473af7",
|
512
|
+
"sha256:59c5505026646da6d5ced6a5316d6d191d011e8be422cba4abce71730ef37dc6",
|
513
|
+
"sha256:6472e3a780087eecd67c03e5455aecb209de51bcae74583222976f6b816f6192",
|
514
|
+
"sha256:6c550d08c4d2882a83293a724b14a262ee5078fd4fa7acdc78aa59cab26ae343",
|
515
|
+
"sha256:811d85a70ac97cddeb1755282915e8a93c279dcf89513426f28617b8feff5aec",
|
516
|
+
"sha256:85e362d2d0e85e45f0affae7bbfaf998b00167c55a78d31ee0f214de9ff429d2",
|
517
|
+
"sha256:94b143ea5d22b0c1ca4a591265afe135272c69b7757e968e34fbb47a7858d1ce",
|
518
|
+
"sha256:9c152a82613fa012ab4331bb9a0ffddb415e37561d376b910bf9e7d535607faf",
|
519
|
+
"sha256:a7d6e3f5d9fd0cf8a84fb382d4e3ad2914331be4d929f17d50da01f1571c4b03",
|
520
|
+
"sha256:b69e6608cc94e110018b721a11718d480a6330e0b62cbab65a22880e84011205",
|
521
|
+
"sha256:c28e33bfc56d4204693f213abeab927f65c505ce91f668a039720bc7c46b0353",
|
522
|
+
"sha256:c7b8d3f2a2c9b7e6feaf1f20bdb6ebb8210e207b8c5360ffe407a47efeeb3fb8",
|
523
|
+
"sha256:c9b9e1e7ba99a80bb50c12027d6ce692574f77a65bf57bc97041cf81c0f49bd1",
|
524
|
+
"sha256:d708e8f655d3b556a138f13e9fcb2d8a10a6901e3125c04cad5ef7c883191fe8",
|
525
|
+
"sha256:daa405028b9fe92bfbb93624e13e0674a242a1c5434b70ef61a04294502fdb65",
|
526
|
+
"sha256:dcfa601d95c00aa670ec5e4bf791caf6ba0bcf266de940fb54d44c278bd302fe",
|
527
|
+
"sha256:f59275168cae1b02ca1ec7586a9804bb04ce427df92f8582a80d16e96c846b78"
|
528
|
+
],
|
529
|
+
"markers": "platform_system == 'Darwin'",
|
530
|
+
"version": "==8.2.13"
|
531
|
+
},
|
504
532
|
"google-auth": {
|
505
533
|
"hashes": [
|
506
534
|
"sha256:1370d4593e86213563547f97a92752fc658456fe4514c809544f330fed45a7ca",
|
@@ -509,66 +537,6 @@
|
|
509
537
|
"markers": "python_version >= '3.7'",
|
510
538
|
"version": "==2.40.3"
|
511
539
|
},
|
512
|
-
"greenlet": {
|
513
|
-
"hashes": [
|
514
|
-
"sha256:003c930e0e074db83559edc8705f3a2d066d4aa8c2f198aff1e454946efd0f26",
|
515
|
-
"sha256:024571bbce5f2c1cfff08bf3fbaa43bbc7444f580ae13b0099e95d0e6e67ed36",
|
516
|
-
"sha256:02b0df6f63cd15012bed5401b47829cfd2e97052dc89da3cfaf2c779124eb892",
|
517
|
-
"sha256:0921ac4ea42a5315d3446120ad48f90c3a6b9bb93dd9b3cf4e4d84a66e42de83",
|
518
|
-
"sha256:0cc73378150b8b78b0c9fe2ce56e166695e67478550769536a6742dca3651688",
|
519
|
-
"sha256:1afd685acd5597349ee6d7a88a8bec83ce13c106ac78c196ee9dde7c04fe87be",
|
520
|
-
"sha256:22eb5ba839c4b2156f18f76768233fe44b23a31decd9cc0d4cc8141c211fd1b4",
|
521
|
-
"sha256:25ad29caed5783d4bd7a85c9251c651696164622494c00802a139c00d639242d",
|
522
|
-
"sha256:29e184536ba333003540790ba29829ac14bb645514fbd7e32af331e8202a62a5",
|
523
|
-
"sha256:2c724620a101f8170065d7dded3f962a2aea7a7dae133a009cada42847e04a7b",
|
524
|
-
"sha256:2d8aa5423cd4a396792f6d4580f88bdc6efcb9205891c9d40d20f6e670992efb",
|
525
|
-
"sha256:3d04332dddb10b4a211b68111dabaee2e1a073663d117dc10247b5b1642bac86",
|
526
|
-
"sha256:419e60f80709510c343c57b4bb5a339d8767bf9aef9b8ce43f4f143240f88b7c",
|
527
|
-
"sha256:42efc522c0bd75ffa11a71e09cd8a399d83fafe36db250a87cf1dacfaa15dc64",
|
528
|
-
"sha256:4532f0d25df67f896d137431b13f4cdce89f7e3d4a96387a41290910df4d3a57",
|
529
|
-
"sha256:49c8cfb18fb419b3d08e011228ef8a25882397f3a859b9fe1436946140b6756b",
|
530
|
-
"sha256:500b8689aa9dd1ab26872a34084503aeddefcb438e2e7317b89b11eaea1901ad",
|
531
|
-
"sha256:5035d77a27b7c62db6cf41cf786cfe2242644a7a337a0e155c80960598baab95",
|
532
|
-
"sha256:5195fb1e75e592dd04ce79881c8a22becdfa3e6f500e7feb059b1e6fdd54d3e3",
|
533
|
-
"sha256:592c12fb1165be74592f5de0d70f82bc5ba552ac44800d632214b76089945147",
|
534
|
-
"sha256:68671180e3849b963649254a882cd544a3c75bfcd2c527346ad8bb53494444db",
|
535
|
-
"sha256:706d016a03e78df129f68c4c9b4c4f963f7d73534e48a24f5f5a7101ed13dbbb",
|
536
|
-
"sha256:72e77ed69312bab0434d7292316d5afd6896192ac4327d44f3d613ecb85b037c",
|
537
|
-
"sha256:731e154aba8e757aedd0781d4b240f1225b075b4409f1bb83b05ff410582cf00",
|
538
|
-
"sha256:7454d37c740bb27bdeddfc3f358f26956a07d5220818ceb467a483197d84f849",
|
539
|
-
"sha256:751261fc5ad7b6705f5f76726567375bb2104a059454e0226e1eef6c756748ba",
|
540
|
-
"sha256:761917cac215c61e9dc7324b2606107b3b292a8349bdebb31503ab4de3f559ac",
|
541
|
-
"sha256:784ae58bba89fa1fa5733d170d42486580cab9decda3484779f4759345b29822",
|
542
|
-
"sha256:7e70ea4384b81ef9e84192e8a77fb87573138aa5d4feee541d8014e452b434da",
|
543
|
-
"sha256:8186162dffde068a465deab08fc72c767196895c39db26ab1c17c0b77a6d8b97",
|
544
|
-
"sha256:8324319cbd7b35b97990090808fdc99c27fe5338f87db50514959f8059999805",
|
545
|
-
"sha256:83a8761c75312361aa2b5b903b79da97f13f556164a7dd2d5448655425bd4c34",
|
546
|
-
"sha256:86c2d68e87107c1792e2e8d5399acec2487a4e993ab76c792408e59394d52141",
|
547
|
-
"sha256:8704b3768d2f51150626962f4b9a9e4a17d2e37c8a8d9867bbd9fa4eb938d3b3",
|
548
|
-
"sha256:873abe55f134c48e1f2a6f53f7d1419192a3d1a4e873bace00499a4e45ea6af0",
|
549
|
-
"sha256:88cd97bf37fe24a6710ec6a3a7799f3f81d9cd33317dcf565ff9950c83f55e0b",
|
550
|
-
"sha256:8b0dd8ae4c0d6f5e54ee55ba935eeb3d735a9b58a8a1e5b5cbab64e01a39f365",
|
551
|
-
"sha256:8c37ef5b3787567d322331d5250e44e42b58c8c713859b8a04c6065f27efbf72",
|
552
|
-
"sha256:8c47aae8fbbfcf82cc13327ae802ba13c9c36753b67e760023fd116bc124a62a",
|
553
|
-
"sha256:93c0bb79844a367782ec4f429d07589417052e621aa39a5ac1fb99c5aa308edc",
|
554
|
-
"sha256:93d48533fade144203816783373f27a97e4193177ebaaf0fc396db19e5d61163",
|
555
|
-
"sha256:96c20252c2f792defe9a115d3287e14811036d51e78b3aaddbee23b69b216302",
|
556
|
-
"sha256:a07d3472c2a93117af3b0136f246b2833fdc0b542d4a9799ae5f41c28323faef",
|
557
|
-
"sha256:a433dbc54e4a37e4fff90ef34f25a8c00aed99b06856f0119dcf09fbafa16392",
|
558
|
-
"sha256:aaa7aae1e7f75eaa3ae400ad98f8644bb81e1dc6ba47ce8a93d3f17274e08322",
|
559
|
-
"sha256:baeedccca94880d2f5666b4fa16fc20ef50ba1ee353ee2d7092b383a243b0b0d",
|
560
|
-
"sha256:be52af4b6292baecfa0f397f3edb3c6092ce071b499dd6fe292c9ac9f2c8f264",
|
561
|
-
"sha256:c667c0bf9d406b77a15c924ef3285e1e05250948001220368e039b6aa5b5034b",
|
562
|
-
"sha256:ce539fb52fb774d0802175d37fcff5c723e2c7d249c65916257f0a940cee8904",
|
563
|
-
"sha256:d2971d93bb99e05f8c2c0c2f4aa9484a18d98c4c3bd3c62b65b7e6ae33dfcfaf",
|
564
|
-
"sha256:d760f9bdfe79bff803bad32b4d8ffb2c1d2ce906313fc10a83976ffb73d64ca7",
|
565
|
-
"sha256:ed6cfa9200484d234d8394c70f5492f144b20d4533f69262d530a1a082f6ee9a",
|
566
|
-
"sha256:efc6dc8a792243c31f2f5674b670b3a95d46fa1c6a912b8e310d6f542e7b0712",
|
567
|
-
"sha256:f4bfbaa6096b1b7a200024784217defedf46a07c2eee1a498e94a1b5f8ec5728"
|
568
|
-
],
|
569
|
-
"markers": "python_version >= '3.9'",
|
570
|
-
"version": "==3.2.3"
|
571
|
-
},
|
572
540
|
"hiredis": {
|
573
541
|
"hashes": [
|
574
542
|
"sha256:0079ef1e03930b364556b78548e67236ab3def4e07e674f6adfc52944aa972dd",
|
@@ -812,14 +780,6 @@
|
|
812
780
|
"markers": "python_version >= '3.5' and python_version < '4.0'",
|
813
781
|
"version": "==0.7.3"
|
814
782
|
},
|
815
|
-
"markdown-it-py": {
|
816
|
-
"hashes": [
|
817
|
-
"sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1",
|
818
|
-
"sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"
|
819
|
-
],
|
820
|
-
"markers": "python_version >= '3.8'",
|
821
|
-
"version": "==3.0.0"
|
822
|
-
},
|
823
783
|
"markupsafe": {
|
824
784
|
"hashes": [
|
825
785
|
"sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4",
|
@@ -887,14 +847,6 @@
|
|
887
847
|
"markers": "python_version >= '3.9'",
|
888
848
|
"version": "==3.0.2"
|
889
849
|
},
|
890
|
-
"mdurl": {
|
891
|
-
"hashes": [
|
892
|
-
"sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8",
|
893
|
-
"sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"
|
894
|
-
],
|
895
|
-
"markers": "python_version >= '3.7'",
|
896
|
-
"version": "==0.1.2"
|
897
|
-
},
|
898
850
|
"mmh3": {
|
899
851
|
"hashes": [
|
900
852
|
"sha256:00f810647c22c179b6821079f7aa306d51953ac893587ee09cf1afb35adf87cb",
|
@@ -991,30 +943,13 @@
|
|
991
943
|
"markers": "python_version >= '3.8'",
|
992
944
|
"version": "==0.10.0.dev2"
|
993
945
|
},
|
994
|
-
"netmiko": {
|
995
|
-
"hashes": [
|
996
|
-
"sha256:42d81fb906339af1fb5c6899f181f5cb5c9b03311262ba56c696b113e1f2f61a",
|
997
|
-
"sha256:dbdfc20b6caaf8e5d7a570bb1b42a26b9a6f8d8234e91f5c65f4dbfe0c0e4f50"
|
998
|
-
],
|
999
|
-
"index": "pypi",
|
1000
|
-
"markers": "python_version >= '3.9' and python_version < '4.0'",
|
1001
|
-
"version": "==4.5.0"
|
1002
|
-
},
|
1003
|
-
"ntc-templates": {
|
1004
|
-
"hashes": [
|
1005
|
-
"sha256:44ae2651719592bb70e98886f363b15bab12892b37f8338f0a2255aa5c7b6ee3",
|
1006
|
-
"sha256:df4b4520c3dd41b33ad0746ea7742c63b13eb2860579c7648c348167af5432e2"
|
1007
|
-
],
|
1008
|
-
"markers": "python_version >= '3.8' and python_version < '4.0'",
|
1009
|
-
"version": "==7.9.0"
|
1010
|
-
},
|
1011
946
|
"oauthlib": {
|
1012
947
|
"hashes": [
|
1013
|
-
"sha256:
|
1014
|
-
"sha256:
|
948
|
+
"sha256:0f0f8aa759826a193cf66c12ea1af1637f87b9b4622d46e866952bb022e538c9",
|
949
|
+
"sha256:88119c938d2b8fb88561af5f6ee0eec8cc8d552b7bb1f712743136eb7523b7a1"
|
1015
950
|
],
|
1016
|
-
"markers": "python_version >= '3.
|
1017
|
-
"version": "==3.
|
951
|
+
"markers": "python_version >= '3.8'",
|
952
|
+
"version": "==3.3.1"
|
1018
953
|
},
|
1019
954
|
"openstacksdk": {
|
1020
955
|
"hashes": [
|
@@ -1053,6 +988,7 @@
|
|
1053
988
|
"sha256:43b9a0501fc2b5e70680388d9346cf252cfb7d00b0667c39e80eb43a408b8f61",
|
1054
989
|
"sha256:b2c665bc45b2b215bd7d7f039901b14b067da00f3a11e6640995fd58f2664822"
|
1055
990
|
],
|
991
|
+
"index": "pypi",
|
1056
992
|
"markers": "python_version >= '3.6'",
|
1057
993
|
"version": "==3.5.1"
|
1058
994
|
},
|
@@ -1176,11 +1112,11 @@
|
|
1176
1112
|
},
|
1177
1113
|
"pydantic": {
|
1178
1114
|
"hashes": [
|
1179
|
-
"sha256:
|
1180
|
-
"sha256:
|
1115
|
+
"sha256:d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db",
|
1116
|
+
"sha256:dde5df002701f6de26248661f6835bbe296a47bf73990135c7d07ce741b9623b"
|
1181
1117
|
],
|
1182
1118
|
"markers": "python_version >= '3.9'",
|
1183
|
-
"version": "==2.11.
|
1119
|
+
"version": "==2.11.7"
|
1184
1120
|
},
|
1185
1121
|
"pydantic-core": {
|
1186
1122
|
"hashes": [
|
@@ -1289,11 +1225,11 @@
|
|
1289
1225
|
},
|
1290
1226
|
"pygments": {
|
1291
1227
|
"hashes": [
|
1292
|
-
"sha256:
|
1293
|
-
"sha256:
|
1228
|
+
"sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887",
|
1229
|
+
"sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b"
|
1294
1230
|
],
|
1295
1231
|
"markers": "python_version >= '3.8'",
|
1296
|
-
"version": "==2.19.
|
1232
|
+
"version": "==2.19.2"
|
1297
1233
|
},
|
1298
1234
|
"pynacl": {
|
1299
1235
|
"hashes": [
|
@@ -1325,20 +1261,13 @@
|
|
1325
1261
|
],
|
1326
1262
|
"version": "==1.9.0"
|
1327
1263
|
},
|
1328
|
-
"pyserial": {
|
1329
|
-
"hashes": [
|
1330
|
-
"sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb",
|
1331
|
-
"sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0"
|
1332
|
-
],
|
1333
|
-
"version": "==3.5"
|
1334
|
-
},
|
1335
1264
|
"pytest": {
|
1336
1265
|
"hashes": [
|
1337
|
-
"sha256:
|
1338
|
-
"sha256:
|
1266
|
+
"sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7",
|
1267
|
+
"sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c"
|
1339
1268
|
],
|
1340
1269
|
"markers": "python_version >= '3.9'",
|
1341
|
-
"version": "==8.4.
|
1270
|
+
"version": "==8.4.1"
|
1342
1271
|
},
|
1343
1272
|
"pytest-testinfra": {
|
1344
1273
|
"hashes": [
|
@@ -1464,14 +1393,6 @@
|
|
1464
1393
|
],
|
1465
1394
|
"version": "==1.4.0"
|
1466
1395
|
},
|
1467
|
-
"rich": {
|
1468
|
-
"hashes": [
|
1469
|
-
"sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0",
|
1470
|
-
"sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725"
|
1471
|
-
],
|
1472
|
-
"markers": "python_full_version >= '3.8.0'",
|
1473
|
-
"version": "==14.0.0"
|
1474
|
-
},
|
1475
1396
|
"rsa": {
|
1476
1397
|
"hashes": [
|
1477
1398
|
"sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762",
|
@@ -1540,13 +1461,6 @@
|
|
1540
1461
|
"markers": "python_version >= '3.9'",
|
1541
1462
|
"version": "==0.2.12"
|
1542
1463
|
},
|
1543
|
-
"scp": {
|
1544
|
-
"hashes": [
|
1545
|
-
"sha256:9e7f721e5ac563c33eb0831d0f949c6342f1c28c3bdc3b02f39d77b5ea20df7e",
|
1546
|
-
"sha256:f1b22e9932123ccf17eebf19e0953c6e9148f589f93d91b872941a696305c83f"
|
1547
|
-
],
|
1548
|
-
"version": "==0.15.0"
|
1549
|
-
},
|
1550
1464
|
"setuptools": {
|
1551
1465
|
"hashes": [
|
1552
1466
|
"sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922",
|
@@ -1661,13 +1575,6 @@
|
|
1661
1575
|
"markers": "python_version >= '3.9'",
|
1662
1576
|
"version": "==5.6.0"
|
1663
1577
|
},
|
1664
|
-
"textfsm": {
|
1665
|
-
"hashes": [
|
1666
|
-
"sha256:577ef278a9237f5341ae9b682947cefa4a2c1b24dbe486f94f2c95addc6504b5",
|
1667
|
-
"sha256:dcbeebc6a6137bed561c71a56344d752e6dbc04ae5ea309252cb70fb97ccc9cd"
|
1668
|
-
],
|
1669
|
-
"version": "==1.1.3"
|
1670
|
-
},
|
1671
1578
|
"tornado": {
|
1672
1579
|
"hashes": [
|
1673
1580
|
"sha256:02420a0eb7bf617257b9935e2b754d1b63897525d8a289c9d65690d580b4dcf7",
|
@@ -1720,11 +1627,11 @@
|
|
1720
1627
|
},
|
1721
1628
|
"urllib3": {
|
1722
1629
|
"hashes": [
|
1723
|
-
"sha256:
|
1724
|
-
"sha256:
|
1630
|
+
"sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760",
|
1631
|
+
"sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc"
|
1725
1632
|
],
|
1726
1633
|
"markers": "python_version >= '3.9'",
|
1727
|
-
"version": "==2.
|
1634
|
+
"version": "==2.5.0"
|
1728
1635
|
},
|
1729
1636
|
"vine": {
|
1730
1637
|
"hashes": [
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# name lanes alias index speed autoneg
|
2
|
+
Ethernet0 25 Eth1(Port1) 1 1000 on
|
3
|
+
Ethernet1 26 Eth2(Port2) 2 1000 on
|
4
|
+
Ethernet2 27 Eth3(Port3) 3 1000 on
|
5
|
+
Ethernet3 28 Eth4(Port4) 4 1000 on
|
6
|
+
Ethernet4 29 Eth5(Port5) 5 1000 on
|
7
|
+
Ethernet5 30 Eth6(Port6) 6 1000 on
|
8
|
+
Ethernet6 31 Eth7(Port7) 7 1000 on
|
9
|
+
Ethernet7 32 Eth8(Port8) 8 1000 on
|
10
|
+
Ethernet8 33 Eth9(Port9) 9 1000 on
|
11
|
+
Ethernet9 34 Eth10(Port10) 10 1000 on
|
12
|
+
Ethernet10 35 Eth11(Port11) 11 1000 on
|
13
|
+
Ethernet11 36 Eth12(Port12) 12 1000 on
|
14
|
+
Ethernet12 37 Eth13(Port13) 13 1000 on
|
15
|
+
Ethernet13 38 Eth14(Port14) 14 1000 on
|
16
|
+
Ethernet14 39 Eth15(Port15) 15 1000 on
|
17
|
+
Ethernet15 40 Eth16(Port16) 16 1000 on
|
18
|
+
Ethernet16 41 Eth17(Port17) 17 1000 on
|
19
|
+
Ethernet17 42 Eth18(Port18) 18 1000 on
|
20
|
+
Ethernet18 43 Eth19(Port19) 19 1000 on
|
21
|
+
Ethernet19 44 Eth20(Port20) 20 1000 on
|
22
|
+
Ethernet20 49 Eth21(Port21) 21 1000 on
|
23
|
+
Ethernet21 50 Eth22(Port22) 22 1000 on
|
24
|
+
Ethernet22 51 Eth23(Port23) 23 1000 on
|
25
|
+
Ethernet23 52 Eth24(Port24) 24 1000 on
|
26
|
+
Ethernet24 1 Eth25(Port25) 25 1000 on
|
27
|
+
Ethernet25 2 Eth26(Port26) 26 1000 on
|
28
|
+
Ethernet26 3 Eth27(Port27) 27 1000 on
|
29
|
+
Ethernet27 4 Eth28(Port28) 28 1000 on
|
30
|
+
Ethernet28 5 Eth29(Port29) 29 1000 on
|
31
|
+
Ethernet29 6 Eth30(Port30) 30 1000 on
|
32
|
+
Ethernet30 7 Eth31(Port31) 31 1000 on
|
33
|
+
Ethernet31 8 Eth32(Port32) 32 1000 on
|
34
|
+
Ethernet32 9 Eth33(Port33) 33 1000 on
|
35
|
+
Ethernet33 10 Eth34(Port34) 34 1000 on
|
36
|
+
Ethernet34 11 Eth35(Port35) 35 1000 on
|
37
|
+
Ethernet35 12 Eth36(Port36) 36 1000 on
|
38
|
+
Ethernet36 13 Eth37(Port37) 37 1000 on
|
39
|
+
Ethernet37 14 Eth38(Port38) 38 1000 on
|
40
|
+
Ethernet38 15 Eth39(Port39) 39 1000 on
|
41
|
+
Ethernet39 16 Eth40(Port40) 40 1000 on
|
42
|
+
Ethernet40 17 Eth41(Port41) 41 1000 on
|
43
|
+
Ethernet41 18 Eth42(Port42) 42 1000 on
|
44
|
+
Ethernet42 19 Eth43(Port43) 43 1000 on
|
45
|
+
Ethernet43 20 Eth44(Port44) 44 1000 on
|
46
|
+
Ethernet44 21 Eth45(Port45) 45 1000 on
|
47
|
+
Ethernet45 22 Eth46(Port46) 46 1000 on
|
48
|
+
Ethernet46 23 Eth47(Port47) 47 1000 on
|
49
|
+
Ethernet47 24 Eth48(Port48) 48 1000 on
|
50
|
+
Ethernet48 57 Eth49(Port49) 49 10000 off
|
51
|
+
Ethernet49 58 Eth50(Port50) 50 10000 off
|
52
|
+
Ethernet50 59 Eth51(Port51) 51 10000 off
|
53
|
+
Ethernet51 60 Eth52(Port52) 52 10000 off
|
54
|
+
Ethernet52 61 Eth53(Port53) 53 10000 off
|
55
|
+
Ethernet53 62 Eth54(Port54) 54 10000 off
|
@@ -79,27 +79,71 @@ baremetal_events = BaremetalEvents()
|
|
79
79
|
|
80
80
|
@app.get("/")
|
81
81
|
async def root():
|
82
|
-
return {"
|
82
|
+
return {"result": "ok"}
|
83
83
|
|
84
84
|
|
85
|
-
@app.
|
85
|
+
@app.get("/v1")
|
86
|
+
async def v1():
|
87
|
+
return {"result": "ok"}
|
88
|
+
|
89
|
+
|
90
|
+
@app.post("/v1/meters/sink")
|
86
91
|
async def write_sink_meters(request: Request):
|
87
92
|
data = await request.json()
|
88
93
|
|
89
94
|
|
90
|
-
@app.post("/events/sink")
|
95
|
+
@app.post("/v1/events/sink")
|
91
96
|
async def write_sink_events(request: Request):
|
92
97
|
data = await request.json()
|
93
98
|
|
94
99
|
|
95
|
-
@app.post("/notifications/baremetal", status_code=204)
|
100
|
+
@app.post("/v1/notifications/baremetal", status_code=204)
|
96
101
|
async def notifications_baremetal(notification: NotificationBaremetal) -> None:
|
97
102
|
|
98
103
|
handler = baremetal_events.get_handler(notification.event_type)
|
99
104
|
handler(notification.payload)
|
100
105
|
|
101
106
|
|
102
|
-
@app.post("/
|
107
|
+
@app.post("/v1/switches/{identifier}/ztp/complete")
|
108
|
+
async def switches_ztp_complete(identifier: str):
|
109
|
+
if not utils.nb:
|
110
|
+
return {"result": "netbox not enabled"}
|
111
|
+
|
112
|
+
device = None
|
113
|
+
|
114
|
+
# Search by device name
|
115
|
+
devices = utils.nb.dcim.devices.filter(name=identifier)
|
116
|
+
if devices:
|
117
|
+
device = devices[0]
|
118
|
+
|
119
|
+
# Search by inventory_hostname custom field
|
120
|
+
if not device:
|
121
|
+
devices = utils.nb.dcim.devices.filter(cf_inventory_hostname=identifier)
|
122
|
+
if devices:
|
123
|
+
device = devices[0]
|
124
|
+
|
125
|
+
# Search by serial number
|
126
|
+
if not device:
|
127
|
+
devices = utils.nb.dcim.devices.filter(serial=identifier)
|
128
|
+
if devices:
|
129
|
+
device = devices[0]
|
130
|
+
|
131
|
+
if device:
|
132
|
+
logger.info(
|
133
|
+
f"Found device {device.name} for ZTP complete with identifier {identifier}"
|
134
|
+
)
|
135
|
+
|
136
|
+
# Set provision_state custom field to active
|
137
|
+
device.custom_fields["provision_state"] = "active"
|
138
|
+
device.save()
|
139
|
+
|
140
|
+
return {"result": "ok", "device": device.name}
|
141
|
+
else:
|
142
|
+
logger.warning(f"No device found for ZTP complete with identifier {identifier}")
|
143
|
+
return {"result": "device not found"}
|
144
|
+
|
145
|
+
|
146
|
+
@app.post("/v1/webhook/netbox", response_model=WebhookNetboxResponse, status_code=200)
|
103
147
|
async def webhook(
|
104
148
|
webhook_input: WebhookNetboxData,
|
105
149
|
request: Request,
|