sunbeam-charms/charms/cinder-ceph-k8s/CONTRIBUTING.md
James Page 42e8bc6e42 Update for 2024.1
Refresh 2023.2 -> 2024.1 which will impact all charms, so we
should not need to pre-seed the edge channel before this works.

Refresh 23.09 -> 24.03 for OVN charms.

Option sql_connection is removed form 2024.1 release [1]
Use below snippet for magnum-k8s conf template
[database]
connection = <>

Update horizon local_settings.py.j2 template

[1] https://docs.openstack.org/releasenotes/oslo.db/en_GB/2024.1.html

Mark tempest test as non-voting as its currently unstable.

Change-Id: I4e277a4c5e438e2f2112a167b0f3050c1526cd0a
2024-04-18 23:21:03 +00:00

1.4 KiB

cinder-ceph-k8s

Developing

Create and activate a virtualenv with the development requirements:

virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements-dev.txt

Code overview

Get familiarise with Charmed Operator Framework and Sunbeam documentation.

cinder-ceph-k8s charm uses the ops_sunbeam library and extends OSBaseOperatorCharm from the library.

cinder-ceph-k8s charm consumes database relation to connect to database, amqp to connect to rabbitmq and ceph relation to connect to external ceph.

The charm starts cinder-volume service with integration with ceph as storage backend.

Intended use case

cinder-ceph-k8s charm deploys and configures OpenStack Block storage service with ceph as backend storage on a kubernetes based environment.

Roadmap

TODO

Testing

The Python operator framework includes a very nice harness for testing operator behaviour without full deployment. Run tests using command:

tox -e py3

Deployment

This project uses tox for building and managing. To build the charm run:

tox -e build

To deploy the local test instance:

juju deploy ./cinder-ceph-k8s_ubuntu-20.04-amd64.charm --resource cinder-volume-image=ghcr.io/canonical/cinder-volume:2024.1