kronos-openstack 0.1.0__tar.gz → 0.1.1__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.
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/.github/workflows/release.yml +12 -1
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/PKG-INFO +4 -15
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/README.md +2 -13
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos_openstack.egg-info/PKG-INFO +4 -15
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/pyproject.toml +1 -1
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/.dockerignore +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/.github/workflows/ci.yml +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/.github/workflows/container.yml +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/.gitignore +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/.python-version +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/.readthedocs.yaml +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/CLAUDE.md +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/LICENSE +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/docker/Dockerfile +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/docs/conf.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/docs/configuration/index.rst +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/docs/configuration/kronos.conf.sample +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/docs/deployment/container.rst +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/docs/deployment/systemd.rst +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/docs/index.rst +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/docs/installation.rst +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/docs/operations/runbook.rst +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/etc/kolla/kronos-engine.json.example +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/etc/kolla/kronos-executor.json.example +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/etc/kronos/kronos.conf.sample +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/etc/kronos/policies.yaml.sample +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/etc/oslo-config-generator/kronos.conf +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/etc/systemd/kronos-engine@.service +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/etc/systemd/kronos-executor@.service +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/clients/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/clients/nova.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/clients/placement.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/clients/prometheus.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/cmd/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/cmd/engine.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/cmd/executor.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/cmd/record.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/cmd/replay.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/cmd/test_config.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/common/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/common/config.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/common/exceptions.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/common/messaging.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/common/snapshot.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/_sim.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/affinity_enforcer.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/constraints.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/cooldown.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/evacuator.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/loop.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/placement.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/planner.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/profiler.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/result_listener.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/scorer.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/engine/types.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/executor/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/executor/migrate.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/executor/scheduler.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/executor/worker.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/policies/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/policies/loader.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/policies/models.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos/version.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos_openstack.egg-info/SOURCES.txt +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos_openstack.egg-info/dependency_links.txt +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos_openstack.egg-info/entry_points.txt +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos_openstack.egg-info/requires.txt +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos_openstack.egg-info/top_level.txt +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/setup.cfg +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/conftest.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/fixtures/policies_invalid.yaml +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/fixtures/policies_valid.yaml +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/fixtures/prometheus_responses/healthy.json +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/fixtures/prometheus_responses/partial.json +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/fixtures/prometheus_responses/stale.json +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/clients/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/clients/test_nova.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/clients/test_prometheus.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/cmd/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/cmd/test_executor.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/cmd/test_replay.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/common/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/common/test_snapshot.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/test_affinity_enforcer.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/test_constraints.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/test_cooldown.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/test_evacuator.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/test_loop.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/test_placement.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/test_planner.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/test_profiler.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/test_result_listener.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/test_scorer.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/executor/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/executor/test_migrate.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/executor/test_scheduler.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/executor/test_worker.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/policies/__init__.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/policies/test_loader.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/policies/test_models.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tools/generate_fake_snapshot.py +0 -0
- {kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tox.ini +0 -0
|
@@ -60,4 +60,15 @@ jobs:
|
|
|
60
60
|
with:
|
|
61
61
|
inputs: dist/*.tar.gz dist/*.whl
|
|
62
62
|
upload-signing-artifacts: true
|
|
63
|
-
|
|
63
|
+
# The sigstore action only attaches files to a release that
|
|
64
|
+
# already exists, so create the release here with the dist files
|
|
65
|
+
# and the .sigstore.json bundles the previous step wrote.
|
|
66
|
+
- name: Create GitHub release
|
|
67
|
+
env:
|
|
68
|
+
GH_TOKEN: ${{ github.token }}
|
|
69
|
+
run: |
|
|
70
|
+
gh release create "$GITHUB_REF_NAME" \
|
|
71
|
+
--repo "$GITHUB_REPOSITORY" \
|
|
72
|
+
--title "Kronos ${GITHUB_REF_NAME#v}" \
|
|
73
|
+
--generate-notes \
|
|
74
|
+
dist/*.tar.gz dist/*.whl dist/*.sigstore.json
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kronos-openstack
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: PromQL-driven VM placement engine for OpenStack
|
|
5
5
|
Author-email: Luca Del Monte <luca.delmonte5@gmail.com>, Michele Palazzi <sysdadmin@m1k.cloud>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -9,7 +9,7 @@ Project-URL: Repository, https://github.com/kronos-openstack/kronos
|
|
|
9
9
|
Project-URL: Issues, https://github.com/kronos-openstack/kronos/issues
|
|
10
10
|
Project-URL: Documentation, https://kronos-openstack.readthedocs.io
|
|
11
11
|
Keywords: openstack,nova,prometheus,live-migration,scheduler,placement,rebalancing
|
|
12
|
-
Classifier: Development Status ::
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
13
|
Classifier: Environment :: OpenStack
|
|
14
14
|
Classifier: Intended Audience :: System Administrators
|
|
15
15
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
@@ -59,8 +59,6 @@ When dry-run is disabled, the engine casts migration tasks to a per-aggregate RP
|
|
|
59
59
|
topic via oslo.messaging. A dedicated executor daemon consumes the tasks and carries
|
|
60
60
|
them out through the Nova live-migrate API.
|
|
61
61
|
|
|
62
|
-
> **Status:** Pre-alpha. Not yet ready for production.
|
|
63
|
-
|
|
64
62
|
## Features
|
|
65
63
|
|
|
66
64
|
- **Combined multi-policy scoring** - every policy contributes a
|
|
@@ -532,17 +530,8 @@ enforcer, planner) so you can see where cycles are spent.
|
|
|
532
530
|
|
|
533
531
|
## Roadmap
|
|
534
532
|
|
|
535
|
-
Planned work
|
|
536
|
-
|
|
537
|
-
- **Pack mode rework** - the current First Fit Decreasing drain order
|
|
538
|
-
is mechanically correct but the drain decisions need rethinking.
|
|
539
|
-
Once the semantics are right: put fully drained hosts into
|
|
540
|
-
maintenance, refuse to drain below a configurable spare-host
|
|
541
|
-
reserve, and bring drained hosts back when load grows.
|
|
542
|
-
- **Soft affinity as planner penalties** - soft server-group rules
|
|
543
|
-
currently veto moves just like hard ones; they should become
|
|
544
|
-
weighted penalties so a mild soft-rule violation can still win when
|
|
545
|
-
it resolves a much larger imbalance.
|
|
533
|
+
Planned work:
|
|
534
|
+
|
|
546
535
|
- **Richer constraints** - NUMA topology, CPU feature flags, and
|
|
547
536
|
flavor extra specs as additional move filters.
|
|
548
537
|
|
|
@@ -11,8 +11,6 @@ When dry-run is disabled, the engine casts migration tasks to a per-aggregate RP
|
|
|
11
11
|
topic via oslo.messaging. A dedicated executor daemon consumes the tasks and carries
|
|
12
12
|
them out through the Nova live-migrate API.
|
|
13
13
|
|
|
14
|
-
> **Status:** Pre-alpha. Not yet ready for production.
|
|
15
|
-
|
|
16
14
|
## Features
|
|
17
15
|
|
|
18
16
|
- **Combined multi-policy scoring** - every policy contributes a
|
|
@@ -484,17 +482,8 @@ enforcer, planner) so you can see where cycles are spent.
|
|
|
484
482
|
|
|
485
483
|
## Roadmap
|
|
486
484
|
|
|
487
|
-
Planned work
|
|
488
|
-
|
|
489
|
-
- **Pack mode rework** - the current First Fit Decreasing drain order
|
|
490
|
-
is mechanically correct but the drain decisions need rethinking.
|
|
491
|
-
Once the semantics are right: put fully drained hosts into
|
|
492
|
-
maintenance, refuse to drain below a configurable spare-host
|
|
493
|
-
reserve, and bring drained hosts back when load grows.
|
|
494
|
-
- **Soft affinity as planner penalties** - soft server-group rules
|
|
495
|
-
currently veto moves just like hard ones; they should become
|
|
496
|
-
weighted penalties so a mild soft-rule violation can still win when
|
|
497
|
-
it resolves a much larger imbalance.
|
|
485
|
+
Planned work:
|
|
486
|
+
|
|
498
487
|
- **Richer constraints** - NUMA topology, CPU feature flags, and
|
|
499
488
|
flavor extra specs as additional move filters.
|
|
500
489
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kronos-openstack
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: PromQL-driven VM placement engine for OpenStack
|
|
5
5
|
Author-email: Luca Del Monte <luca.delmonte5@gmail.com>, Michele Palazzi <sysdadmin@m1k.cloud>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -9,7 +9,7 @@ Project-URL: Repository, https://github.com/kronos-openstack/kronos
|
|
|
9
9
|
Project-URL: Issues, https://github.com/kronos-openstack/kronos/issues
|
|
10
10
|
Project-URL: Documentation, https://kronos-openstack.readthedocs.io
|
|
11
11
|
Keywords: openstack,nova,prometheus,live-migration,scheduler,placement,rebalancing
|
|
12
|
-
Classifier: Development Status ::
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
13
|
Classifier: Environment :: OpenStack
|
|
14
14
|
Classifier: Intended Audience :: System Administrators
|
|
15
15
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
@@ -59,8 +59,6 @@ When dry-run is disabled, the engine casts migration tasks to a per-aggregate RP
|
|
|
59
59
|
topic via oslo.messaging. A dedicated executor daemon consumes the tasks and carries
|
|
60
60
|
them out through the Nova live-migrate API.
|
|
61
61
|
|
|
62
|
-
> **Status:** Pre-alpha. Not yet ready for production.
|
|
63
|
-
|
|
64
62
|
## Features
|
|
65
63
|
|
|
66
64
|
- **Combined multi-policy scoring** - every policy contributes a
|
|
@@ -532,17 +530,8 @@ enforcer, planner) so you can see where cycles are spent.
|
|
|
532
530
|
|
|
533
531
|
## Roadmap
|
|
534
532
|
|
|
535
|
-
Planned work
|
|
536
|
-
|
|
537
|
-
- **Pack mode rework** - the current First Fit Decreasing drain order
|
|
538
|
-
is mechanically correct but the drain decisions need rethinking.
|
|
539
|
-
Once the semantics are right: put fully drained hosts into
|
|
540
|
-
maintenance, refuse to drain below a configurable spare-host
|
|
541
|
-
reserve, and bring drained hosts back when load grows.
|
|
542
|
-
- **Soft affinity as planner penalties** - soft server-group rules
|
|
543
|
-
currently veto moves just like hard ones; they should become
|
|
544
|
-
weighted penalties so a mild soft-rule violation can still win when
|
|
545
|
-
it resolves a much larger imbalance.
|
|
533
|
+
Planned work:
|
|
534
|
+
|
|
546
535
|
- **Richer constraints** - NUMA topology, CPU feature flags, and
|
|
547
536
|
flavor extra specs as additional move filters.
|
|
548
537
|
|
|
@@ -23,7 +23,7 @@ keywords = [
|
|
|
23
23
|
"rebalancing",
|
|
24
24
|
]
|
|
25
25
|
classifiers = [
|
|
26
|
-
"Development Status ::
|
|
26
|
+
"Development Status :: 4 - Beta",
|
|
27
27
|
"Environment :: OpenStack",
|
|
28
28
|
"Intended Audience :: System Administrators",
|
|
29
29
|
"License :: OSI Approved :: Apache Software License",
|
|
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
|
|
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
|
{kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos_openstack.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/kronos_openstack.egg-info/entry_points.txt
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
|
{kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/fixtures/prometheus_responses/healthy.json
RENAMED
|
File without changes
|
{kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/fixtures/prometheus_responses/partial.json
RENAMED
|
File without changes
|
{kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/fixtures/prometheus_responses/stale.json
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
|
{kronos_openstack-0.1.0 → kronos_openstack-0.1.1}/tests/unit/engine/test_affinity_enforcer.py
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|