ISO-based Configuration

The ISO-based configuration can be used to set up either a single-node or multi-node CVP instance(s). Before configuring and starting CVP, the following tasks must be completed.

Quick Start Steps:

Create a YAML Document

Create a YAML document describing the node(s) (one or three) in your CVP deployment. When creating a YAML document, the following should be considered:
  • The version field is required and must be 2.
  • The "dns" and "ntp" entries are lists of values.
  • The "dns", and "ntp" parameters are optional, but recommended to use.
    Note: The parameters, which are the same for all nodes, can be specified only once in the common section of the YAML. For example, "default_route" can be specified only once in the common section and not three times, once for each node.

    Example:

    The following example of a YAML document shows the use of separate (different) interfaces for cluster and device-facing networks. These parameters are explained in the previous section. For a single-node deployment, remove the sections for "node2" and "node3" (assuming all nodes are on the same subnet and have the same default route).

    >cat multinode.yaml
    version: 2
    common:
     aeris_ingest_key: magickey
     cluster_interface: eth0
     default_route: 172.31.0.1
     device_interface: eth0
     dns:
     - 172.22.22.40
     ntp:
     - ntp.aristanetworks.com
    node1:
    hostname: cvp6.sjc.aristanetworks.com
    interfaces:
    eth0:
    	ip_address: 172.31.3.236
    	netmask: 255.255.0.0
     vmname: cvp6
    
    node2:
     vmname: cvp9
     hostname : cvp9.sjc.aristanetworks.com
     interfaces:
    eth0:
     ip_address: 172.31.3.239
     netmask: 255.255.0.0
    eth1:
     ip_address: 10.0.0.2
     netmask: 255.255.255.0
    node3:
     vmname: cvp10
     hostname: cvp10.sjc.aristanetworks.com
     interfaces:
    eth0:
     ip_address: 172.31.3.240
     netmask: 255.255.0.0
    eth1:
     ip_address: 10.0.0.3
     netmask: 255.255.255.0

Feed the YAML File into the geniso.py Tool

Once you have created the YAML file, you are ready to feed it into the tool so that you can generate the ISO files for the CVP nodes. The root password can be provided at the command line or prompted from the user. If password is empty, no password will be set for root.

Note: The geniso.py tool is provided by cvp-tools-1.0.1.tgz which can be found at https://www.arista.com/en/support/software-download. The package also contains a README file with more details and requirements for geniso.py.

Complete the following steps:

  1. Run the yum install mkisofs command.
  2. Feed the YAML document into the geniso.py tool.

    The system generates the ISO files for the nodes using the input of the YAML document.

    Example:
    • In this example, you are prompted for the root password.
      > mkdir tools
      > tar zxf cvp-tools-1.0.1.tgz -C tools
      > cd tools
      
      ...<edit multinode.yaml>...
      
      > ./geniso.py -y multinode.yaml
      Please enter a password for root user on cvp
      Password:
      Please re-enter the password:
      Building ISO for node1 cvp1: cvp.iso.2015-11-04_00:16:23/node1-cvp1.iso
      Building ISO for node2 cvp2: cvp.iso.2015-11-04_00:16:23/node2-cvp2.iso
      Building ISO for node3 cvp3: cvp.iso.2015-11-04_00:16:23/node3-cvp3.iso
  3. In case of using KVM as a hypervisor in a multi-node setup, copy the following ISO files to the corresponding nodes:
    • SCP node2's ISO to node 2
      [root@localhost cvp]# scp node2-cvp-appliance-2.iso root@172.28.161.44://data/cvp/
      root@172.28.161.44's password:
      node2-cvp-appliance-2.iso
      100%360KB57.5MB/s 00:00
    • SCP node3's ISO to node 3
      [root@localhost cvp]# scp node3-cvp-appliance-3.iso root@172.28.161.45://data/cvp/
      root@172.28.161.45's password:
      node3-cvp-appliance-3.iso 
      100%360KB54.7MB/s 00:00
    Note: The script has to be run on one machine only. This generates three ISO images which contains the same ssh keys, thus allowing the nodes to send files without a password. If the script is run individually on each node, it result in images containing different ssh keys and the deployment process fails, until the user manually adds the ssh keys in ~/.ssh/authorized_keys.

Map ISO to the VM's CD-ROM Drive

You can map the ISO to the VM's CD-ROM drive through either ESXi or KVM.

Refer to the chapter to start working on the CVP.