Remove EntityType from juju watcher and workaround juju bug for retrieving the status
- The juju watcher was doing an unnecessary translation with the entity types. The entity already provides an attribute .entity_type
- Juju has a bug in version 2.8.2 that returns a wrong status. Therefore, charms were getting stuck in waiting for ever.
Change-Id: I44709190acc41601e8a67f4c52074fda00c3d495
Signed-off-by: David Garcia <david.garcia@canonical.com>
diff --git a/n2vc/tests/unit/utils.py b/n2vc/tests/unit/utils.py
index fe7362e..ee4dd96 100644
--- a/n2vc/tests/unit/utils.py
+++ b/n2vc/tests/unit/utils.py
@@ -14,7 +14,7 @@
import asyncio
-from n2vc.utils import Dict, EntityType, N2VCDeploymentStatus
+from n2vc.utils import Dict, N2VCDeploymentStatus
from n2vc.n2vc_conn import N2VCConnector
from unittest.mock import MagicMock
@@ -55,7 +55,7 @@
entity_id = "2"
dns_name = "FAKE ENDPOINT"
model_name = "FAKE MODEL"
- entity_type = EntityType.MACHINE
+ entity_type = "machine"
async def destroy(self, force):
pass
@@ -201,8 +201,8 @@
Deltas = [
Dict(
{
- "entity": Dict({"id": "2", "type": EntityType.MACHINE}),
- "filter": Dict({"entity_id": "2", "entity_type": EntityType.MACHINE}),
+ "entity": Dict({"id": "2", "type": "machine"}),
+ "filter": Dict({"entity_id": "2", "entity_type": "machine"}),
"delta": FAKE_DELTA_MACHINE_PENDING,
"entity_status": Dict(
{"status": "pending", "message": "Running", "vca_status": "running"}
@@ -224,8 +224,8 @@
),
Dict(
{
- "entity": Dict({"id": "2", "type": EntityType.MACHINE}),
- "filter": Dict({"entity_id": "1", "entity_type": EntityType.MACHINE}),
+ "entity": Dict({"id": "2", "type": "machine"}),
+ "filter": Dict({"entity_id": "1", "entity_type": "machine"}),
"delta": FAKE_DELTA_MACHINE_PENDING,
"entity_status": Dict(
{"status": "pending", "message": "Running", "vca_status": "running"}
@@ -235,8 +235,8 @@
),
Dict(
{
- "entity": Dict({"id": "2", "type": EntityType.MACHINE}),
- "filter": Dict({"entity_id": "2", "entity_type": EntityType.MACHINE}),
+ "entity": Dict({"id": "2", "type": "machine"}),
+ "filter": Dict({"entity_id": "2", "entity_type": "machine"}),
"delta": FAKE_DELTA_MACHINE_STARTED,
"entity_status": Dict(
{"status": "started", "message": "Running", "vca_status": "running"}
@@ -258,8 +258,8 @@
),
Dict(
{
- "entity": Dict({"id": "2", "type": EntityType.MACHINE}),
- "filter": Dict({"entity_id": "1", "entity_type": EntityType.MACHINE}),
+ "entity": Dict({"id": "2", "type": "machine"}),
+ "filter": Dict({"entity_id": "1", "entity_type": "machine"}),
"delta": FAKE_DELTA_MACHINE_STARTED,
"entity_status": Dict(
{"status": "started", "message": "Running", "vca_status": "running"}
@@ -269,8 +269,8 @@
),
Dict(
{
- "entity": Dict({"id": "git/0", "type": EntityType.UNIT}),
- "filter": Dict({"entity_id": "git", "entity_type": EntityType.APPLICATION}),
+ "entity": Dict({"id": "git/0", "type": "unit"}),
+ "filter": Dict({"entity_id": "git", "entity_type": "application"}),
"delta": FAKE_DELTA_UNIT_PENDING,
"entity_status": Dict(
{"status": "waiting", "message": "", "vca_status": "waiting"}
@@ -292,8 +292,8 @@
),
Dict(
{
- "entity": Dict({"id": "git/0", "type": EntityType.UNIT}),
- "filter": Dict({"entity_id": "2", "entity_type": EntityType.MACHINE}),
+ "entity": Dict({"id": "git/0", "type": "unit"}),
+ "filter": Dict({"entity_id": "2", "entity_type": "machine"}),
"delta": FAKE_DELTA_UNIT_PENDING,
"entity_status": Dict(
{"status": "waiting", "message": "", "vca_status": "waiting"}
@@ -303,8 +303,8 @@
),
Dict(
{
- "entity": Dict({"id": "git/0", "type": EntityType.UNIT}),
- "filter": Dict({"entity_id": "git", "entity_type": EntityType.APPLICATION}),
+ "entity": Dict({"id": "git/0", "type": "unit"}),
+ "filter": Dict({"entity_id": "git", "entity_type": "application"}),
"delta": FAKE_DELTA_UNIT_STARTED,
"entity_status": Dict(
{"status": "active", "message": "", "vca_status": "active"}
@@ -326,8 +326,8 @@
),
Dict(
{
- "entity": Dict({"id": "git/0", "type": EntityType.UNIT}),
- "filter": Dict({"entity_id": "1", "entity_type": EntityType.ACTION}),
+ "entity": Dict({"id": "git/0", "type": "unit"}),
+ "filter": Dict({"entity_id": "1", "entity_type": "action"}),
"delta": FAKE_DELTA_UNIT_STARTED,
"entity_status": Dict(
{"status": "active", "message": "", "vca_status": "active"}
@@ -337,8 +337,8 @@
),
Dict(
{
- "entity": Dict({"id": "git", "type": EntityType.APPLICATION}),
- "filter": Dict({"entity_id": "git", "entity_type": EntityType.APPLICATION}),
+ "entity": Dict({"id": "git", "type": "application"}),
+ "filter": Dict({"entity_id": "git", "entity_type": "application"}),
"delta": FAKE_DELTA_APPLICATION_MAINTENANCE,
"entity_status": Dict(
{
@@ -364,8 +364,8 @@
),
Dict(
{
- "entity": Dict({"id": "git", "type": EntityType.APPLICATION}),
- "filter": Dict({"entity_id": "2", "entity_type": EntityType.MACHINE}),
+ "entity": Dict({"id": "git", "type": "application"}),
+ "filter": Dict({"entity_id": "2", "entity_type": "machine"}),
"delta": FAKE_DELTA_APPLICATION_MAINTENANCE,
"entity_status": Dict(
{
@@ -379,8 +379,8 @@
),
Dict(
{
- "entity": Dict({"id": "git", "type": EntityType.APPLICATION}),
- "filter": Dict({"entity_id": "git", "entity_type": EntityType.APPLICATION}),
+ "entity": Dict({"id": "git", "type": "application"}),
+ "filter": Dict({"entity_id": "git", "entity_type": "application"}),
"delta": FAKE_DELTA_APPLICATION_ACTIVE,
"entity_status": Dict(
{"status": "active", "message": "Ready!", "vca_status": "active"}
@@ -402,8 +402,8 @@
),
Dict(
{
- "entity": Dict({"id": "git", "type": EntityType.APPLICATION}),
- "filter": Dict({"entity_id": "1", "entity_type": EntityType.ACTION}),
+ "entity": Dict({"id": "git", "type": "application"}),
+ "filter": Dict({"entity_id": "1", "entity_type": "action"}),
"delta": FAKE_DELTA_APPLICATION_ACTIVE,
"entity_status": Dict(
{"status": "active", "message": "Ready!", "vca_status": "active"}
@@ -413,8 +413,8 @@
),
Dict(
{
- "entity": Dict({"id": "1", "type": EntityType.ACTION}),
- "filter": Dict({"entity_id": "1", "entity_type": EntityType.ACTION}),
+ "entity": Dict({"id": "1", "type": "action"}),
+ "filter": Dict({"entity_id": "1", "entity_type": "action"}),
"delta": FAKE_DELTA_ACTION_COMPLETED,
"entity_status": Dict(
{
@@ -440,8 +440,8 @@
),
Dict(
{
- "entity": Dict({"id": "git", "type": EntityType.ACTION}),
- "filter": Dict({"entity_id": "1", "entity_type": EntityType.MACHINE}),
+ "entity": Dict({"id": "git", "type": "action"}),
+ "filter": Dict({"entity_id": "1", "entity_type": "machine"}),
"delta": FAKE_DELTA_ACTION_COMPLETED,
"entity_status": Dict(
{