Skip to content

OpenNebula/cloud-hosted-ovh

Repository files navigation

Important

First time template repo setup -- TO BE REMOVED FROM THE TEMPLATE

  1. 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
  2. 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>>" .
  3. 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.

  4. 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.

  5. Remove this note from the README.md

TBA-cloud-provider: logos of OpenNebula and the Cloud Provider

Deploying OpenNebula as a Hosted Cloud on TBA-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.

Requirements

  1. Install hatch

    pip install hatch
  2. Initialize the dependent one-deploy-validation submodule

    git submodule update --init --remote --merge
  3. Install the opennebula.deploy collection with dependencies using the submodule's tooling:

    make submodule-requirements

Infrastructure Provisioning

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.

Required Parameters

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}

Deployment and Verification

Use the provided Makefile commands to automate deployment and testing:

  1. Review the inventory, playbooks and roles directories, following Ansible design guidelines.

  2. Deploy OpenNebula:

    make deployment
  3. Configure the deployment for the specifics of the Cloud Provider:

    make specifics
  4. 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published