Add new kubectl.py functions, modify some libjuju.py functions, add unit tests
- Kubectl.py: two new functions added (get_configuration and get_default_storage_class)
- get_configuration(): Returns a kubernetes Configuration object.
It can be used to properly parse the kubeconfig.
- get_default_storage_class(): Searches for the default storage class of a k8s cluster.
- Libjuju.py: modified add_k8s function and get_k8s_cloud_credential function was added.
- add_k8s(): Improves the way of generation Cloud and CloudCredential objects for the K8s Cloud
- get_k8s_cloud_credential(): It parses the kubeconfig to properly determine the authentication
method type that should be used for that k8s cluster.
- Unit tests: Added unit tests for all the new functions added.
- Exceptions: Make all Juju Exceptions to inherit from N2VC Exception.
Now Juju exceptions have the message attribute, that is useful for unit testing, to not only check that
an exception raised, but to check the message too.
- Move get_k8s_cloud_credential() function to n2vc/utils in order to share that code between different connectors.
Change-Id: Ife9027d80663fe95f1f3ad883cb9a3376b047d0b
Signed-off-by: David Garcia <david.garcia@canonical.com>