# Contributing ## Overview This documents explains the processes and practices recommended for contributing enhancements to this operator. - Generally, before developing enhancements to this charm, you should consider [opening an issue ](https://osm.etsi.org/bugzilla/enter_bug.cgi?product=OSM) explaining your use case. (Component=devops, version=master) - If you would like to chat with us about your use-cases or proposed implementation, you can reach us at [OSM Juju public channel](https://opensourcemano.slack.com/archives/C027KJGPECA). - Familiarising yourself with the [Charmed Operator Framework](https://juju.is/docs/sdk) library will help you a lot when working on new features or bug fixes. - All enhancements require review before being merged. Code review typically examines - code quality - test coverage - user experience for Juju administrators this charm. - Please help us out in ensuring easy to review branches by rebasing your gerrit patch onto the `master` branch. ## Developing You can use the environments created by `tox` for development: ```shell tox --notest -e unit source .tox/unit/bin/activate ``` ### Testing ```shell tox -e fmt # update your code according to linting rules tox -e lint # code style tox -e unit # unit tests tox -e integration # integration tests tox # runs 'lint' and 'unit' environments ``` ## Build charm Build the charm in this git repository using: ```shell charmcraft pack ``` ### Deploy ```bash # Create a model juju add-model dev # Enable DEBUG logging juju model-config logging-config="=INFO;unit=DEBUG" # Deploy the charm juju deploy ./osm-nbi_ubuntu-20.04-amd64.charm \ --resource nbi-image=opensourcemano/nbi:testing-daily ```