diff --git a/lib/charm/openstack/adapters.py b/lib/charm/openstack/adapters.py index e37242b..2ad31b3 100644 --- a/lib/charm/openstack/adapters.py +++ b/lib/charm/openstack/adapters.py @@ -114,9 +114,6 @@ class DatabaseRelationAdapter(OpenStackRelationAdapter): return uri - - - class ConfigurationAdapter(object): """ Configuration Adapter which provides python based access diff --git a/lib/charm/openstack/base_charm.py b/lib/charm/openstack/charm.py similarity index 93% rename from lib/charm/openstack/base_charm.py rename to lib/charm/openstack/charm.py index f0c1f08..7a13e2b 100644 --- a/lib/charm/openstack/base_charm.py +++ b/lib/charm/openstack/charm.py @@ -1,7 +1,8 @@ +"""Classes to support writing re-usable charms in the reactive framework""" + from charmhelpers.contrib.openstack.utils import ( configure_installation_source, ) -from charm.openstack.ip import PUBLIC, INTERNAL, ADMIN, canonical_url from charmhelpers.core.hookenv import config, status_set from charmhelpers.fetch import ( apt_install, @@ -9,7 +10,14 @@ from charmhelpers.fetch import ( filter_installed_packages, ) +from charm.openstack.ip import PUBLIC, INTERNAL, ADMIN, canonical_url + + class OpenStackCharm(object): + """ + Base class for all OpenStack Charm classes; + encapulates general OpenStack charm payload operations + """ packages = [] """Packages to install""" @@ -61,12 +69,14 @@ class OpenStackCharm(object): return "{}:{}".format(canonical_url(PUBLIC), self.api_port(self.default_service, PUBLIC)) + @property def admin_url(self): """Admin Endpoint URL""" return "{}:{}".format(canonical_url(ADMIN), self.api_port(self.default_service, ADMIN)) + @property def internal_url(self): """Internal Endpoint URL""" @@ -74,6 +84,7 @@ class OpenStackCharm(object): self.api_port(self.default_service, INTERNAL)) + class OpenStackCharmFactory(object): releases = {} @@ -94,5 +105,3 @@ class OpenStackCharmFactory(object): return cls.releases[release] else: return cls.releases[cls.first_release] - -