Skip to content

OpenNebula/hosted-cloud-ionos

Repository files navigation

one-ionos

Deploying OpenNebula as a Hosted Cloud on IONOS

This repository contains the needed code and documentation to perform an OpenNebula deployment and configuration as a Hosted Cloud on IONOS bare-metal resources. It extends the one-deploy-validation repository, which is added as a git submodule.

Table of Contents

Requirements

  1. Install hatch

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

    git submodule update --init
  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 IONOS - OpenNebula Deployment Guide. Follow the provisioning steps and extract the requiremed parameters needed to proceed with the OpenNebula deployment.

Required Parameters

Update the inventory values and the _netplan files to match the provisioned infrastructure.

Description Variable Names Files/Location
Frontend Host IP ansible_host inventory/ionos.yml
KVM Host IPs ansible_host inventory/ionos.yml , _netplan/*.yaml
KVM Host Gateway network.bridges.br0.routes.to and .via _netplan/*.yaml
VXLAN PHYDEV vn.vxlan.template.PHYDEV inventory/ionos.yml
pubridge PHYDEV vn.pubridge.template.PHYDEV inventory/ionos.yml
VMs Public IP Range vn.pubridge.template.AR.IP, vn.pubridge.template.AR.SIZE inventory/ionos.yml
GUI password of oneadmin one_pass inventory/ionos.yml
IONOS Data Center UUID ionos_config.data_center_uuid inventory/ionos.yml, group_vars/all.yml
IONOSCTL Token ionosctl.token playbooks/files/.ionosctl_token

Optional customization parameters:

Description Variable Names Files/Location
IONOS Public Bridge Name ionos_config.public_bridge_name, vn.pubridge.template.BRIDGE, network.bridges.br0 inventory/ionos.yml, group_vars/all.yml
IONOSCTL Install Path ionosctl.install_path inventory/ionos.yml, group_vars/all.yml
IONOSCTL Version ionosctl.version inventory/ionos.yml, group_vars/all.yml

Configure IONOS Server Networking

After provisioning, adjust the default network configuration in each of the hosts:

  1. SSH into the host and remove the default netplan config:

    [email protected]:~# rm /etc/netplan/50-cloud-init.yaml
  2. Copy the updated configuration to the host:

    $ scp _netplan/host02.yaml [email protected]:/etc/netplan
  3. Allow IP forwarding on all hosts (and add the net.ipv4.ip_forward=1 line to /etc/sysctl.conf to make it persistent across reboots):

    [email protected]:~# sysctl -w net.ipv4.ip_forward=1
  4. Apply the netplan configuration:

    [email protected]:~# netplan apply

If connectivity is lost, revert via IONOS DCD console access by restoring the original netplan file (50-cloud-init.yaml) or recreating the host.

Deployment and Verification

Use the provided Makefile commands to automate deployment and testing:

  1. Deploy OpenNebula:

    make main

    The launched Ansible scripts should finish without any error, and report on the number of changes performed for each hosts. If any error is reported, after the necessary troubleshooting and fixes, the deployment script can be re-executed without further cleanup steps.

  2. Configure IONOS-specific components:

    make ionos

    Similarly, this should finish without any errors. After this step the cloud environment is fully functional.

  3. Verify the deployment:

    make verification

    If the test fails in any of the steps, after the necessary troubleshooting and fixes, the verification command can be safely re-executed. The final HTML report is only created when all tests have passed. The output of the tests are compiled into a HTML report that can be found in path, printed by the automation script.

For more information about the submodule's tooling, refer to the one-deploy-validation's README.md and for detailed documentation on the deployment automation refer to the one-deploy repo.

About

OpenNebula deployment and verification on IONOS Cloud

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •