System requirements

You usually want to run against a remote hypervisor in order to get a working infrastructure.

Lightweight deployment

Such a deployment usually involves CRC, an ansible controller, and one or more compute node(s).

Minimal resources are:

  • 32GB RAM

  • 200G of free storage (in /home)

  • 16 CPUs

Detail

CRC instance usually needs 24G of RAM, and around 100G of disk space. The ansible controller node can run with 2 or 4G of ram, and needs around 15G of disk space. The rest is at discretion for the compute nodes, and would depends on your actual workload (if you intend to run tests and so on).

Time to deploy

It of course depends on the hypervisor. Running on a dedicated, remote server, gets these kind of timings:

  • Deploy from scratch the lightweight layout: ~30 minutes

  • Re-deploy the lightweight layout: ~10 minutes

Needed packages

In order to be able to start consuming the Framework, the following packages must be present on your system:

  • git

  • make

  • python3-pip

  • sudo

Needed specific configurations

Warning

You must run the deployment as a non root user.

Tip

For a remote user, it must have appropriate SSH configuration for password less authentication (use the .ssh/authorized_keys on the remote host).

Tip

Your user must have full sudo access in order to:

  • install packages

  • push specific configurations linked to CRC

While we try to keep the footprint low on the system, packages are needed, and some 3rd-party software requires access, such as CRC.

The best way to achieve that access is to add the following content to a /etc/sudoers.d/USERNAME file using visudo:

USERNAME          ALL=(ALL)       NOPASSWD: ALL

Of course, replace USERNAME by your user’s name.

Tip

You can require the password for sudo calls, but you’ll then have to pass -K option to any of the ansible-playbook related to the infrastructure provisioning.

Specific access rights

Since we’re using libvirt within the “system” namespace (thanks to CRC, mostly), your user must be part of the “libvirt” group. While we manage this in one of the roles, you may need to logout/login in order to refresh your groups.