X-Git-Url: https://gerrit.onap.org/r/gitweb?p=oom.git;a=blobdiff_plain;f=CONTRIBUTING.md;h=1fdea5bde467b093aa921da1f63bc1cd6a20204b;hp=a932d65a531dd571603b6ea8e5dfb8d009a97685;hb=refs%2Fheads%2Fmaster;hpb=16337dc397afe0668e609d7edbcc5dc74d79b849 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a932d65a53..f736f079e4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,49 +17,51 @@ limitations under the License. # Contributing to OOM Thanks for taking the time to contribute to OOM! -Please see a few informations on how to dot it. +Please see some information on how to do it. -## How to become a contributor and submit your own code +## Local setup -### Environment setup +### Install helm-push plugin -In order to be able to check on your side before submitting, you'll need to -install some binaries: +In order to push locally built charts to chartmuseum, the `helm-push` plugin must be installed. You can do that with: -* helm (satisfying the targeted version as seen in [setup guide]( -docs/oom_cloud_setup_guide.rst#software-requirements). -* chartmuseum (in order to push dependency charts) -* helm push (version 0.9.0 as of today) -* make - -### Linting and testing - -OOM use helm linting in order to check that the templates rendering is correct -with default values. +```sh +$ helm plugin install https://github.com/chartmuseum/helm-push +Downloading and installing helm-push v0.10.4 ... +https://github.com/chartmuseum/helm-push/releases/download/v0.10.3/helm-push_0.10.4_linux_amd64.tar.gz +Installed plugin: cm-push +``` -first step is to start chartmuseum: +### Run chartmuseum -```shell +``` shell +mkdir -p charts && docker-compose up +``` +or +``` shell nohup chartmuseum --storage="local" --storage-local-rootdir="/tmp/chartstorage" \ --port 6464 & ``` -then you add `local` repository to helm: +### Add a `local` chart repository +OOM contains `make` files that build the charts and push them to the local chartmuseum. +For that to work, helm needs to know about the `local` helm repository. ```shell -helm repo remove local && helm repo add local http://localhost:6464 +helm repo remove local; helm repo add local http://localhost:6464 ``` -As full rendering may be extremely long (~9h), you can only lint the common -part and the component you're working on. -Here's an example with AAI: +### Linting and testing +OOM uses helm linting in order to check that the template rendering is correct with default values. +As full rendering may be extremely long (~9h), you may only want to lint the common part and the component you're working on. +Here's an example with AAI: ```shell cd kubernetes make common && make aai ``` -If you work on non default path, it's strongly advised to also render the +If you work on a non default path, it's strongly advised to also render the template of your component / subcomponent to be sure it's as expected. Here's an example enabling service mesh on aai graphadmin: @@ -68,21 +70,19 @@ Here's an example enabling service mesh on aai graphadmin: cd aai/components/ helm template --release-name onap --debug \ --set global.ingress.virtualhost.baseurl=toto \ - --set global.ingress.enabled=true --set global.masterPassword="toto" \ - --set global.serviceMesh.enabled=true --set global.serviceMesh.tls=true \ + --set global.ingress.enabled=true \ + --set global.masterPassword="toto" \ + --set global.serviceMesh.enabled=true \ + --set global.serviceMesh.tls=true \ aai-graphadmin ``` +All the output will be rendered YAML if everything works as expected or an error if something goes wrong. +Usually the errors come from bad indentation or unknown values. -All the output will be the rendered YAML if it's OK or you may see an error. -Usually the errors comes from bad indentation or unknown value. - -### Contributing A Patch - +### Contributing a Patch 1. Fork the desired repo, develop and test your code changes. 2. Sign the LFN CLA () 3. Submit a pull request. 4. Work with the reviewers on their suggestions. -5. Ensure to rebase to the HEAD of your target branch and squash un-necessary - commits ( - ) - before final merger of your contribution. +5. Ensure to rebase to the HEAD of your target branch and [squash un-necessary commits](https://blog.carbonfive.com/always-squash-and-rebase-your-git-commits/) + before finally mergin your contribution.