Initial refactor of N2VC
- Add libjuju.py to encapsulate all code related with the communication using libjuju
- Replace juju_observer with juju_watcher
- Add utils with some utilities like EntityType, FinalStatus, and JujuStatusToOSM
Change-Id: I5d46ad65d6ed37b49bf2504209bfdd46d1b5a7e4
Signed-off-by: David Garcia <david.garcia@canonical.com>
diff --git a/n2vc/exceptions.py b/n2vc/exceptions.py
index 09f3573..061cd7a 100644
--- a/n2vc/exceptions.py
+++ b/n2vc/exceptions.py
@@ -17,10 +17,26 @@
"""The Charm can't be found or is not readable."""
+class JujuControllerFailedConnecting(Exception):
+ """Failed connecting to juju controller."""
+
+
+class JujuModelAlreadyExists(Exception):
+ """The model already exists."""
+
+
class JujuApplicationExists(Exception):
"""The Application already exists."""
+class JujuApplicationNotFound(Exception):
+ """The Application cannot be found."""
+
+
+class JujuMachineNotFound(Exception):
+ """The machine cannot be found."""
+
+
class N2VCPrimitiveExecutionFailed(Exception):
"""Something failed while attempting to execute a primitive."""
@@ -157,3 +173,7 @@
def __repr__(self):
return self._message
+
+
+class EntityInvalidException(Exception):
+ """Entity is not valid, the type does not match any EntityType."""