Requirements

Infrastructure resources

For an environment on a cloud

To use this testbed, a project on an OpenStack cloud environment is required. Cinder must be usable there as additional service.

The testbed requires the following resources when using the default flavors.

  • 1 keypair

  • 6 security groups (50 security group rules)

  • 6 networks with 6 subnetworks

  • 1 router

  • 30 ports

  • 1 floating IP address

  • 9 volumes (min 90 GB) plus 140GB root disks (depends on flavors)

  • 4 instances (28 VCPUs, 104 GByte memory)

For an environment on physical hardware

For an environment on a hypervisor

If the testbed is to be deployed independently of the Terraform integration with OpenStack, the following resources are required.

Each system needs a root disk with at least 30 GByte storage.

2 networks are required. A network with which the virtual systems can be accessed and via which the virtual systems can communicate with the outside world. In addition, a fully internal network.

  • 1 virtual system which is used as manager and monitoring node (4 VCPUs, 16 GByte memory)

  • 3 virtual systems which are used as control, compute and, storage nodes (8 VCPUs, 32 GByte memory) * 3 additional volumes per virtual system with at least 10 GByte storage each

Ubuntu 20.04 is to be used as the base image for the virtual systems.

Software

  • make must be installed on the system

Ansible

Ansible in a current version must be installed and usable on the local workstation.

Currently Ansible 6.x is supported.

Information on installing Ansible can be found in the Ansible documentation: https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html

Terraform

Terraform in a current version must be installed and usable on the local workstation.

Currently Terraform 1.2.x is supported.

Information on installing Terraform can be found in the Terraform documentation: https://learn.hashicorp.com/tutorials/terraform/install-cli

This repository

The code for deploying the testbed is hosted in a git repository, you need to make a local copy of it by running:

mkdir -p ~/src/github.com/osism
git clone https://github.com/osism/testbed ~/src/github.com/osism/testbed

Cloud access

Note

The necessary files are located in the terraform directory.

There is a separate environment file, e.g. environments/betacloud.tfvars, for each supported cloud provider.

The environment to be used is set via the ENVIRONMENT environment variable.

export ENVIRONMENT=betacloud