Pharos Configuration

OPNFV development, test and production activities rely on Pharos resources and support from the Pharos community. Lab owners and Pharos project committers/contributors will evolve the vision for Pharos as well as expand lab capabilities that are needed to help OPNFV be highly successful.

Pharos configuration documents provide information on how to setup hardware and networks in a Pharos compliant lab. Jira is used to track Pharos activities including lab operations. Lab resources can be used for and declared as either Development (bare-metal or virtual) or Production/CI (bare-metal or virtual). If a resource is used for and declared as Development resource, it can not be used for and declared as Production/CI resource at the same time and vice versa. Changing the resource declation must be brought in to Infra WG. Production/CI PODs are required to be connected to OPNFV Jenkins and available on a 24/7 basis other than scheduled maintenance and troubleshooting. Jenkins slave status can be seen on Jenkins dashboard https://build.opnfv.org/ci/computer/.

Lab Setup Guide

Provides an overview for setting up a Pharos lab. A full set of pharos_master documents are maintained in the pharos repo.

When setting up an OPNFV community lab ...

  • Provide the Pharos community with details of the intended setup, including ...
    • Overview of resources are being offered to the community, intended purpose and known limitations
    • Lab owner name with contacts
    • Timelines for availablity for development, test, release production, ...
  • Update the Pharos Wiki with lab details
  • Update the Pharos project information file “Current Labs”
    • pharos_information
  • Create new Wiki pages for lab and POD specific information
    • Access procedures
    • Usage guidelines for developers
    • Update infomtation as PODs are re-assigned or usage/availability changes
  • Fill Lab and POD templates ... pharos_lab ... pharos_pod
    • Note that security sensitive lab information should be stored in the secure Pharos repo
  • Connect PODs to Jenkins/CI

Updating Pharos Documents

Details about each Community Lab is found in 3 places:

  • Summary of lab including location, contacts, status, etc. on the Pharos Project Wiki page

  • Lab specific details are provided with dedicated Wiki pages, see this Example Lab

  • Pharos repo docs ...

    • docs/information/pharos.rst ... project information file
    • docs/labs/ ... Lab documents (includes lab specific capabilities, usages and policies; POD information)
    • docs/labs/images/ ... Lab and POD toplogies

Update Pharos repo

Clone the Pharos Git repository

Update Pharos Wiki

Edit Wiki page

  • https://wiki.opnfv.org/pharos
  • Look for {{scrape>http://artifacts.opnfv.org/pharos/docs/information/pharos.html}}
  • Click “Preview” and see if your change is shown; if shown add a short “Edit summary” and click “Save” (Wiki does not auto update content)

You will see a section of code as shown below. Add your page to the bullet list with wiki link, nice name, and location summary

Update the map info on the Pharos Project Page https://wiki.opnfv.org/pharos?&#community_labs

  • You will see a section of code as shown below. Add your lab infomation to the list with a comma separated list as follows:

    • longitude
    • latitude
    • .8 <- for size
    • marker color png ([[marker-green.png|marker-green.png]], [[marker-blue.png|marker-blue.png]], [[marker-red.png|marker-red.png]], [[marker-gold.png|marker-gold.png]])
    • Nice Format Lab Name
    • ‘’;’‘
    • Location Summary
    • ‘’\’’ <– for a new line
    • external link: <– optional

MAP:

<olmap id="olMapOne" width="877px" height="200px" lat="45.0" lon="0.0" zoom="3" statusbar="1" toolbar="1" controls="1"
poihoverstyle="0" baselyr="OpenStreetMap" gpxfile="" kmlfile="">
45.52,-122.67,60,.8,marker-red.png,Linux Foundation;Portland, Oregon \\ external link: [[http://www.test.com|test.com]]
39.7392,-104.9902,60,.8,marker-red.png,Cable Labs;Denver, CA \\ external link: [[http://www.test.com|test.com]]
37.333685,-121.891272,60,.6,marker-green.png,[[pharos/spirentvctlab|Spirent VCT Lab]] \\ San Jose, California
39.90,116.35,60,.8,marker-red.png,China Mobile Labs;Beijing, China \\ external link: [[http://www.test.com|test.com]]
37.413137,-121.977975,-180,.6,marker-red.png,Dell Labs;Santa Clara, California \\ link: [[https://wiki.opnfv.org/dell_hosting]]
59.41,17.95,60,.8,marker-red.png,Enea Pharos Lab;Kista, Sweden \\ external link: [[http://www.enea.com/pharos-lab|ENEA pharos lab]]
45.50,-73.66,60,.8,marker-blue.png,Ericsson Labs;Montreal, Canada \\ external link: [[http://www.test.com|test.com]]
34.26,108.97,60,.8,marker-green.png, Huawei Labs;Xi an, China \\ external link: [[http://www.test.com|test.com]]
37.373424,-121.964913,60,.8,marker-green.png, Huawei Labs;Santa Clara, USA \\ external link: [[http://www.test.com|test.com]]
45.53,-122.97,60,.8,marker-green.png,Intel Labs;Hillsboro, Oregon \\ link: [[https://wiki.opnfv.org/get_started/intel_hosting|intel_hosting]]
48.75867,-3.45196,60,.8,marker-gold.png,Orange Labs;Lannion, France \\ external link: [[http://www.test.com|test.com]]
48.825786,2.274797,-60,.8,marker-gold.png,Orange Labs;Paris, France \\ external link: [[http://www.test.com|test.com]]
31.97,118.79,60,.8,marker-red.png,ZTE Labs;Nan Jing, China \\ link:[[zte-nj-testlab|ZTE, Nan Jing]]
[[http://test.com|test.com]] \\ internal link: [[::start]]\\ **DW Formatting**
</olmap>

Jump Server Configuration

Jump server install procedures are maintained by each installer project. Addional Jump server configuraton BKMs will be maintained here. The below install information was used for Fuel however may be outdated (please refer to Fuel Installer documents).

Procedure

  1. Obtain CentOS 7 Minimal ISO and install
wget http://mirrors.kernel.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1503-01.iso
  1. Set parameters appropriate for your environment during installation
  2. Disable NetworkManager
systemctl disable NetworkManager
  1. Configure your /etc/sysconfig/network-scripts/ifcfg-* files for your network
  2. Restart networking
service network restart
  1. Edit /etc/resolv.conf and add a nameserver, for example 8.8.8.8
echo nameserver 8.8.8.8 >> /etc/resolv.conf
  1. Install libvirt & kvm
yum -y update yum -y install kvm qemu-kvm libvirt systemctl enable libvirtd
  1. Reboot:
shutdown -r now
  1. Configure SSHD

If you wish to avoid annoying delay when use ssh to log in, disable DNS lookups:

When UseDNS is existed in the config file, update it:

sed -i -e 's/^#*UseDNS\ \+yes/UseDNS no/' /etc/ssh/sshd_config

or append the setting when not existed:

echo UseDNS no >> /etc/ssh/ssd_config

Disable Password Authenticaion for security:

sed -i -e 's/^#PasswordAuthentication\ \+yes/PasswordAuthentication no/' /etc/ssh/sshd_config

If you want to disable IPv6 connections, comment IPv6 ListenAddress and change AddressFamily to inet:

sed -i -e 's/^ListenAddress\ \+::/#ListenAddress ::/' /etc/ssh/sshd_config sed -i -e 's/^AddressFamily\ \+any/AddressFamily inet/' /etc/ssh/sshd_config

  1. Restart sshd
systemctl restart sshd
  1. Install virt-install
yum -y install virt-install
  1. Visit artifacts.opnfv.org and D/L the OPNFV Fuel ISO
  2. Create a bridge using the interface on the PXE network, for example: br0
brctl addbr br0
  1. Make a directory owned by qemu:

mkdir /home/qemu; mkdir -p /home/qemu/VMs/fuel-6.0/disk

chown -R qemu:qemu /home/qemu

  1. Copy the ISO to /home/qemu

cd /home/qemu

virt-install -n opnfv-2015-05-22_18-34-07-fuel -r 4096 --vcpus=4 --cpuset=0-3 -c opnfv-2015-05-22_18-34-07.iso --os-type=linux --os-variant=rhel6 --boot hd,cdrom --disk path=/home/qemu/VMs/mirantis-fuel-6.0/disk/fuel-vhd0.qcow2,bus=virtio,size=50,format=qcow2 -w bridge=br0,model=virtio --graphics vnc,listen=0.0.0.0

  1. Temporarily flush the firewall rules to make things easier:
iptables -F
  1. Connect to the console of the installing VM with your favorite VNC client.
  2. Change the IP settings to match the pod, use an IP in the PXE/Admin network for the Fuel Master