fix the broken links in development.md
[ovn4nfv-k8s-plugin.git] / doc / development.md
1 # Developer Information
2
3 ## How to build the ovn4nfv?
4
5 ovn4nfv-k8s-plugin is maintained in opnfv gerrit repositry.[https://gerrit.opnfv.org/gerrit/admin/repos/ovn4nfv-k8s-plugin](
6 https://gerrit.opnfv.org/gerrit/admin/repos/ovn4nfv-k8s-plugin)
7
8 The github page [github.com/opnfv/ovn4nfv-k8s-plugin](https://github.com/opnfv/ovn4nfv-k8s-plugin/)
9 is github mirror repository for the user.
10
11 Contributor login with Linux Foundation ID into [https://gerrit.opnfv.org/gerrit/admin/repos/ovn4nfv-k8s-plugin](https://gerrit.opnfv.org/gerrit/admin/repos/ovn4nfv-k8s-plugin)
12 and add their ssh key or use the LF username and password
13
14 ### How to build ovn4nfv entity?
15
16 Before packaging the ovn4nfv images, please make sure your feature request or
17 modification are compilable as follows:
18
19 ```
20 # git clone https://github.com/opnfv/ovn4nfv-k8s-plugin.git
21 # make all
22 ```
23
24 you can use gerrit anonymous http clone or clone with commit-msg hook. Above example show the clone with github
25
26 There are 3 components within the ovn4nfv-k8s-plugin - `nfn-operator`, `ovn4nfvk8s-cni` & `nfn-agent`.
27
28 All these components can be modified and build separately using the commands -  `make nfn-operator`, `make ovn4nfvk8s-cni` &
29 `make nfn-agent`
30
31 All the components can be cleaned with `make clean`
32
33 ### How to run the CI tests?
34
35 ovn4nfv-k8s-plugin has go unit test for all golang package. For CNI testing is based on ginkgo framework.
36 The following command run the unit tests and it is intergrated with opnfv gerrit review to give +1
37
38 ```
39 # make test
40 ```
41
42 ### How to build docker images?
43
44 The ovn4nfv project has 2 major docker images for ovn/ovs operations and network
45 controller. The ovn4nfv currently support and tested in ubuntu and centos distro.
46 In this documentation, developer get the information regarding how to build and
47 package the docker images
48
49 - ovn dockerfile is maintained for centos and ubuntu package in the `utilities/docker` folder
50 - ovn4nfv k8s plugin dockerfile is maintained for centos and ubuntu in the `build` folder
51
52 #### ubuntu distro
53 Build the ovn-images
54 ```
55 pushd utilities/docker && \
56 docker build --no-cache --rm -t integratedcloudnative/ovn-images:master . -f debian/Dockerfile && \
57 popd
58 ```
59 Build the ovn4nfv-k8s-plugin images
60 ```
61 docker build --no-cache --rm -t integratedcloudnative/ovn4nfv-k8s-plugin:master . -f build/Dockerfile && \
62 ```
63
64 docker images are tagged with intergratedcloudnative dockerhub.
65 For development purpose use your private dockerhub, if planning to test k8s deployment is more than one node.
66
67 #### centos distro
68 Build the ovn-images
69 ```
70 pushd utilities/docker && \
71 docker build --no-cache --rm -t integratedcloudnative/ovn-images:master . -f centos/Dockerfile && \
72 popd
73 ```
74 Build the ovn4nfv-k8s-plugin images
75 ```
76 docker build --no-cache --rm -t integratedcloudnative/ovn4nfv-k8s-plugin:master . -f build/Dockerfile.centos && \
77 ```
78
79 ### How to deploy the compiled ovn4nfv docker images in k8s cluster?
80
81 K8s yaml files in the `deploy` folder use that stable release of the ovn-images and ovn4nfv-k8s-plugin.
82 Please change the images in the yaml, if you deploying your compiled ovn4nfv images
83
84 Please follow the steps - [quickstart-installation-guide](https://github.com/opnfv/ovn4nfv-k8s-plugin#quickstart-installation-guide)
85
86 For the kubespray change the ansible variable - `ovn4nfv_ovn_image_version`, `ovn4nfv_k8s_plugin_image_version`,
87 `ovn4nfv_ovn_image_repo`, `ovn4nfv_k8s_plugin_image_repo` in the kubespray `roles/download/defaults/main.yml`
88
89 ### How to test the compiled ovn4nfv docker images in k8s cluster?
90
91 Please follow the steps -[doc/how-to-use.md#network-testing](https://github.com/opnfv/ovn4nfv-k8s-plugin/blob/master/doc/how-to-use.md#network-testing)