https://github.com/opennebula/hosted-cloud-adi
https://github.com/opennebula/hosted-cloud-adi
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/opennebula/hosted-cloud-adi
- Owner: OpenNebula
- License: apache-2.0
- Created: 2025-06-03T15:10:49.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-11-14T12:49:42.000Z (7 months ago)
- Last Synced: 2025-11-14T14:34:34.458Z (7 months ago)
- Language: Makefile
- Size: 182 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# Deploying OpenNebula as a Hosted Cloud on aDi
This repository contains the needed code and documentation to perform an OpenNebula deployment and configuration as
a Hosted Cloud on **adi** resources. It extends the [one-deploy-validation](https://github.com/OpenNebula/one-deploy-validation) repository, which is added as a git submodule.
- [Requirements](#requirements)
- [Infrastructure Provisioning](#infrastructure-provisioning)
- [Required Parameters](#required-parameters)
- [Deployment and Validation](#deployment-and-validation)
## Requirements
1. Install `hatch`
```shell
pip install hatch
```
1. Initialize the dependent `one-deploy-validation` and `one-deploy` submodules
```shell
git submodule update --init --remote --merge
```
1. Install the `opennebula.deploy` collection with dependencies using the submodule's tooling:
```shell
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](./inventory/) values to match the provisioned infrastructure.
| Description | Variable Names | Files/Location |
|---------------------------------------------|-------------------------------------|-----------------------------------------------------|
| Frontend Host IP | `ansible_host` | [`inventory/adi.yml`](./inventory/adi.yml) |
| KVM Host IP | `ansible_host` | [`inventory/adi.yml`](./inventory/adi.yml) |
| VXLAN BRIDGE | `vn.vxlan.template.BRIDGE` | [`inventory/adi.yml`](./inventory/adi.yml) |
| Internal BRIDGE | `vn.internal.template.BRIDGE` | [`inventory/adi.yml`](./inventory/adi.yml) |
| VMs Public IP | `vn.vxlan.template.IP` | [`inventory/adi.yml`](./inventory/adi.yml) |
| VMs Public Network | `vn.vxlan.template.NETWORK_ADDRESS` | [`inventory/adi.yml`](./inventory/adi.yml) |
| VMs Public Network Mask | `vn.vxlan.template.NETWORK_MASK` | [`inventory/adi.yml`](./inventory/adi.yml) |
| VMs Public Network Gateway | `vn.vxlan.template.GATEWAY` | [`inventory/adi.yml`](./inventory/adi.yml) |
| GUI password of `oneadmin` | `one_pass` | [`inventory/adi.yml`](./inventory/adi.yml) |
| NFS device | `adi_nfs_device` |[`inventory/adi.yml`](./inventory/group_vars/all/specifics.yml) |
| NFS frontend host | `adi_nfs_frontend_host` |[`inventory/adi.yml`](./inventory/group_vars/all/specifics.yml) |
| NFS server | `adi_nfs_server` |[`inventory/adi.yml`](./inventory/group_vars/all/specifics.yml) |.
## Deployment and Validation
Use the provided Makefile commands to automate deployment and testing:
1. Review the [inventory](./inventory/), [playbooks](./playbooks/) and [roles](./roles/) directories, following Ansible design guidelines.
1. Deploy OpenNebula:
```shell
make deployment
```
1. Configure the deployment for the specifics of the Cloud Provider:
```shell
make specifics
```
1. Test the deployment:
```shell
make validation
```
For more information about the submodule's tooling, refer to its [README.md](https://github.com/OpenNebula/one-deploy-validation/blob/master/README.md) and for detailed documentation on the deployment automation refer to the [one-deploy repo](https://github.com/OpenNebula/one-deploy).