Skip to content
Snippets Groups Projects
Unverified Commit 13e45a7d authored by Alex's avatar Alex Committed by GitHub
Browse files

Update development.md

added hyperlinks
parent 76ffc69b
No related branches found
No related tags found
1 merge request!2repo: added new directory where utils scripts will be
......@@ -31,6 +31,8 @@ L2S-M
└── switch
```
In the L2S-M/src directory you will find the source code of each component, which is used to build the images in L2S-M/build.
In L2S-M/build/README.md there is a guide of how to use the Dockerfiles and build the docker images referencing the code in L2S-M/src. A script has been made to ease this task.
In L2S-M/deployment/custom-installation there is a guide on how to install each component in kubernetes, that will enable the developing of specific parts of L2S-M
## Prerequisites
......@@ -39,7 +41,7 @@ Before you begin, ensure you have met the following requirements:
- A kubernetes cluster you have complete access to.
- Multus installed in the cluster.
- For each component you're gonna develop, you may need specific tools and software.
- L2S-M custom installation. Install L2S-M up to the component you want to modify/debug/develop, and come back here to check how to proceed with the installation.
- [L2S-M custom installation](../deployments/custom-installation/). Install L2S-M up to the component you want to modify/debug/develop, and come back here to check how to proceed with the installation.
## Component Development and Deployment
......@@ -47,25 +49,23 @@ Before you begin, ensure you have met the following requirements:
1. **Custom installation**: The source code for `l2sm-controller` is hosted in a separate repository. Refer to it to see how this component works and how to change it and deploy it manually.
2. **Configuration**: Specify the IP address the `l2sm-controller` is working on in the `deployOperator.yaml` and `deploySwitch.yaml` files, in the L2S-M/deployment/custom-installation/ directory.
2. **Configuration**: Specify the IP address the `l2sm-controller` is working on in the `deployOperator.yaml` and `deploySwitch.yaml` files, in the [custom-installation](../deployments/custom-installation/) directory.
3. **Custom Installation**: Follow the custom installation instructions exactly as described in the `custom-installation` directory.
3. **Custom Installation**: Follow the custom installation instructions exactly as described in the [custom-installation](../deployments/custom-installation/) directory.
### L2SM-Operator
Note: you need python3 and the requirements specified in the L2S-M/src/operator/requirements.txt to run it.
>**Note:** you need python3 and the requirements specified in the [L2S-M/src/operator/requirements.txt](../src/operator/requirements.txt) to run it.
1. **Custom Installation**: Follow the custom installation steps up to the controller part.
1. **Database Setup**: Run the MySQL development database using `mysql-development.yaml`.
2. **Database Setup**: Run the MySQL development database using `mysql-development.yaml`.
2. **Configuration**: Update `launch.json` with the `l2sm-controller` service IP Address and the database IP Address. This file has been made to help launching the application locally.
3. **Configuration**: Update `launch.json` with the `l2sm-controller` service IP and the database IP. This file has been made to help launching the application locally.
4. **Debugging**: In Visual Studio Code, run the debug Kopf application. It will launch the app in a terminal, but it doesn't allow actual debugging tools such as custom breakpoints, as it's not a feature in kopf applications.
3. **Debugging**: In Visual Studio Code, run the debug Kopf application. It will launch the app in a terminal, but it doesn't allow actual debugging tools such as custom breakpoints, as it's not a feature in kopf applications.
### L2SM-Switch
1. **Deployment**: Deploy `l2sm-switch` normally, ensuring to comment out `initContainers` in the YAML file. Remove the initial configuration script by using as input args: ["sleep infinity"]
1. **Deployment**: Deploy `l2sm-switch` normally, ensuring to comment out `initContainers` in the YAML file. Remove the initial configuration script by using as input spec.container.args: ["sleep infinity"]
2. **Debugging**: For debugging, remove the initial configuration script by and use `exec -it` on the pods to achieve the desired configuration. Since it doesn’t run any background process, no specific image is needed, the current one implements custom commands that enable the current configuration.
2. **Debugging**: For debugging, remove the initial configuration script by and use `exec -it` on the pods to achieve the desired configuration. Since it doesn’t run any background process, no specific image is needed, the current one implements custom commands that enable the current configuration, you can check in the script [L2S-M/src/switch/setup_switch.sh](../src/switch/setup_switch.sh) how the configuration is made.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment