
Adds the basic charm, with the typical relations and setup. Change-Id: I7e9c075e266326060eebbd3db08123d178a7fa36 Signed-off-by: Claudiu Belu <cbelu@cloudbasesolutions.com>
1.6 KiB
manila-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 familiarised with Charmed Operator Framework and Sunbeam documentation.
manila-k8s charm uses the ops_sunbeam library and extends OSBaseOperatorAPICharm from the library.
manila-k8s charm consumes database relation to connect to database, identity-service to register the service endpoints to keystone and ingress-internal/ingress-public relation to get exposed over internal and public networks.
Intended use case
manila-k8s charm deploys and configures OpenStack Shared Filesystems service 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 --root ../../ -e py3 -- manila-k8s
Deployment
This project uses tox for building and managing. To build the charm run:
tox --root ../../ -e build -- manila-k8s
To deploy the local test instance:
juju deploy ./manila-k8s.charm manila --trust \
--resource manila-api-image=ghcr.io/canonical/manila-api:2025.1 \
--resource manila-scheduler-image=ghcr.io/canonical/manila-scheduler:2025.1
To upgrade / refresh the manila-k8s charm with a locally-built charm, use the following command:
juju refresh manila --path ./manila-k8s.charm