ceph-devstack 0.2.0__tar.gz → 0.2.2__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.
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/PKG-INFO +1 -1
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/host.py +1 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/requirements.py +9 -19
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack.egg-info/PKG-INFO +1 -1
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/test_requirements_core.py +5 -2
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/.flake8 +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/.github/workflows/ci.yml +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/.github/workflows/release.yml +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/.github/workflows/tox.yml +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/.gitignore +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/.pre-commit-config.yaml +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/Jenkinsfile +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/LICENSE +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/README.md +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/build_selinux_module.sh +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/Dockerfile.selinux +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/__init__.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/ceph_devstack.pp +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/ceph_devstack.te +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/cli.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/config.toml +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/exec.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/logging.conf +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/py.typed +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/resources/__init__.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/resources/ceph/__init__.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/resources/ceph/containers.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/resources/ceph/exceptions.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/resources/ceph/requirements.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/resources/ceph/utils.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/resources/container.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack/resources/misc.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack.egg-info/SOURCES.txt +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack.egg-info/dependency_links.txt +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack.egg-info/entry_points.txt +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack.egg-info/requires.txt +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ceph_devstack.egg-info/top_level.txt +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/docs/cgroup_v2.md +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/pyproject.toml +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/pytest.ini +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/ruff.toml +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/setup.cfg +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/__init__.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/conftest.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/__init__.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/ceph/__init__.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/ceph/fixtures/__init__.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/ceph/fixtures/testnode-config.toml +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/ceph/test_cephdevstack_core.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/ceph/test_devstack.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/ceph/test_env_vars.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/ceph/test_requirements_ceph.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/ceph/test_ssh_keypair.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/ceph/test_testnode.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/test_container.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/test_misc.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/test_podmanresource.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/test_config.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/test_deep_merge.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/test_parse_args.py +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tox.ini +0 -0
- {ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/uv.lock +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import shlex
|
|
2
2
|
|
|
3
|
-
from pathlib import Path
|
|
4
3
|
from packaging.version import parse as parse_version, Version
|
|
5
4
|
from typing import List
|
|
6
5
|
|
|
@@ -56,7 +55,7 @@ class PodmanPlatform(LocalFixableRequirement):
|
|
|
56
55
|
|
|
57
56
|
@property
|
|
58
57
|
def fix_cmd(self):
|
|
59
|
-
host_os = self.host.os_type
|
|
58
|
+
host_os = self.host.os_type
|
|
60
59
|
if host_os == "darwin":
|
|
61
60
|
return ["brew", "install", "podman"]
|
|
62
61
|
return ["sudo", host.package_manager(), "install", "-y", "podman"]
|
|
@@ -161,28 +160,19 @@ class PodmanVersion(Requirement):
|
|
|
161
160
|
return True
|
|
162
161
|
|
|
163
162
|
|
|
164
|
-
class PodmanRuntime(
|
|
163
|
+
class PodmanRuntime(FixableRequirement):
|
|
164
|
+
suggest_msg = "Could not find the 'crun' container runtime"
|
|
165
|
+
|
|
165
166
|
@property
|
|
166
167
|
def fix_cmd(self):
|
|
167
|
-
if self.host.os_type
|
|
168
|
+
if self.host.os_type != "darwin":
|
|
168
169
|
return ["sudo", self.host.package_manager(), "install", "-y", "crun"]
|
|
169
170
|
return []
|
|
170
171
|
|
|
171
172
|
async def check(self):
|
|
172
173
|
podman_info = await self.host.podman_info()
|
|
173
|
-
storage_conf_path = podman_info["store"]["configFile"]
|
|
174
174
|
runtime = podman_info["host"]["ociRuntime"]["name"]
|
|
175
|
-
|
|
176
|
-
return True
|
|
177
|
-
else:
|
|
178
|
-
containers_conf_path = Path(storage_conf_path).parent / "containers.conf"
|
|
179
|
-
cmd = host.cmd(["podman", "system", "reset"])
|
|
180
|
-
logger.error(
|
|
181
|
-
f"The configured runtime is '{runtime}'. "
|
|
182
|
-
f"It must be set to 'crun' in {containers_conf_path}. "
|
|
183
|
-
f"Afterward, run '{cmd}'."
|
|
184
|
-
)
|
|
185
|
-
return False
|
|
175
|
+
return runtime == "crun"
|
|
186
176
|
|
|
187
177
|
|
|
188
178
|
class SELinuxBoolean(FixableRequirement):
|
|
@@ -214,7 +204,7 @@ class PodmanDNSPlugin(FixableRequirement):
|
|
|
214
204
|
|
|
215
205
|
@property
|
|
216
206
|
def dns_plugin_path(self):
|
|
217
|
-
os_type = self.host.os_type
|
|
207
|
+
os_type = self.host.os_type
|
|
218
208
|
if os_type in ["ubuntu", "debian"]:
|
|
219
209
|
return "/usr/lib/cni/dnsname"
|
|
220
210
|
return "/usr/libexec/cni/dnsname"
|
|
@@ -225,7 +215,7 @@ class PodmanDNSPlugin(FixableRequirement):
|
|
|
225
215
|
|
|
226
216
|
@property
|
|
227
217
|
def fix_cmd(self):
|
|
228
|
-
os_type = self.host.os_type
|
|
218
|
+
os_type = self.host.os_type
|
|
229
219
|
if os_type == "centos":
|
|
230
220
|
return ["sudo", "dnf", "install", "-y", self.dns_plugin_path]
|
|
231
221
|
elif os_type in ["ubuntu", "debian"]:
|
|
@@ -261,7 +251,7 @@ class AppArmorProfile(FixableRequirement):
|
|
|
261
251
|
async def check_requirements():
|
|
262
252
|
if not await PodmanPlatform().evaluate():
|
|
263
253
|
return False
|
|
264
|
-
if local_host.os_type
|
|
254
|
+
if local_host.os_type == "darwin":
|
|
265
255
|
if not await PodmanMachinePresent().evaluate():
|
|
266
256
|
return False
|
|
267
257
|
if not await PodmanMachineRunning().evaluate():
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import pytest
|
|
3
3
|
from packaging.version import parse as parse_version
|
|
4
|
-
from unittest.mock import AsyncMock, MagicMock, patch
|
|
4
|
+
from unittest.mock import AsyncMock, MagicMock, patch, PropertyMock
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
from ceph_devstack import config, requirements
|
|
@@ -303,7 +303,10 @@ class TestPodmanDNSPluginInit:
|
|
|
303
303
|
return "/usr/lib/cni/dnsname"
|
|
304
304
|
|
|
305
305
|
def test_podman_dns_plugin_config(self, cls, os_type, dns_plugin_path):
|
|
306
|
-
with patch
|
|
306
|
+
with patch(
|
|
307
|
+
"ceph_devstack.host.Host.os_type", new_callable=PropertyMock
|
|
308
|
+
) as MockHost:
|
|
309
|
+
MockHost.return_value = os_type
|
|
307
310
|
req = cls()
|
|
308
311
|
assert req.check_cmd == ["test", "-x", dns_plugin_path]
|
|
309
312
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ceph_devstack-0.2.0 → ceph_devstack-0.2.2}/tests/resources/ceph/fixtures/testnode-config.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|