OS Configuration

Software

The hypervisor host requires the following software:

kvm_server

Sets up the KVM VM Host Server with QEMU tools for management

kvm_tools

Installs the libvirt tools for managing and monitoring VM Guests

libguestfs0

Necessary for editing VM files.

libvirt-client

Dependency of libvirt.

libvirt-devel

Dependency of libvirt.

libvirt

Hypervisor virtualization API.

qemu-kvm

Drivers for VMs.

qemu-ui-spice-core

Necessary for providing consoles to VMs.

yq

Used for modifying proof-of-concept yaml files.

Please install the listed software before proceeding to launch any virtual machines on the hypervisor host.

Automatic Setup

For installing the same packages the pipeline installs, run the setup below.

  1. Clone metal-provision

    1. HTTPS:

      git clone https://github.com/Cray-HPE/metal-provision.git
    2. SSH:

      git@github.com:Cray-HPE/metal-provision.git
  2. Install Ansible

    . ./metal-provision/scripts/packer/setup-functions.sh
    install_ansible
  3. Run the hypervisor playbook, this assumes repositories are already set up.If not, see Internal Repository Setup.

    cat << EOF >/tmp/inventory
    [hypervisor]
    packer
    EOF
    /opt/cray/ansible/bin/ansible-playbook -c local -i /tmp/inventory /srv/cray/metal-provision/pb_node_images_libvirt.yml
    
    cat << EOF >/tmp/inventory
    [hypervisor]
    localhost
     EOF
    /opt/cray/ansible/bin/ansible-playbook -c local -i /tmp/inventory /srv/cray/metal-provision/pb_node_images_hypervisor.yml

Internal Repository Setup

The following steps will provide assistance for adding internal repositories that provide the above packages.

  1. Set Credentials

    export ARTIFACTORY_USER=
    export ARTIFACTORY_TOKEN=
  2. Run the setup repositories script:

    . ./metal-provision/scripts/packer/setup-functions.sh
    setup_repositories