You usually want to run against a remote hypervisor in order to get a working infrastructure.
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
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).
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
In order to be able to start consuming the Framework, the following packages must be present on your system:
- git
- make
- python3-pip
- sudo
You must run the deployment as a **non root user**.
For a remote user, it must have appropriate SSH configuration
for **password less** authentication (use the `.ssh/authorized_keys`
on the remote host).
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.
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.
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.