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.