From 1866f094fbe1c471ba450ed54e24098ca74a3267 Mon Sep 17 00:00:00 2001 From: Hemanth Nakkina Date: Mon, 18 Jul 2022 09:43:47 +0530 Subject: [PATCH] rename package names and code cleanup Following changes are done as part of this patch * Rename package name to ops_sunbeam * Rename shared_code/aso_charm to shared_code/sunbeam_charm * Modify rest of scripts as per above changes * Code cleanup --- ops-sunbeam/README.rst | 18 +++++++-------- ops-sunbeam/{ => doc}/concepts.rst | 16 ++++++------- .../{ => doc}/howto-config-context.rst | 2 ++ .../{ => doc}/howto-expose-services.rst | 9 ++++---- .../{ => doc}/howto-pebble-handler.rst | 4 ++-- .../{ => doc}/howto-relation-handler.rst | 0 .../{ => doc}/writing-OS-API-charm.rst | 6 ++--- .../__init__.py | 0 .../charm.py | 23 +++++++++---------- .../config_contexts.py | 4 ++-- .../container_handlers.py | 4 ++-- .../core.py | 6 ++--- .../guard.py | 0 .../interfaces.py | 0 .../ovn/__init__.py | 0 .../ovn/charm.py | 0 .../ovn/config_contexts.py | 0 .../ovn/container_handlers.py | 0 .../ovn/relation_handlers.py | 0 .../relation_handlers.py | 2 +- .../templating.py | 2 +- .../test_utils.py | 0 ops-sunbeam/requirements.txt | 1 - ops-sunbeam/setup.cfg | 2 +- ops-sunbeam/setup.py | 2 +- ...so-charm-init.py => sunbeam-charm-init.py} | 2 +- .../cookiecutter.json | 0 .../actions.yaml | 0 .../charmcraft.yaml | 0 .../{{cookiecutter.service_name}}/config.yaml | 0 .../metadata.yaml | 0 .../requirements.txt | 3 +-- .../src/charm.py | 2 +- .../src/templates/ceph.conf.j2 | 0 .../src/templates/parts/database-connection | 0 .../src/templates/parts/identity-data | 0 .../src/templates/parts/section-database | 0 .../src/templates/parts/section-federation | 0 .../src/templates/parts/section-identity | 0 .../src/templates/parts/section-middleware | 0 .../src/templates/parts/section-signing | 0 .../src/templates/wsgi-template.conf.j2 | 0 .../test-requirements.txt | 0 .../{{cookiecutter.service_name}}/tox.ini | 0 ...so-charm-init.sh => sunbeam-charm-init.sh} | 2 +- ops-sunbeam/tox.ini | 20 +++++++++++++--- ops-sunbeam/unit_tests/test_charms.py | 2 +- ops-sunbeam/unit_tests/test_core.py | 6 ++--- 48 files changed, 75 insertions(+), 63 deletions(-) rename ops-sunbeam/{ => doc}/concepts.rst (92%) rename ops-sunbeam/{ => doc}/howto-config-context.rst (97%) rename ops-sunbeam/{ => doc}/howto-expose-services.rst (93%) rename ops-sunbeam/{ => doc}/howto-pebble-handler.rst (96%) rename ops-sunbeam/{ => doc}/howto-relation-handler.rst (100%) rename ops-sunbeam/{ => doc}/writing-OS-API-charm.rst (97%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/__init__.py (100%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/charm.py (96%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/config_contexts.py (97%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/container_handlers.py (98%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/core.py (92%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/guard.py (100%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/interfaces.py (100%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/ovn/__init__.py (100%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/ovn/charm.py (100%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/ovn/config_contexts.py (100%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/ovn/container_handlers.py (100%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/ovn/relation_handlers.py (100%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/relation_handlers.py (99%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/templating.py (97%) rename ops-sunbeam/{advanced_sunbeam_openstack => ops_sunbeam}/test_utils.py (100%) rename ops-sunbeam/shared_code/{aso-charm-init.py => sunbeam-charm-init.py} (98%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/cookiecutter.json (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/actions.yaml (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/charmcraft.yaml (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/config.yaml (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/metadata.yaml (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/requirements.txt (76%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/src/charm.py (97%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/src/templates/ceph.conf.j2 (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/src/templates/parts/database-connection (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/src/templates/parts/identity-data (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/src/templates/parts/section-database (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/src/templates/parts/section-federation (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/src/templates/parts/section-identity (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/src/templates/parts/section-middleware (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/src/templates/parts/section-signing (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/src/templates/wsgi-template.conf.j2 (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/test-requirements.txt (100%) rename ops-sunbeam/shared_code/{aso_charm => sunbeam_charm}/{{cookiecutter.service_name}}/tox.ini (100%) rename ops-sunbeam/{aso-charm-init.sh => sunbeam-charm-init.sh} (73%) diff --git a/ops-sunbeam/README.rst b/ops-sunbeam/README.rst index 1cbe52f9..8221a634 100644 --- a/ops-sunbeam/README.rst +++ b/ops-sunbeam/README.rst @@ -1,23 +1,23 @@ -======================================== -Advanced Sunbeam OpenStack Documentation -======================================== +=============================== +Sunbeam OpenStack Documentation +=============================== Tutorials ######### -`Writing an OpenStack API charm with ASO `_. +`Writing an OpenStack API charm with Sunbeam `_. How-Tos ####### -`How-To write a pebble handler `_. +`How-To write a pebble handler `_. -`How-To write a relation handler `_. +`How-To write a relation handler `_. -`How-To write a charm context `_. +`How-To write a charm context `_. -`How-To expose services outside of K8S `_. +`How-To expose services outside of K8S `_. Reference @@ -29,4 +29,4 @@ Concepts ######## -`ASO Concepts `_. +`Sunbeam Concepts `_. diff --git a/ops-sunbeam/concepts.rst b/ops-sunbeam/doc/concepts.rst similarity index 92% rename from ops-sunbeam/concepts.rst rename to ops-sunbeam/doc/concepts.rst index f58faee9..19fe2361 100644 --- a/ops-sunbeam/concepts.rst +++ b/ops-sunbeam/doc/concepts.rst @@ -1,18 +1,18 @@ -============================================ -Advanced Sunbeam OpenStack OPS Charm Anatomy -============================================ +=================================== +Sunbeam OpenStack OPS Charm Anatomy +=================================== Overview -------- -Advanced Sunbeam OpenStack is designed to help with writing charms that -use the `Charmed Operator Framework `__ and are +Sunbeam OpenStack is designed to help with writing charms that use the +`Charmed Operator Framework `__ and are deployed on Kubernetes. For the rest of this document when a charm is referred to it is implied that it is a Charmed Operator framework charm on Kubernetes. -It general a charm interacts with relations, renders configuration files and manages -services. ASO gives a charm a consistent way of doing this by implementing -Container handlers and Relation handlers. +It general a charm interacts with relations, renders configuration files and +manages services. Sunbeam Ops gives a charm a consistent way of doing this by +implementing Container handlers and Relation handlers. Relation Handlers ----------------- diff --git a/ops-sunbeam/howto-config-context.rst b/ops-sunbeam/doc/howto-config-context.rst similarity index 97% rename from ops-sunbeam/howto-config-context.rst rename to ops-sunbeam/doc/howto-config-context.rst index 6681fd14..bd8be23f 100644 --- a/ops-sunbeam/howto-config-context.rst +++ b/ops-sunbeam/doc/howto-config-context.rst @@ -43,6 +43,8 @@ The charm can append the new context onto those provided by the base class. .. code:: python + import ops_sunbeam.charm as sunbeam_charm + class MyCharm(sunbeam_charm.OSBaseOperatorAPICharm): """Charm the service.""" diff --git a/ops-sunbeam/howto-expose-services.rst b/ops-sunbeam/doc/howto-expose-services.rst similarity index 93% rename from ops-sunbeam/howto-expose-services.rst rename to ops-sunbeam/doc/howto-expose-services.rst index 74176823..3f1ea62a 100644 --- a/ops-sunbeam/howto-expose-services.rst +++ b/ops-sunbeam/doc/howto-expose-services.rst @@ -16,11 +16,10 @@ is required to the API endpoints from outside of Kubernetes - this is used by both end-users of the cloud as well as from machine based charms supporting OpenStack Hypervisors. -Operator charms for API or other web services written using Advanced -Sunbeam OpenStack will automatically patch the Juju created service -entry to be of type LoadBalancer, enabling Kubernetes to expose the -service to the outside world using a suitable Load Balancer -implementation. +Operator charms for API or other web services written using Sunbeam +OpenStack will automatically patch the Juju created service entry to +be of type LoadBalancer, enabling Kubernetes to expose the service to +the outside world using a suitable Load Balancer implementation. ++++++++ MicroK8S diff --git a/ops-sunbeam/howto-pebble-handler.rst b/ops-sunbeam/doc/howto-pebble-handler.rst similarity index 96% rename from ops-sunbeam/howto-pebble-handler.rst rename to ops-sunbeam/doc/howto-pebble-handler.rst index 6967de8c..efbc284a 100644 --- a/ops-sunbeam/howto-pebble-handler.rst +++ b/ops-sunbeam/doc/howto-pebble-handler.rst @@ -20,9 +20,9 @@ other container) then `PebbleHandler` should be used. .. code:: python - import container_handlers + import ops_sunbeam.container_handlers as sunbeam_chandlers - class MyServicePebbleHandler(container_handlers.ServicePebbleHandler): + class MyServicePebbleHandler(sunbeam_chandlers.ServicePebbleHandler): """Manage MyService Container.""" The handlers can create directories in the container once the pebble is diff --git a/ops-sunbeam/howto-relation-handler.rst b/ops-sunbeam/doc/howto-relation-handler.rst similarity index 100% rename from ops-sunbeam/howto-relation-handler.rst rename to ops-sunbeam/doc/howto-relation-handler.rst diff --git a/ops-sunbeam/writing-OS-API-charm.rst b/ops-sunbeam/doc/writing-OS-API-charm.rst similarity index 97% rename from ops-sunbeam/writing-OS-API-charm.rst rename to ops-sunbeam/doc/writing-OS-API-charm.rst index bc1a0ede..9cf5b33b 100644 --- a/ops-sunbeam/writing-OS-API-charm.rst +++ b/ops-sunbeam/doc/writing-OS-API-charm.rst @@ -25,8 +25,8 @@ Add ASO common files to new charm. The script will ask a few basic questions: .. code:: bash git clone https://github.com/openstack-charmers/advanced-sunbeam-openstack - cd advanced-sunbeam-openstack/shared_code - ./aso-charm-init.sh ~/branches/charm-ironic-operator + cd advanced-sunbeam-openstack + ./sunbeam-charm-init.sh ~/branches/charm-ironic-operator This tool is designed to be used after 'charmcraft init' was initially run service_name [ironic]: ironic @@ -151,4 +151,4 @@ preset. Then check the ironic api service is reponding. "version": "1.72" } ] - } \ No newline at end of file + } diff --git a/ops-sunbeam/advanced_sunbeam_openstack/__init__.py b/ops-sunbeam/ops_sunbeam/__init__.py similarity index 100% rename from ops-sunbeam/advanced_sunbeam_openstack/__init__.py rename to ops-sunbeam/ops_sunbeam/__init__.py diff --git a/ops-sunbeam/advanced_sunbeam_openstack/charm.py b/ops-sunbeam/ops_sunbeam/charm.py similarity index 96% rename from ops-sunbeam/advanced_sunbeam_openstack/charm.py rename to ops-sunbeam/ops_sunbeam/charm.py index 57c6c2af..33e01221 100644 --- a/ops-sunbeam/advanced_sunbeam_openstack/charm.py +++ b/ops-sunbeam/ops_sunbeam/charm.py @@ -15,19 +15,18 @@ """Base classes for defining a charm using the Operator framework. This library provided OSBaseOperatorCharm and OSBaseOperatorAPICharm. The -charm classes use advanced_sunbeam_openstack.relation_handlers.RelationHandler -objects to interact with relations. These objects also provide contexts which +charm classes use ops_sunbeam.relation_handlers.RelationHandler objects +to interact with relations. These objects also provide contexts which can be used when defining templates. In addition to the Relation handlers the charm class can also use -advanced_sunbeam_openstack.config_contexts.ConfigContext objects which -can be used when rendering templates, these are not specific to a relation. +ops_sunbeam.config_contexts.ConfigContext objects which can be +used when rendering templates, these are not specific to a relation. The charm class interacts with the containers it is managing via -advanced_sunbeam_openstack.container_handlers.PebbleHandler. The -PebbleHandler defines the pebble layers, manages pushing -configuration to the containers and managing the service running -in the container. +ops_sunbeam.container_handlers.PebbleHandler. The PebbleHandler +defines the pebble layers, manages pushing configuration to the +containers and managing the service running in the container. """ import ipaddress @@ -42,10 +41,10 @@ import ops.pebble from lightkube import Client from lightkube.resources.core_v1 import Service -import advanced_sunbeam_openstack.config_contexts as sunbeam_config_contexts -import advanced_sunbeam_openstack.container_handlers as sunbeam_chandlers -import advanced_sunbeam_openstack.core as sunbeam_core -import advanced_sunbeam_openstack.relation_handlers as sunbeam_rhandlers +import ops_sunbeam.config_contexts as sunbeam_config_contexts +import ops_sunbeam.container_handlers as sunbeam_chandlers +import ops_sunbeam.core as sunbeam_core +import ops_sunbeam.relation_handlers as sunbeam_rhandlers import charms.observability_libs.v0.kubernetes_service_patch as kube_svc_patch diff --git a/ops-sunbeam/advanced_sunbeam_openstack/config_contexts.py b/ops-sunbeam/ops_sunbeam/config_contexts.py similarity index 97% rename from ops-sunbeam/advanced_sunbeam_openstack/config_contexts.py rename to ops-sunbeam/ops_sunbeam/config_contexts.py index 04032a99..ba9c1f5f 100644 --- a/ops-sunbeam/advanced_sunbeam_openstack/config_contexts.py +++ b/ops-sunbeam/ops_sunbeam/config_contexts.py @@ -24,7 +24,7 @@ import logging from typing import TYPE_CHECKING if TYPE_CHECKING: - import advanced_sunbeam_openstack.charm + import ops_sunbeam.charm logger = logging.getLogger(__name__) @@ -38,7 +38,7 @@ class ConfigContext: def __init__( self, - charm: "advanced_sunbeam_openstack.charm.OSBaseOperatorCharm", + charm: "ops_sunbeam.charm.OSBaseOperatorCharm", namespace: str, ) -> None: """Run constructor.""" diff --git a/ops-sunbeam/advanced_sunbeam_openstack/container_handlers.py b/ops-sunbeam/ops_sunbeam/container_handlers.py similarity index 98% rename from ops-sunbeam/advanced_sunbeam_openstack/container_handlers.py rename to ops-sunbeam/ops_sunbeam/container_handlers.py index 3bf8eafb..6007926a 100644 --- a/ops-sunbeam/advanced_sunbeam_openstack/container_handlers.py +++ b/ops-sunbeam/ops_sunbeam/container_handlers.py @@ -22,8 +22,8 @@ in the container. import collections import logging -import advanced_sunbeam_openstack.core as sunbeam_core -import advanced_sunbeam_openstack.templating as sunbeam_templating +import ops_sunbeam.core as sunbeam_core +import ops_sunbeam.templating as sunbeam_templating import ops.charm import ops.pebble diff --git a/ops-sunbeam/advanced_sunbeam_openstack/core.py b/ops-sunbeam/ops_sunbeam/core.py similarity index 92% rename from ops-sunbeam/advanced_sunbeam_openstack/core.py rename to ops-sunbeam/ops_sunbeam/core.py index 9d5612b3..f661bfc1 100644 --- a/ops-sunbeam/advanced_sunbeam_openstack/core.py +++ b/ops-sunbeam/ops_sunbeam/core.py @@ -18,9 +18,9 @@ import collections from typing import Generator, List, TYPE_CHECKING, Tuple, Union if TYPE_CHECKING: - from advanced_sunbeam_openstack.charm import OSBaseOperatorCharm - from advanced_sunbeam_openstack.config_contexts import ConfigContext - from advanced_sunbeam_openstack.relation_handlers import RelationHandler + from ops_sunbeam.charm import OSBaseOperatorCharm + from ops_sunbeam.config_contexts import ConfigContext + from ops_sunbeam.relation_handlers import RelationHandler ContainerConfigFile = collections.namedtuple( "ContainerConfigFile", diff --git a/ops-sunbeam/advanced_sunbeam_openstack/guard.py b/ops-sunbeam/ops_sunbeam/guard.py similarity index 100% rename from ops-sunbeam/advanced_sunbeam_openstack/guard.py rename to ops-sunbeam/ops_sunbeam/guard.py diff --git a/ops-sunbeam/advanced_sunbeam_openstack/interfaces.py b/ops-sunbeam/ops_sunbeam/interfaces.py similarity index 100% rename from ops-sunbeam/advanced_sunbeam_openstack/interfaces.py rename to ops-sunbeam/ops_sunbeam/interfaces.py diff --git a/ops-sunbeam/advanced_sunbeam_openstack/ovn/__init__.py b/ops-sunbeam/ops_sunbeam/ovn/__init__.py similarity index 100% rename from ops-sunbeam/advanced_sunbeam_openstack/ovn/__init__.py rename to ops-sunbeam/ops_sunbeam/ovn/__init__.py diff --git a/ops-sunbeam/advanced_sunbeam_openstack/ovn/charm.py b/ops-sunbeam/ops_sunbeam/ovn/charm.py similarity index 100% rename from ops-sunbeam/advanced_sunbeam_openstack/ovn/charm.py rename to ops-sunbeam/ops_sunbeam/ovn/charm.py diff --git a/ops-sunbeam/advanced_sunbeam_openstack/ovn/config_contexts.py b/ops-sunbeam/ops_sunbeam/ovn/config_contexts.py similarity index 100% rename from ops-sunbeam/advanced_sunbeam_openstack/ovn/config_contexts.py rename to ops-sunbeam/ops_sunbeam/ovn/config_contexts.py diff --git a/ops-sunbeam/advanced_sunbeam_openstack/ovn/container_handlers.py b/ops-sunbeam/ops_sunbeam/ovn/container_handlers.py similarity index 100% rename from ops-sunbeam/advanced_sunbeam_openstack/ovn/container_handlers.py rename to ops-sunbeam/ops_sunbeam/ovn/container_handlers.py diff --git a/ops-sunbeam/advanced_sunbeam_openstack/ovn/relation_handlers.py b/ops-sunbeam/ops_sunbeam/ovn/relation_handlers.py similarity index 100% rename from ops-sunbeam/advanced_sunbeam_openstack/ovn/relation_handlers.py rename to ops-sunbeam/ops_sunbeam/ovn/relation_handlers.py diff --git a/ops-sunbeam/advanced_sunbeam_openstack/relation_handlers.py b/ops-sunbeam/ops_sunbeam/relation_handlers.py similarity index 99% rename from ops-sunbeam/advanced_sunbeam_openstack/relation_handlers.py rename to ops-sunbeam/ops_sunbeam/relation_handlers.py index 57a0372f..0c2e5318 100644 --- a/ops-sunbeam/advanced_sunbeam_openstack/relation_handlers.py +++ b/ops-sunbeam/ops_sunbeam/relation_handlers.py @@ -23,7 +23,7 @@ from urllib.parse import urlparse import ops.charm import ops.framework -import advanced_sunbeam_openstack.interfaces as sunbeam_interfaces +import ops_sunbeam.interfaces as sunbeam_interfaces logger = logging.getLogger(__name__) diff --git a/ops-sunbeam/advanced_sunbeam_openstack/templating.py b/ops-sunbeam/ops_sunbeam/templating.py similarity index 97% rename from ops-sunbeam/advanced_sunbeam_openstack/templating.py rename to ops-sunbeam/ops_sunbeam/templating.py index cae33465..01aa7b9f 100644 --- a/ops-sunbeam/advanced_sunbeam_openstack/templating.py +++ b/ops-sunbeam/ops_sunbeam/templating.py @@ -20,7 +20,7 @@ from pathlib import Path from typing import List, TYPE_CHECKING if TYPE_CHECKING: - import advanced_sunbeam_openstack.core as sunbeam_core + import ops_sunbeam.core as sunbeam_core import ops.model from charmhelpers.contrib.openstack.templating import get_loader diff --git a/ops-sunbeam/advanced_sunbeam_openstack/test_utils.py b/ops-sunbeam/ops_sunbeam/test_utils.py similarity index 100% rename from ops-sunbeam/advanced_sunbeam_openstack/test_utils.py rename to ops-sunbeam/ops_sunbeam/test_utils.py diff --git a/ops-sunbeam/requirements.txt b/ops-sunbeam/requirements.txt index 41f15b4d..cafb609d 100644 --- a/ops-sunbeam/requirements.txt +++ b/ops-sunbeam/requirements.txt @@ -3,7 +3,6 @@ jinja2 kubernetes ops python-keystoneclient -git+https://opendev.org/openstack/charm-ops-openstack#egg=ops_openstack git+https://github.com/openstack/charm-ops-interface-ceph-client#egg=interface_ceph_client lightkube lightkube-models diff --git a/ops-sunbeam/setup.cfg b/ops-sunbeam/setup.cfg index 37b8ba47..049d4091 100644 --- a/ops-sunbeam/setup.cfg +++ b/ops-sunbeam/setup.cfg @@ -1,5 +1,5 @@ [metadata] -name = advanced_sunbeam_openstack +name = ops_sunbeam summary = Charm lib for OpenStack Charms using operator framework version = 0.0.1.dev1 description-file = diff --git a/ops-sunbeam/setup.py b/ops-sunbeam/setup.py index b3d48cf4..815b1038 100644 --- a/ops-sunbeam/setup.py +++ b/ops-sunbeam/setup.py @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Module used to setup the advanced_sunbeam_openstack framework.""" +"""Module used to setup the ops_sunbeam framework.""" from __future__ import print_function diff --git a/ops-sunbeam/shared_code/aso-charm-init.py b/ops-sunbeam/shared_code/sunbeam-charm-init.py similarity index 98% rename from ops-sunbeam/shared_code/aso-charm-init.py rename to ops-sunbeam/shared_code/sunbeam-charm-init.py index 71d0599d..bbb06288 100755 --- a/ops-sunbeam/shared_code/aso-charm-init.py +++ b/ops-sunbeam/shared_code/sunbeam-charm-init.py @@ -17,7 +17,7 @@ def start_msg(): def cookie(output_dir, extra_context): cookiecutter( - 'aso_charm/', + 'sunbeam_charm/', extra_context=extra_context, output_dir=output_dir) diff --git a/ops-sunbeam/shared_code/aso_charm/cookiecutter.json b/ops-sunbeam/shared_code/sunbeam_charm/cookiecutter.json similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/cookiecutter.json rename to ops-sunbeam/shared_code/sunbeam_charm/cookiecutter.json diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/actions.yaml b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/actions.yaml similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/actions.yaml rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/actions.yaml diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/charmcraft.yaml b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/charmcraft.yaml similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/charmcraft.yaml rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/charmcraft.yaml diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/config.yaml b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/config.yaml similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/config.yaml rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/config.yaml diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/metadata.yaml b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/metadata.yaml similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/metadata.yaml rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/metadata.yaml diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/requirements.txt b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/requirements.txt similarity index 76% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/requirements.txt rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/requirements.txt index e40a3ee7..eacad18a 100644 --- a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/requirements.txt +++ b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/requirements.txt @@ -1,7 +1,6 @@ ops jinja2 -git+https://opendev.org/openstack/charm-ops-openstack#egg=ops_openstack -git+https://github.com/openstack-charmers/advanced-sunbeam-openstack#egg=advanced_sunbeam_openstack +git+https://github.com/openstack-charmers/advanced-sunbeam-openstack#egg=ops_sunbeam lightkube # These are only needeed if the charm relates to ceph git+https://github.com/openstack/charm-ops-interface-ceph-client#egg=interface_ceph_client diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/charm.py b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/charm.py similarity index 97% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/charm.py rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/charm.py index e7dd6538..6956c798 100644 --- a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/charm.py +++ b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/charm.py @@ -9,7 +9,7 @@ import logging from ops.framework import StoredState from ops.main import main -import advanced_sunbeam_openstack.charm as sunbeam_charm +import ops_sunbeam.charm as sunbeam_charm logger = logging.getLogger(__name__) diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/ceph.conf.j2 b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/ceph.conf.j2 similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/ceph.conf.j2 rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/ceph.conf.j2 diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/database-connection b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/database-connection similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/database-connection rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/database-connection diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/identity-data b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/identity-data similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/identity-data rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/identity-data diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/section-database b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/section-database similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/section-database rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/section-database diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/section-federation b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/section-federation similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/section-federation rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/section-federation diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/section-identity b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/section-identity similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/section-identity rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/section-identity diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/section-middleware b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/section-middleware similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/section-middleware rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/section-middleware diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/section-signing b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/section-signing similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/parts/section-signing rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/parts/section-signing diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/wsgi-template.conf.j2 b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/wsgi-template.conf.j2 similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/src/templates/wsgi-template.conf.j2 rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/src/templates/wsgi-template.conf.j2 diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/test-requirements.txt b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/test-requirements.txt similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/test-requirements.txt rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/test-requirements.txt diff --git a/ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/tox.ini b/ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/tox.ini similarity index 100% rename from ops-sunbeam/shared_code/aso_charm/{{cookiecutter.service_name}}/tox.ini rename to ops-sunbeam/shared_code/sunbeam_charm/{{cookiecutter.service_name}}/tox.ini diff --git a/ops-sunbeam/aso-charm-init.sh b/ops-sunbeam/sunbeam-charm-init.sh similarity index 73% rename from ops-sunbeam/aso-charm-init.sh rename to ops-sunbeam/sunbeam-charm-init.sh index c23ea208..7064bf22 100755 --- a/ops-sunbeam/aso-charm-init.sh +++ b/ops-sunbeam/sunbeam-charm-init.sh @@ -2,4 +2,4 @@ [ -e .tox/cookie/bin/activate ] || tox -e cookie source .tox/cookie/bin/activate -shared_code/aso-charm-init.py $@ +shared_code/sunbeam-charm-init.py $@ diff --git a/ops-sunbeam/tox.ini b/ops-sunbeam/tox.ini index 6174d833..cec75be1 100644 --- a/ops-sunbeam/tox.ini +++ b/ops-sunbeam/tox.ini @@ -18,7 +18,7 @@ skip_missing_interpreters = False requires = pip < 20.3 virtualenv < 20.0 # NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci -minversion = 3.2.0 +minversion = 3.18.0 [testenv] setenv = VIRTUAL_ENV={envdir} @@ -71,7 +71,22 @@ deps = -r{toxinidir}/requirements.txt basepython = python3 deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt -commands = flake8 {posargs} src unit_tests tests advanced_sunbeam_openstack --exclude unit_tests/lib +commands = flake8 {posargs} src unit_tests tests ops_sunbeam --exclude unit_tests/lib + +[testenv:cover] +basepython = python3 +deps = -r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt +setenv = + {[testenv]setenv} + PYTHON=coverage run +commands = + coverage erase + stestr run --slowest {posargs} + coverage combine + coverage html -d cover + coverage xml -o cover/coverage.xml + coverage report [coverage:run] branch = True @@ -81,7 +96,6 @@ source = . omit = .tox/* - */charmhelpers/* unit_tests/* [testenv:venv] diff --git a/ops-sunbeam/unit_tests/test_charms.py b/ops-sunbeam/unit_tests/test_charms.py index c6eb078e..4ae4d0de 100644 --- a/ops-sunbeam/unit_tests/test_charms.py +++ b/ops-sunbeam/unit_tests/test_charms.py @@ -28,7 +28,7 @@ if TYPE_CHECKING: sys.path.append("unit_tests/lib") # noqa sys.path.append("src") # noqa -import advanced_sunbeam_openstack.charm as sunbeam_charm +import ops_sunbeam.charm as sunbeam_charm CHARM_CONFIG = """ options: diff --git a/ops-sunbeam/unit_tests/test_core.py b/ops-sunbeam/unit_tests/test_core.py index 222bc87e..9a86e074 100644 --- a/ops-sunbeam/unit_tests/test_core.py +++ b/ops-sunbeam/unit_tests/test_core.py @@ -21,8 +21,8 @@ import sys sys.path.append('lib') # noqa sys.path.append('src') # noqa -import advanced_sunbeam_openstack.charm as sunbeam_charm -import advanced_sunbeam_openstack.test_utils as test_utils +import ops_sunbeam.charm as sunbeam_charm +import ops_sunbeam.test_utils as test_utils from . import test_charms @@ -218,7 +218,7 @@ class TestOSBaseOperatorAPICharm(test_utils.CharmTestCase): self.harness.charm.public_url, 'http://public-url') - @mock.patch('advanced_sunbeam_openstack.charm.Client') + @mock.patch('ops_sunbeam.charm.Client') def test_endpoint_urls_no_ingress(self, mock_client: mock.patch) -> None: """Test public_url and internal_url with no ingress defined.""" class mock_service: