This sub-repository contains the Edge Infrastructure Manager Plugin implemented for Lenovo Open Cloud Automation (LOC-A), enabling the integration of the Edge Infrastructure Manager with LOC-A.
- Securely onboard and manage Edge Nodes
- Provision Edge Nodes with a curated set of bare metal agents and software, enabling the deployment of additional applications
Instructions on how to build and push the Edge Infrastructure Manager Plugin on your LOC-A instance.
Visit the LOC-A portal and navigate
to the Contact Us
page to request a license.
Follow the Lenovo-provided documentation to set up LOC-A. After completing the configuration, verify its correctness by accessing the LOC-A UI.
Find the plugin-tool
binary in the package provided by Lenovo under the obtained license and copy it in the current directory.
Locate the decrypt.py
script in the Lenovo package and move it to the edge-node/filter_plugins
directory.
Create a virtual environment and install the required dependencies.
Note: Ensure you have Python 3.x installed before proceeding.
# Create a virtual environment
make venv_locaplugin
Activate the virtual environment created in the previous step to ensure that all dependencies are correctly isolated and available for the plugin build process.
# Activate the virtual environment
source venv_locaplugin/bin/activate
Open the configs.yml
file and enter the LOC-A URL and login credentials.
# Example LOC-A credentials
locaUrl: https://loca.example.com
locaUser: admin
Run the create-loca-plugin.sh
script to build and publish the Edge Infrastructure Manager Plugin.
# Run the script
./create-loca-plugin.sh
Note: Make sure to configure proxy on the host and set up a container tool of your choice, as the build process runs inside a container that requires internet access.
See the documentation if you want to learn more about using Edge Orchestrator.
To learn how to contribute to the project, see the contributor's guide. The project will accept contributions through Pull-Requests (PRs). PRs must be built successfully by the CI pipeline, pass linters verifications and the unit tests.
There are several convenience make targets to support developer activities, you can use help
to see a list of makefile
targets. The following is a list of makefile targets that support developer activities:
lint
to run a list of linting targetsansiblelint
to lint ansible modulesmdlint
to lint markdown filesyamllint
to lint yaml filesreuse
to check the reuse complianceshellcheck
to lint shell scriptsclean
to delete the virtual environment
To learn more about internals and software architecture, see Edge Infrastructure Manager developer documentation.