Important
-
Rename all occurances of "cloud-provider" to the new Cloud Provider "new-cp":
new_cp_name=new-cp find . -type f ! -name 'README.md' -not -path "./.git/*" -not -path "./submodule-one-deploy-validation/*" -exec sed -i 's/cloud-provider/'$new_cp_name'/g' {} + mv inventory/cloud-provider.yml inventory/$new_cp_name.yml mv playbooks/cloud-provider.yml playbooks/$new_cp_name.yml
-
The repository is ready to start working on the deployment values of OpenNebula, specific to the new Cloud Provider. Replace all
<<TBA>>
occurances:grep -nR "<<TBA>>" .
-
Update the README.md with link to the infrastructure provisions guide, that provides the starting point for this repo's steps. Update the table of required parameters in the README.md to match the provisioned infrastructure and facilitate easy extraction of the parameters by following the same variable names. Upload the logo of the cloud provider and make any necessary adjustments.
-
Implement the specific automations required on the cloud providers infrastructure to make OpenNebula fully functional (public IP routing, platform-specific configurations, etc.), as tested by the verification steps.
-
Remove this note from the README.md
TBA-cloud-provider: logos of OpenNebula and the Cloud Provider
This repository contains the needed code and documentation to perform an OpenNebula deployment and configuration as a Hosted Cloud on TBA-cloud-provider resources. It extends the one-deploy-validation repository, which is added as a git submodule.
-
Install
hatch
pip install hatch
-
Initialize the dependent
one-deploy-validation
submodulegit submodule update --init --remote --merge
-
Install the
opennebula.deploy
collection with dependencies using the submodule's tooling:make submodule-requirements
A detailed guide to provision the required reference infrastructure is published in {ADD LINK TO THE GUIDE HERE}. Follow the provisioning steps and extract the requiremed parameters needed to proceed with the OpenNebula deployment.
Update the inventory values to match the provisioned infrastructure.
Description | Variable Names | Files/Location |
---|---|---|
Frontend Host IP | ansible_host |
inventory/*.yml |
KVM Host IPs | ansible_host |
inventory/*.yml |
VXLAN PHYDEV | vn.vxlan.template.PHYDEV |
inventory/*.yml |
pubridge PHYDEV | vn.pubridge.template.PHYDEV |
inventory/*.yml |
VMs Public IP Range | vn.pubridge.template.AR.IP , vn.pubridge.template.AR.SIZE |
inventory/*.yml |
GUI password of oneadmin |
one_pass |
inventory/*.yml |
{Cloud Provider's params} | {Name of variable} | {Affected files} |
Use the provided Makefile commands to automate deployment and testing:
-
Review the inventory, playbooks and roles directories, following Ansible design guidelines.
-
Deploy OpenNebula:
make deployment
-
Configure the deployment for the specifics of the Cloud Provider:
make specifics
-
Verify the deployment:
make verification
For more information about the submodule's tooling, refer to its README.md and for detailed documentation on the deployment automation refer to the one-deploy repo.