osism 0.20250425.0__tar.gz → 0.20250514.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.
Files changed (93) hide show
  1. {osism-0.20250425.0 → osism-0.20250514.0}/.github/renovate.json +1 -0
  2. osism-0.20250514.0/.zuul.yaml +103 -0
  3. osism-0.20250514.0/AUTHORS +1 -0
  4. osism-0.20250514.0/ChangeLog +7 -0
  5. {osism-0.20250425.0 → osism-0.20250514.0}/Containerfile +4 -3
  6. {osism-0.20250425.0 → osism-0.20250514.0}/Dockerfile +4 -3
  7. {osism-0.20250425.0/osism.egg-info → osism-0.20250514.0}/PKG-INFO +8 -9
  8. {osism-0.20250425.0 → osism-0.20250514.0}/Pipfile +6 -7
  9. {osism-0.20250425.0 → osism-0.20250514.0}/Pipfile.lock +346 -353
  10. {osism-0.20250425.0 → osism-0.20250514.0}/osism/api.py +1 -1
  11. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/apply.py +1 -1
  12. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/configuration.py +4 -2
  13. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/manage.py +1 -1
  14. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/netbox.py +72 -23
  15. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/reconciler.py +4 -2
  16. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/validate.py +3 -3
  17. {osism-0.20250425.0 → osism-0.20250514.0}/osism/settings.py +3 -3
  18. {osism-0.20250425.0 → osism-0.20250514.0}/osism/tasks/conductor.py +136 -157
  19. {osism-0.20250425.0 → osism-0.20250514.0}/osism/tasks/openstack.py +0 -41
  20. {osism-0.20250425.0 → osism-0.20250514.0}/osism/tasks/reconciler.py +0 -30
  21. {osism-0.20250425.0 → osism-0.20250514.0}/osism/utils/__init__.py +17 -0
  22. {osism-0.20250425.0 → osism-0.20250514.0/osism.egg-info}/PKG-INFO +8 -9
  23. {osism-0.20250425.0 → osism-0.20250514.0}/osism.egg-info/entry_points.txt +2 -3
  24. osism-0.20250514.0/osism.egg-info/pbr.json +1 -0
  25. {osism-0.20250425.0 → osism-0.20250514.0}/osism.egg-info/requires.txt +7 -8
  26. osism-0.20250514.0/requirements.netbox-manager.txt +1 -0
  27. osism-0.20250514.0/requirements.openstack-image-manager.txt +1 -0
  28. {osism-0.20250425.0 → osism-0.20250514.0}/requirements.txt +6 -7
  29. {osism-0.20250425.0 → osism-0.20250514.0}/requirements.yml +3 -3
  30. {osism-0.20250425.0 → osism-0.20250514.0}/setup.cfg +2 -3
  31. osism-0.20250425.0/.zuul.yaml +0 -103
  32. osism-0.20250425.0/AUTHORS +0 -1
  33. osism-0.20250425.0/ChangeLog +0 -7
  34. osism-0.20250425.0/osism.egg-info/pbr.json +0 -1
  35. osism-0.20250425.0/requirements.netbox-manager.txt +0 -1
  36. osism-0.20250425.0/requirements.openstack-image-manager.txt +0 -1
  37. {osism-0.20250425.0 → osism-0.20250514.0}/.flake8 +0 -0
  38. {osism-0.20250425.0 → osism-0.20250514.0}/.github/workflows/publish.yml +0 -0
  39. {osism-0.20250425.0 → osism-0.20250514.0}/.hadolint.yaml +0 -0
  40. {osism-0.20250425.0 → osism-0.20250514.0}/LICENSE +0 -0
  41. {osism-0.20250425.0 → osism-0.20250514.0}/README.md +0 -0
  42. {osism-0.20250425.0 → osism-0.20250514.0}/files/change.sh +0 -0
  43. {osism-0.20250425.0 → osism-0.20250514.0}/files/cleanup-ansible-collections.sh +0 -0
  44. {osism-0.20250425.0 → osism-0.20250514.0}/files/clustershell/clush.conf +0 -0
  45. {osism-0.20250425.0 → osism-0.20250514.0}/files/clustershell/groups.conf +0 -0
  46. {osism-0.20250425.0 → osism-0.20250514.0}/files/data/SCS-Spec.MandatoryFlavors.verbose.yaml +0 -0
  47. {osism-0.20250425.0 → osism-0.20250514.0}/files/netbox-manager/settings.toml +0 -0
  48. {osism-0.20250425.0 → osism-0.20250514.0}/files/run-ansible-console.sh +0 -0
  49. {osism-0.20250425.0 → osism-0.20250514.0}/osism/__init__.py +0 -0
  50. {osism-0.20250425.0 → osism-0.20250514.0}/osism/__main__.py +0 -0
  51. {osism-0.20250425.0 → osism-0.20250514.0}/osism/actions/__init__.py +0 -0
  52. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/__init__.py +0 -0
  53. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/compose.py +0 -0
  54. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/compute.py +0 -0
  55. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/console.py +0 -0
  56. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/container.py +0 -0
  57. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/get.py +0 -0
  58. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/log.py +0 -0
  59. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/noset.py +0 -0
  60. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/server.py +0 -0
  61. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/service.py +0 -0
  62. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/set.py +0 -0
  63. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/status.py +0 -0
  64. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/sync.py +0 -0
  65. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/task.py +0 -0
  66. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/vault.py +0 -0
  67. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/volume.py +0 -0
  68. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/wait.py +0 -0
  69. {osism-0.20250425.0 → osism-0.20250514.0}/osism/commands/worker.py +0 -0
  70. {osism-0.20250425.0 → osism-0.20250514.0}/osism/core/__init__.py +0 -0
  71. {osism-0.20250425.0 → osism-0.20250514.0}/osism/core/enums.py +0 -0
  72. {osism-0.20250425.0 → osism-0.20250514.0}/osism/core/playbooks.py +0 -0
  73. {osism-0.20250425.0 → osism-0.20250514.0}/osism/data/__init__.py +0 -0
  74. {osism-0.20250425.0 → osism-0.20250514.0}/osism/main.py +0 -0
  75. {osism-0.20250425.0 → osism-0.20250514.0}/osism/plugins/__init__.py +0 -0
  76. {osism-0.20250425.0 → osism-0.20250514.0}/osism/services/__init__.py +0 -0
  77. {osism-0.20250425.0 → osism-0.20250514.0}/osism/services/listener.py +0 -0
  78. {osism-0.20250425.0 → osism-0.20250514.0}/osism/tasks/__init__.py +0 -0
  79. {osism-0.20250425.0 → osism-0.20250514.0}/osism/tasks/ansible.py +0 -0
  80. {osism-0.20250425.0 → osism-0.20250514.0}/osism/tasks/ceph.py +0 -0
  81. {osism-0.20250425.0 → osism-0.20250514.0}/osism/tasks/kolla.py +0 -0
  82. {osism-0.20250425.0 → osism-0.20250514.0}/osism/tasks/kubernetes.py +0 -0
  83. {osism-0.20250425.0 → osism-0.20250514.0}/osism/tasks/netbox.py +0 -0
  84. {osism-0.20250425.0 → osism-0.20250514.0}/osism.egg-info/SOURCES.txt +0 -0
  85. {osism-0.20250425.0 → osism-0.20250514.0}/osism.egg-info/dependency_links.txt +0 -0
  86. {osism-0.20250425.0 → osism-0.20250514.0}/osism.egg-info/not-zip-safe +0 -0
  87. {osism-0.20250425.0 → osism-0.20250514.0}/osism.egg-info/top_level.txt +0 -0
  88. {osism-0.20250425.0 → osism-0.20250514.0}/playbooks/build.yml +0 -0
  89. {osism-0.20250425.0 → osism-0.20250514.0}/playbooks/pre.yml +0 -0
  90. {osism-0.20250425.0 → osism-0.20250514.0}/playbooks/test-setup.yml +0 -0
  91. {osism-0.20250425.0 → osism-0.20250514.0}/requirements.ansible.txt +0 -0
  92. {osism-0.20250425.0 → osism-0.20250514.0}/requirements.openstack-flavor-manager.txt +0 -0
  93. {osism-0.20250425.0 → osism-0.20250514.0}/setup.py +0 -0
@@ -6,6 +6,7 @@
6
6
  "pip_requirements": {
7
7
  "fileMatch": [
8
8
  "requirements.ansible.txt",
9
+ "requirements.netbox-manager.txt",
9
10
  "requirements.openstack-flavor-manager.txt",
10
11
  "requirements.openstack-image-manager.txt",
11
12
  "requirements.txt"
@@ -0,0 +1,103 @@
1
+ ---
2
+ - secret:
3
+ name: SECRET_CONTAINER_IMAGE_PYTHON_OSISM
4
+ data:
5
+ DTRACK_API_KEY: !encrypted/pkcs1-oaep
6
+ - Wma+4hzVx5YMZ1GBZK6WVW6SQqFN6SD3ExYWz1lt+FnGZGiAJJkkm7RxBMq5wpMGXfFFM
7
+ TmZJPSY7hOneYRC7sunwyZeKXLrvrfpC1B2LWXMChO5FN0qOO7BAdr2p+hZz749R29dNI
8
+ HK8NyXPtjP2K0OPYy/i68HuHv212+0R5DOS6JwrmIGUVWpDm0HDnmgC0DmN+tk8FNhc4K
9
+ eDiY2dsNjvKbbKzD6t5TW4jZgve7bAPQ87QDQc1B/2rQN46eQ1zpaYXe2PgOo8D2V47L6
10
+ cBvxHOmp8JVUa4Gl1pob9xnIqKRo8i9t36cGG9eZYyT4dH8JnKwYKf77EGY4mau5fQ3jE
11
+ 06nM+ufpnM/eUEcX7IJ+JXB+PGANJ6sui4d7PmfmiqlkNyBS6EJ8nBjOZ2hQI4Z7I6ioj
12
+ BWjghHyIMU/nJLrPHwumySBWjv48m90DGu/D69UvWpDRf/mrwBBO2twKUscDZP/4FIrCd
13
+ eAW09NUkKLo5pc2h+7IFeuO4Vz3XW876IdlJYl0CLrnnplpwJhPAhbYlaISO6zHmcR6Bf
14
+ 52bfVNMb3nTWFi65x1k7U/RGub3ZpqvnN9DJfQes6F857AQ1iuB4FmBd3NFIV6kBQ5A7k
15
+ Z5eNsW+uvhXpTFc08NG05JpHf0WQnC42L4vxBnR8uAfON3/NmPLRGSg5koa6zA=
16
+ DOCKER_USERNAME: !encrypted/pkcs1-oaep
17
+ - LaNpC4q2KmLUZR1sNeqRhWjCwoCMyWVmMVynfCphXlhpc07gk8Tt6LUfQHyELeRG9tShb
18
+ lWC+pk/XiNNfmnnNwQUFizUrWpPF/NawcAAwk1xhFA+u1srratUwS7qcwJmLviphpeJm8
19
+ BK5LwD1LnzGuqiwR5W5pkFGjFubSY404eWrsEOlveoFg+2WYPzOpMM9txpPmm1lGnaO8X
20
+ /me2TkQnT7ZJbiFxZV/Htm5A+A75mAR/ozioxMfl8NaS5322haNcQ2RzGhEP4C83fAL4H
21
+ nEoQTKYGH8j7z3jp2NVLzahVApmFYMofGT6wcXkZS4mBywi2iyLADW7YUIVueX5qG36v2
22
+ 3flXlu1p0hbljL6MVaPVQS6JyehTgmsEBcJKPpG5a57o3ZpFiATGl4iIxakyZhq9ZOns7
23
+ FBhe9V6QAdgheclDObfjxGHFTQXLalIdiXP2vdU4X8y7EcdGEmmjxg8/iVw2YSQZAOhlZ
24
+ 3TISffLvqfqcoh1qnsOYXGIkfzKT/etqMs0WQmLxAha9Mcw2dE63eAWV+QfdWCKvR59/A
25
+ Bd9ecCKhv05FGpafgrdm5iodylSb7NIoXUurB+8eNpo45Pme48IklxCFbYNN7WTEhVvbR
26
+ isrPqDcFD723KzR5XZGT3ffRHhkQHVyBcjc/aM947p57bsTyEghO83YAREG41Y=
27
+ DOCKER_PASSWORD: !encrypted/pkcs1-oaep
28
+ - q429nHEqxZD/VIieyRxYbtVnNBGC9lKC7vN/zdE6WxYJQZigfh4GsTjTWn1A2FmL40E4k
29
+ 82c73vt0X8lNCYDNpbnOcA5ODQA2ewy27dU6XE0hOCD2RR9vHUmLb1kUTXfUUnH8qhDtO
30
+ vmfX3Gsrrje01CiZEtAVmoQs/EGn4KCg9LQIV0be0baE7c6XJDowZ+gNutGwKUvwSarYs
31
+ x2ol/iDVu/gU8lgobzSug8NkBFnC3q3Oq4ySS2QY5zMqiCN1FjPjICIp7XJrbBiGPSAwK
32
+ RKQQ2sncLdFIkjfXuLsUMZp2XI5ffi4YHHUt7KHFhXrmaidPNJhw4IiK3zx6A8i5hOCs/
33
+ aeYVgTJtb6ASOvz2mimAJNnP8SjUkzHC+VEculdg2kvNi35HbgXDlRpWFZvg0IGzysr9z
34
+ ODx2QEUPgDKaoDE5Mpoz8STAtnAgO+I6JXb5LWk94ENtJgQiH4f5Go/qg6lL6kEC9igRp
35
+ 3R0Amzs0X1awcIpu4PJxYx92FefH+aO1Ai3bjP34arRkK0+UrPb8+I3OsXLYXvoAMDtpz
36
+ BnObSftEsMJpGwhXE/rRJ78GS0hC7Wep0d3FDYJ5tn4tVMi9cOFi8U3XOw5a9sKGY+kbb
37
+ 6cZMm62dAa1QZzAjfEFJvCdmhUmKP15gxwG9d0Q+b7xakSRo2Ll2xAFc9m8TBs=
38
+
39
+ - semaphore:
40
+ name: semaphore-container-image-python-osism-push
41
+ max: 1
42
+
43
+ - job:
44
+ name: container-image-python-osism-build
45
+ pre-run: playbooks/pre.yml
46
+ run: playbooks/build.yml
47
+ vars:
48
+ docker_namespace: osism
49
+ docker_registry: osism.harbor.regio.digital
50
+
51
+ - job:
52
+ name: container-image-python-osism-push
53
+ semaphores:
54
+ - name: semaphore-container-image-python-osism-push
55
+ pre-run: playbooks/pre.yml
56
+ run: playbooks/build.yml
57
+ vars:
58
+ docker_namespace: osism
59
+ docker_registry: osism.harbor.regio.digital
60
+ push_image: true
61
+ push_sbom: true
62
+ secrets:
63
+ - name: secret
64
+ secret: SECRET_CONTAINER_IMAGE_PYTHON_OSISM
65
+
66
+ - job:
67
+ name: python-osism-test-setup
68
+ pre-run: playbooks/pre.yml
69
+ run: playbooks/test-setup.yml
70
+
71
+ - project:
72
+ merge-mode: squash-merge
73
+ default-branch: main
74
+ check:
75
+ jobs:
76
+ - flake8
77
+ - hadolint
78
+ - mypy
79
+ - python-black
80
+ - container-image-python-osism-build
81
+ - python-osism-test-setup
82
+ gate:
83
+ jobs:
84
+ - flake8
85
+ - hadolint
86
+ - python-black
87
+ periodic-daily:
88
+ jobs:
89
+ - flake8
90
+ - hadolint
91
+ - mypy
92
+ - python-black
93
+ - python-osism-test-setup
94
+ periodic-midnight:
95
+ jobs:
96
+ - container-image-python-osism-push
97
+ post:
98
+ jobs:
99
+ - container-image-python-osism-push:
100
+ branches: main
101
+ tag:
102
+ jobs:
103
+ - container-image-python-osism-push
@@ -0,0 +1 @@
1
+ Christian Berendt <berendt@osism.tech>
@@ -0,0 +1,7 @@
1
+ CHANGES
2
+ =======
3
+
4
+ v0.20250514.0
5
+ -------------
6
+
7
+ * Add new netbox command (nbcli wrapper) (#1339)
@@ -1,12 +1,13 @@
1
- ARG PYTHON_VERSION=3.13.2
1
+ ARG PYTHON_VERSION=3.13.3
2
2
  ARG ALPINE_VERSION=3.21
3
+ ARG IMAGE=registry.osism.tech/dockerhub/python
3
4
 
4
- FROM python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
5
+ FROM ${IMAGE}:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
5
6
 
6
7
  ENV PYTHONWARNINGS="ignore::UserWarning"
7
8
 
8
9
  COPY . /src
9
- COPY --from=ghcr.io/astral-sh/uv:0.6.16 /uv /usr/local/bin/uv
10
+ COPY --from=ghcr.io/astral-sh/uv:0.7.3 /uv /usr/local/bin/uv
10
11
 
11
12
  COPY files/data /data
12
13
  COPY files/change.sh /change.sh
@@ -1,12 +1,13 @@
1
- ARG PYTHON_VERSION=3.13.2
1
+ ARG PYTHON_VERSION=3.13.3
2
2
  ARG ALPINE_VERSION=3.21
3
+ ARG IMAGE=registry.osism.tech/dockerhub/python
3
4
 
4
- FROM python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
5
+ FROM ${IMAGE}:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
5
6
 
6
7
  ENV PYTHONWARNINGS="ignore::UserWarning"
7
8
 
8
9
  COPY . /src
9
- COPY --from=ghcr.io/astral-sh/uv:0.6.16 /uv /usr/local/bin/uv
10
+ COPY --from=ghcr.io/astral-sh/uv:0.7.3 /uv /usr/local/bin/uv
10
11
 
11
12
  COPY files/data /data
12
13
  COPY files/change.sh /change.sh
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: osism
3
- Version: 0.20250425.0
3
+ Version: 0.20250514.0
4
4
  Summary: OSISM manager interface
5
5
  Home-page: https://github.com/osism/python-osism
6
6
  Author: OSISM GmbH
@@ -26,22 +26,21 @@ Requires-Dist: GitPython==3.1.44
26
26
  Requires-Dist: Jinja2==3.1.6
27
27
  Requires-Dist: PyYAML==6.0.2
28
28
  Requires-Dist: ara==1.7.2
29
- Requires-Dist: celery[redis]==5.5.1
29
+ Requires-Dist: celery[redis]==5.5.2
30
30
  Requires-Dist: cliff==4.9.1
31
- Requires-Dist: deepdiff==8.4.2
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
34
  Requires-Dist: fastapi==0.115.12
35
35
  Requires-Dist: flower==2.0.1
36
- Requires-Dist: hiredis==3.1.0
37
- Requires-Dist: jc==1.25.4
36
+ Requires-Dist: hiredis==3.1.1
37
+ Requires-Dist: jc==1.25.5
38
38
  Requires-Dist: keystoneauth1==5.10.0
39
39
  Requires-Dist: kombu==5.5.3
40
40
  Requires-Dist: kubernetes==32.0.1
41
41
  Requires-Dist: loguru==0.7.3
42
+ Requires-Dist: nbcli==0.10.0.dev2
42
43
  Requires-Dist: netmiko==4.5.0
43
- Requires-Dist: nornir-ansible==2023.12.28
44
- Requires-Dist: nornir==3.5.0
45
44
  Requires-Dist: openstacksdk==4.5.0
46
45
  Requires-Dist: pottery==3.0.1
47
46
  Requires-Dist: prompt-toolkit==3.0.51
@@ -49,7 +48,7 @@ Requires-Dist: pydantic==1.10.22
49
48
  Requires-Dist: pynetbox==7.4.1
50
49
  Requires-Dist: pytest-testinfra==10.2.2
51
50
  Requires-Dist: python-dateutil==2.9.0.post0
52
- Requires-Dist: setuptools==79.0.1
51
+ Requires-Dist: setuptools==80.4.0
53
52
  Requires-Dist: sqlmodel==0.0.24
54
53
  Requires-Dist: sushy==5.5.0
55
54
  Requires-Dist: tabulate==0.9.0
@@ -60,7 +59,7 @@ Provides-Extra: ansible
60
59
  Requires-Dist: ansible-runner==2.4.1; extra == "ansible"
61
60
  Requires-Dist: ansible-core==2.18.5; extra == "ansible"
62
61
  Provides-Extra: openstack-image-manager
63
- Requires-Dist: openstack-image-manager==0.20250423.0; extra == "openstack-image-manager"
62
+ Requires-Dist: openstack-image-manager==0.20250508.0; extra == "openstack-image-manager"
64
63
  Dynamic: author
65
64
  Dynamic: author-email
66
65
  Dynamic: classifier
@@ -10,22 +10,21 @@ Jinja2 = "==3.1.6"
10
10
  PyYAML = "==6.0.2"
11
11
  ansible-runner = "==2.4.1"
12
12
  ara = "==1.7.2"
13
- celery = {version = "==5.5.1", extras = ["redis"]}
13
+ celery = {version = "==5.5.2", extras = ["redis"]}
14
14
  cliff = "==4.9.1"
15
- deepdiff = "==8.4.2"
15
+ deepdiff = "==8.5.0"
16
16
  docker = "==7.1.0"
17
17
  dtrack-auditor = "==1.5.0"
18
18
  flower = "==2.0.1"
19
- hiredis = "==3.1.0"
19
+ hiredis = "==3.1.1"
20
20
  huey = "==2.5.3"
21
- jc = "==1.25.4"
21
+ jc = "==1.25.5"
22
22
  keystoneauth1 = "==5.10.0"
23
23
  kombu = "==5.5.3"
24
24
  kubernetes = "==32.0.1"
25
25
  loguru = "==0.7.3"
26
+ nbcli = "0.10.0.dev2"
26
27
  netmiko = "==4.5.0"
27
- nornir = "==3.5.0"
28
- nornir-ansible = "==2023.12.28"
29
28
  openstacksdk = "==4.5.0"
30
29
  pottery = "==3.0.1"
31
30
  prompt-toolkit = "==3.0.51"
@@ -33,7 +32,7 @@ pydantic = "==1.10.22"
33
32
  pynetbox = "==7.4.1"
34
33
  pytest-testinfra = "==10.2.2"
35
34
  python-dateutil = "==2.9.0.post0"
36
- setuptools = "==79.0.1"
35
+ setuptools = "==80.4.0"
37
36
  sqlmodel = "==0.0.24"
38
37
  sushy = "==5.5.0"
39
38
  transitions = "==0.9.2"