Merge "Fix malformed table Release Notes"
authorNarinder Gupta <narinder.gupta@canonical.com>
Wed, 17 Jan 2018 22:59:56 +0000 (22:59 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Wed, 17 Jan 2018 22:59:56 +0000 (22:59 +0000)
39 files changed:
ci/00-maasdeploy.sh [deleted symlink]
ci/01-bootstrap.sh
ci/02-deploybundle.sh
ci/03-maasdeploy.sh
ci/clean.sh
ci/cleanmaas.sh
ci/config_tpl/juju2/bundle_tpl/ceph.yaml
ci/config_tpl/juju2/bundle_tpl/keystone.yaml
ci/config_tpl/juju2/bundle_tpl/neutron-api.yaml
ci/config_tpl/juju2/bundlek8_tpl/bundle.yaml
ci/config_tpl/juju2/bundlek8_tpl/canal.yaml [new file with mode: 0644]
ci/config_tpl/juju2/bundlek8_tpl/ceph.yaml [new file with mode: 0644]
ci/config_tpl/juju2/bundlek8_tpl/relations.yaml
ci/config_tpl/juju2/bundlek8_tpl/spaces.yaml
ci/default_deployment_config.yaml
ci/depMAAS.py
ci/deploy.sh
ci/genBundle.py
ci/genDeploymentConfig.py
ci/genK8Bundle.py
ci/genMAASConfig.py
ci/kubernetes/fetch-charms.sh
ci/nosdn/fetch-charms.sh
ci/odl/fetch-charms.sh
ci/onos/fetch-charms.sh
ci/opencontrail/fetch-charms.sh
ci/openstack.sh
docs/release/release-notes/release-notes.rst
docs/release/userguide/userguide.rst
juju/configure-juju-on-openstack
juju/get-cloud-images
juju/joid-configure-openstack
labconfig/enea/pod5/labconfig.yaml [new file with mode: 0644]
labconfig/enea/pod6/labconfig.yaml [new file with mode: 0644]
labconfig/enea/virtual/pod1/labconfig.yaml [new file with mode: 0644]
labconfig/huawei/pod12/labconfig.yaml
labconfig/intel/pod18/labconfig.yaml [new file with mode: 0644]
labconfig/intel/pod19/labconfig.yaml [new file with mode: 0644]
labconfig/lenovo/pod1/labconfig.yaml

diff --git a/ci/00-maasdeploy.sh b/ci/00-maasdeploy.sh
deleted file mode 120000 (symlink)
index 33b6f4d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-03-maasdeploy.sh
\ No newline at end of file
index 88f87dd..e45c2ee 100755 (executable)
@@ -2,21 +2,6 @@
 
 set -ex
 
-#export JUJU_DEV_FEATURE_FLAGS=address-allocation
-
-jujuver=`juju --version`
-
-if [[ "$jujuver" < "2" ]]; then
-  juju bootstrap --debug --to bootstrap.maas --agent-version 1.25.5
-  sleep 5
-  #disable juju gui until xenial charms are in charm store.
-  juju deploy cs:juju-gui-130 --to 0
-
-  JUJU_REPOSITORY=
-  juju set-constraints tags=
-
-else
-  controllername=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
-  cloudname=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
-  juju bootstrap $controllername $cloudname --debug --to bootstrap.maas
-fi
+controllername=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
+cloudname=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
+juju bootstrap $controllername $cloudname --debug --to bootstrap.maas
index 5a72445..df669a8 100755 (executable)
@@ -12,9 +12,6 @@ opnfvfeature=$5
 opnfvdistro=$6
 opnfvmodel=$7
 
-jujuver=`juju --version`
-maasver=`apt-cache policy maas | grep Installed | cut -d ':' -f 2 | sed -e 's/ //'`
-
 if [[ "$opnfvmodel" = "openstack" ]]; then
     #copy and download charms
     ./$opnfvsdn/fetch-charms.sh $opnfvdistro
@@ -54,19 +51,10 @@ check_status() {
 PROFILE=maas
 MAAS_IP=$(grep " ip_address" deployconfig.yaml | cut -d ':' -f 2 | sed -e 's/ //')
 API_SERVERMAAS="http://$MAAS_IP:5240/MAAS/"
-if [[ "$maasver" > "2" ]]; then
-    API_KEY=`sudo maas-region apikey --username=ubuntu || true`
-else
-    API_KEY=`sudo maas-region-admin apikey --username=ubuntu || true`
-fi
-
+API_KEY=`sudo maas-region apikey --username=ubuntu || true`
 
 if [[ "$API_KEY" = "" ]]; then
-    if [[ "$maasver" > "2" ]]; then
-        API_KEY=`sshpass -p ubuntu ssh ubuntu@$MAAS_IP 'sudo maas-region apikey --username=ubuntu'`
-    else
-        API_KEY=`sshpass -p ubuntu ssh ubuntu@$MAAS_IP 'sudo maas-region-admin apikey --username=ubuntu'`
-    fi
+    API_KEY=`sshpass -p ubuntu ssh ubuntu@$MAAS_IP 'sudo maas-region apikey --username=ubuntu'`
 fi
 
 maas login $PROFILE $API_SERVERMAAS $API_KEY
@@ -75,16 +63,12 @@ if [[ "$opnfvmodel" = "openstack" ]]; then
     if [ -e ./deployconfig.yaml ]; then
        extport=`grep "ext-port" deployconfig.yaml | cut -d ' ' -f 4 | sed -e 's/ //' | tr ',' ' '`
        datanet=`grep "dataNetwork" deployconfig.yaml | cut -d ' ' -f 4 | sed -e 's/ //'`
-       admnet=`grep "admNetwork" deployconfig.yaml | cut -d ' ' -f 4 | sed -e 's/ //'`
        cephdisk=`grep "ceph-disk" deployconfig.yaml | cut -d ':' -f 2 | sed -e 's/ //'`
+       admnet=`grep "admNetwork" deployconfig.yaml | cut -d ' ' -f 4 | sed -e 's/ //'`
        osdomname=`grep "os-domain-name" deployconfig.yaml | cut -d ':' -f 2 | sed -e 's/ //'`
     fi
 
-    if [[ "$maasver" > "2" ]]; then
-        workmutiple=`maas maas nodes read | grep "cpu_count" | cut -d ':' -f 2 | sed -e 's/ //' | tr ',' ' '`
-    else
-        workmutiple=`maas maas nodes list | grep "cpu_count" | cut -d ':' -f 2 | sed -e 's/ //' | tr ',' ' '`
-    fi
+    workmutiple=`maas maas nodes read | grep "cpu_count" | cut -d ':' -f 2 | sed -e 's/ //' | tr ',' ' '`
     max=0
     for v in ${workmutiple[@]}; do
         if (( $v > $max )); then max=$v; fi;
@@ -107,6 +91,8 @@ if [[ "$opnfvmodel" = "openstack" ]]; then
     else
         sed -i "s/cpu_pin_set: all/cpu_pin_set: 1/g" default_deployment_config.yaml
     fi
+else
+    cephdisk=`grep "ceph-disk" deployconfig.yaml | cut -d ':' -f 2 | sed -e 's/ //'`
 fi
 
 case "$opnfvlab" in
@@ -170,7 +156,7 @@ openfile_fix() {
 
 if [ "$opnfvsdn" = "ocl" ]
 then
-  TAG="ubuntu16.04-4.0.1.0-32.tar.gz"
+  TAG="ubuntu16.04-4.0.2.0-34.tar.gz"
 
   for ROLE in contrail-controller contrail-analytics contrail-analyticsdb
   do
index bc0c2cb..27a72a4 100755 (executable)
@@ -21,9 +21,16 @@ then
     usage;
 fi
 
-
 virtinstall=0
 labname=$1
+snapinstall=0
+
+opnfvdistro=`cat /etc/lsb-release | grep CODENAME | cut -d "=" -f 2`
+
+if [ "bionic" == "$opnfvdistro" ]; then
+    snapinstall=1
+fi
+
 
 if [ ! -e $HOME/.ssh/id_rsa ]; then
     ssh-keygen -N '' -f $HOME/.ssh/id_rsa
@@ -45,26 +52,45 @@ NODE_ARC="$NODE_ARCHES/generic"
 
 # Install the packages needed
 echo_info "Installing and upgrading required packages"
-sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5EDB1B62EC4926EA
-sudo apt-get update -y
+#sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5EDB1B62EC4926EA
+sudo apt-get update -y || true
 sudo apt-get install software-properties-common -y
-sudo apt-add-repository ppa:juju/stable -y
-sudo apt-add-repository ppa:maas/stable -y
-sudo apt-add-repository cloud-archive:ocata -y
-sudo apt-get update -y
+
+if [ "$snapinstall" -eq "0" ]; then
+    sudo apt-add-repository ppa:juju/stable -y
+    sudo apt-add-repository ppa:maas/stable -y
+fi
+if [ "bionic" != "$opnfvdistro" ]; then
+        sudo apt-add-repository cloud-archive:pike -y
+    if [ "aarch64" == "$NODE_ARCTYPE" ]; then
+        sudo add-apt-repository ppa:ubuntu-cloud-archive/pike-staging -y
+    fi
+fi
+
+sudo apt-get update -y || true
 #sudo apt-get dist-upgrade -y
-sudo apt-get install bridge-utils openssh-server bzr git virtinst qemu-kvm libvirt-bin \
+
+if [ "$snapinstall" -eq "1" ]; then
+    sudo apt-get install bridge-utils openssh-server bzr git virtinst qemu-kvm libvirt-bin \
+             maas maas-region-controller juju python-pip python-psutil python-openstackclient \
+             python-congressclient gsutil pastebinit python-jinja2 sshpass \
+             openssh-server vlan ipmitool jq expect snap -y --allow-unauthenticated
+    sudo service ntp stop
+    sudo snap install charm
+    sudo snap install --devmode --stable maas
+else
+    sudo apt-get install bridge-utils openssh-server bzr git virtinst qemu-kvm libvirt-bin \
              maas maas-region-controller juju python-pip python-psutil python-openstackclient \
              python-congressclient gsutil charm-tools pastebinit python-jinja2 sshpass \
-             openssh-server vlan ipmitool jq expect snap -y
+             openssh-server vlan ipmitool jq expect snap -y --allow-unauthenticated
+fi
 
-#sudo apt-get install snap -y
-#sudo snap install maas --classic
-#sudo snap install juju --classic
+if [ "aarch64" == "$NODE_ARCTYPE" ]; then
+    sudo apt-get install qemu qemu-efi qemu-system-aarch64 -y --allow-unauthenticated
+fi
 
 sudo -H pip install --upgrade pip
 
-
 #
 # Config preparation
 #
@@ -137,9 +163,7 @@ PRIMARY_RACK_CONTROLLER="$MAAS_IP"
 VLAN_UNTTAGED="untagged"
 
 # In the case of a virtual deployment get deployconfig.yaml
-if [ "$virtinstall" -eq 1 ]; then
-    ./cleanvm.sh || true
-fi
+./cleanvm.sh || true
 
 #create backup directory
 mkdir ~/joid_config/ || true
@@ -206,31 +230,46 @@ if [ $(pip list --format=columns | grep google-api-python-client | wc -l) == 1 ]
     sudo pip uninstall google-api-python-client
 fi
 
-
-if [ ! -e ~maas/.ssh/id_rsa.pub ]; then
-    if [ ! -e $HOME/id_rsa_maas.pub ]; then
-        [ -e $HOME/id_rsa_maas ] && rm -f $HOME/id_rsa_maas
-        sudo su - $USER -c "echo |ssh-keygen -t rsa -f $HOME/id_rsa_maas"
+if [ "$snapinstall" -eq "0" ]; then
+    if [ ! -e ~maas/.ssh/id_rsa.pub ]; then
+        if [ ! -e $HOME/id_rsa_maas.pub ]; then
+            [ -e $HOME/id_rsa_maas ] && rm -f $HOME/id_rsa_maas
+            sudo su - $USER -c "echo |ssh-keygen -t rsa -f $HOME/id_rsa_maas"
+        fi
+        sudo -u maas mkdir ~maas/.ssh/ || true
+        sudo cp $HOME/id_rsa_maas ~maas/.ssh/id_rsa
+        sudo cp $HOME/id_rsa_maas.pub ~maas/.ssh/id_rsa.pub
+        sudo chown maas:maas ~maas/.ssh/id_rsa
+        sudo chown maas:maas ~maas/.ssh/id_rsa.pub
+        sudo cat ~maas/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
+    fi
+else
+    if [ ! -e /root/.ssh/id_rsa.pub ]; then
+        if [ ! -e $HOME/id_rsa_maas.pub ]; then
+            [ -e $HOME/id_rsa_maas ] && rm -f $HOME/id_rsa_maas
+            sudo su - $USER -c "echo |ssh-keygen -t rsa -f $HOME/id_rsa_maas"
+        fi
+        sudo -u root mkdir /root/.ssh/ || true
+        sudo cp $HOME/id_rsa_maas /root/.ssh/id_rsa
+        sudo cp $HOME/id_rsa_maas.pub /root/.ssh/id_rsa.pub
+        sudo chown root:root /root/.ssh/id_rsa
+        sudo chown root:root /root/.ssh/id_rsa.pub
+        sudo cat /root/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
     fi
-    sudo -u maas mkdir ~maas/.ssh/ || true
-    sudo cp $HOME/id_rsa_maas ~maas/.ssh/id_rsa
-    sudo cp $HOME/id_rsa_maas.pub ~maas/.ssh/id_rsa.pub
-    sudo chown maas:maas ~maas/.ssh/id_rsa
-    sudo chown maas:maas ~maas/.ssh/id_rsa.pub
 fi
 
 # Ensure virsh can connect without ssh auth
-sudo cat ~maas/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
 sudo cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
 
-#
-# MAAS deploy
-#
-
-installmaas(){
-    sudo apt-get install maas maas-region-controller -y
-}
-
+if [ "$snapinstall" -eq "1" ]; then
+    sudo maas init --mode all --maas-url http://$MAAS_IP:5240/MAAS --admin-username $PROFILE \
+                   --admin-password $PROFILE --admin-email ubuntu@ubuntu.com || true
+    API_KEY=`sudo maas apikey --username=$PROFILE`
+else
+    sudo maas-rack config --region-url http://$MAAS_IP:5240/MAAS
+    sudo maas createadmin --username=$PROFILE --email=ubuntu@ubuntu.com --password=$PROFILE || true
+    API_KEY=`sudo maas-region apikey --username=$PROFILE`
+fi
 #
 # MAAS config
 # https://insights.ubuntu.com/2016/01/23/maas-setup-deploying-openstack-on-maas-1-9-with-juju/
@@ -238,13 +277,6 @@ installmaas(){
 #
 configuremaas(){
     #reconfigure maas with correct MAAS address.
-    #Below code is needed as MAAS have issue in commissioning without restart.
-    #sudo ./maas-reconfigure-region.sh $MAAS_IP
-    sleep 30
-    sudo maas-rack config --region-url http://$MAAS_IP:5240/MAAS
-
-    sudo maas createadmin --username=ubuntu --email=ubuntu@ubuntu.com --password=ubuntu || true
-    API_KEY=`sudo maas-region apikey --username=ubuntu`
     maas login $PROFILE $API_SERVERMAAS $API_KEY
     maas $PROFILE maas set-config name='main_archive' value=$MAIN_ARCHIVE || true
     maas $PROFILE maas set-config name=upstream_dns value=$MY_UPSTREAM_DNS || true
@@ -257,6 +289,14 @@ configuremaas(){
         maas $PROFILE tags create name=$tag || true
     done
 
+    #below tag would be used to enable huge pages for DPDK and SRIOV enablement in Ubuntu kernel via MAAS
+    maas $PROFILE tags create name='opnfv-dpdk' comment='OPNFV DPDK enablement' \
+         kernel_opts='hugepagesz=2M hugepages=1024 hugepagesz=1G hugepages=20 default_hugepagesz=1G intel_iommu=on' || true
+
+    maas $PROFILE package-repositories create name="Ubuntu  Proposed new" \
+         url="http://archive.ubuntu.com/ubuntu" components="main" \
+         distributions="xenial-proposed" arches=amd64,i386
+
     #create the required spaces.
     maas $PROFILE space update 0 name=default || true
     for space in admin-api internal-api public-api \
@@ -274,7 +314,9 @@ configuremaas(){
         maas $PROFILE boot-source-selection update 1 1 arches="$NODE_ARCHES"
     fi
 
-    maas $PROFILE boot-resources import || true
+    if [ "$snapinstall" -eq "0" ]; then
+        maas $PROFILE boot-resources import || true
+    fi
 
     while [ "$(maas $PROFILE boot-resources is-importing)" == "true" ];
     do
@@ -283,7 +325,6 @@ configuremaas(){
 }
 
 setupspacenetwork(){
-
     #get space, subnet and vlan and create accordingly.
     #for type in admin osapi data storage external floating public; do
     nettypes=`cat labconfig.json | jq '.opnfv.spaces[]'.type | cut -d \" -f 2`
@@ -302,7 +343,7 @@ setupspacenetwork(){
             NET_VLAN_ID=$(maas $PROFILE vlans read $NET_FABRIC_ID | jq -r ".[] |  select(.vid==\"$SPACE_VLAN\")".id)
             NET_VLAN_VID=$(maas $PROFILE vlans read $NET_FABRIC_ID | jq -r ".[] |  select(.vid==\"$SPACE_VLAN\")".vid)
             if ([ $SPACE_GWAY ] && [ "$SPACE_GWAY" != "null" ]); then
-                maas $PROFILE subnet update $SPACE_CIDR gateway_ip=$SPACE_GWAY
+                maas $PROFILE subnet update $SPACE_CIDR gateway_ip=$SPACE_GWAY || true
             fi
             if ([ $NET_VLAN_VID ] && [ $NET_VLAN_VID == "0" ]); then
                 config_done=1
@@ -311,7 +352,7 @@ setupspacenetwork(){
             else
                 NET_VLAN_ID=$(maas $PROFILE vlans create $NET_FABRIC_ID vid=$SPACE_VLAN | jq --raw-output ".id")
                 if ([ $NET_VLAN_ID ] && [ $NET_VLAN_ID != "null" ]); then
-                    maas $PROFILE subnet update $SPACE_CIDR vlan=$NET_VLAN_ID
+                    maas $PROFILE subnet update $SPACE_CIDR vlan=$NET_VLAN_ID || true
                     NET_FABRIC_VID=$SPACE_VLAN
                 fi
             fi
@@ -323,16 +364,16 @@ setupspacenetwork(){
                 if ([ $SPACE_VLAN ] && [ "$SPACE_VLAN" != "null" ]); then
                     NET_VLAN_ID=$(maas $PROFILE vlans create $FABRIC_ID vid=$SPACE_VLAN | jq --raw-output ".id")
                     if ([ $SPACE_GWAY ] && [ "$SPACE_GWAY" != "null" ]); then
-                        maas $PROFILE subnets create fabric=$FABRIC_ID cidr=$SPACE_CIDR vid=$VID_ID gateway_ip=$SPACE_GWAY
+                        maas $PROFILE subnets create fabric=$FABRIC_ID cidr=$SPACE_CIDR vid=$VID_ID gateway_ip=$SPACE_GWAY || true
                     else
-                        maas $PROFILE subnets create fabric=$FABRIC_ID cidr=$SPACE_CIDR vid=$VID_ID
+                        maas $PROFILE subnets create fabric=$FABRIC_ID cidr=$SPACE_CIDR vid=$VID_ID || true
                     fi
                     NET_FABRIC_VID=$VLAN_ID
                 else
                     if ([ $SPACE_GWAY ] && [ "$SPACE_GWAY" != "null" ]); then
-                        maas $PROFILE subnets create fabric=$FABRIC_ID cidr=$SPACE_CIDR vid="0" gateway_ip=$SPACE_GWAY
+                        maas $PROFILE subnets create fabric=$FABRIC_ID cidr=$SPACE_CIDR vid="0" gateway_ip=$SPACE_GWAY || true
                     else
-                        maas $PROFILE subnets create fabric=$FABRIC_ID cidr=$SPACE_CIDR vid="0"
+                        maas $PROFILE subnets create fabric=$FABRIC_ID cidr=$SPACE_CIDR vid="0" || true
                     fi
                 fi
                 NET_FABRIC_NAME=$(maas $PROFILE subnets read | jq -r ".[] |  select(.cidr==\"$SPACE_CIDR\")".vlan.fabric)
@@ -353,7 +394,7 @@ setupspacenetwork(){
         NET_FABRIC_ID=$(maas $PROFILE fabric read $NET_FABRIC_NAME | jq -r ".id")
         if ([ $NET_FABRIC_ID ] && [ $NET_FABRIC_ID != "null" ]); then
             if ([ $JUJU_VLAN_VID ] && [ $JUJU_VLAN_VID != "null" ]); then
-                maas $PROFILE vlan update $NET_FABRIC_ID $JUJU_VLAN_VID space=$JUJU_SPACE_ID
+                maas $PROFILE vlan update $NET_FABRIC_ID $JUJU_VLAN_VID space=$JUJU_SPACE_ID || true
             fi
         fi
         if ([ $type == "admin" ]); then
@@ -375,14 +416,36 @@ setupspacenetwork(){
                 PRIMARY_RACK_CONTROLLER=$(maas $PROFILE rack-controllers read | jq -r '.[0].system_id')
                 maas $PROFILE vlan update $NET_FABRIC_ID $NET_FABRIC_VID dhcp_on=True primary_rack=$PRIMARY_RACK_CONTROLLER || true
             fi
+        elif ([ $type == "public" ] || [ $type == "osapi" ]); then
+            # If we have a network, we create reserve IPS for public IP range
+            if ([ $NET_FABRIC_ID ]); then
+                # Set ranges
+                SUBNET_PREFIX=${SPACE_CIDR::-5}
+                IP_RES_RANGE_LOW="$SUBNET_PREFIX.1"
+                IP_RES_RANGE_HIGH="$SUBNET_PREFIX.39"
+                maas $PROFILE ipranges create type=reserved \
+                     start_ip=$IP_RES_RANGE_LOW end_ip=$IP_RES_RANGE_HIGH \
+                     comment='This is a reserved range' || true
+            fi
+        else
+            if ([ $NET_FABRIC_ID ]); then
+                # Set ranges
+                SUBNET_PREFIX=${SPACE_CIDR::-5}
+                IP_RES_RANGE_LOW="$SUBNET_PREFIX.1"
+                IP_RES_RANGE_HIGH="$SUBNET_PREFIX.5"
+                maas $PROFILE ipranges create type=reserved \
+                     start_ip=$IP_RES_RANGE_LOW end_ip=$IP_RES_RANGE_HIGH \
+                     comment='This is a reserved range' || true
+            fi
         fi
     done
 }
 
 addnodes(){
-    API_KEY=`sudo maas-region apikey --username=ubuntu`
     maas login $PROFILE $API_SERVERMAAS $API_KEY
 
+    maas $PROFILE maas set-config name=default_min_hwe_kernel value=hwe-16.04-edge || true
+
     # make sure there is no machine entry in maas
     for m in $(maas $PROFILE machines read | jq -r '.[].system_id')
     do
@@ -439,8 +502,8 @@ addnodes(){
 
     virt-install --connect $VIRSHURL --name bootstrap --ram 4098 --cpu $CPU_MODEL --vcpus 2 \
                  --disk size=20,format=qcow2,bus=virtio,cache=directsync,io=native,pool=default \
-                 $netw --boot network,hd,menu=off --noautoconsole \
-                 --print-xml | tee bootstrap
+                 $netw --boot network,hd,menu=off --video virtio --noautoconsole --autostart \
+                 --accelerate --print-xml | tee bootstrap
 
     if [ "$virtinstall" -eq 1 ]; then
         bootstrapmac=`grep  "mac address" bootstrap | head -1 | cut -d '"' -f 2`
@@ -452,7 +515,6 @@ addnodes(){
         done
     fi
     virsh -c $VIRSHURL define --file bootstrap
-    virsh -c $VIRSHURL autostart bootstrap
 
     rm -f bootstrap
 
@@ -476,11 +538,11 @@ addnodes(){
 
             virt-install --connect $VIRSHURL --name $NODE_NAME --ram 8192 --cpu $CPU_MODEL --vcpus 4 \
                      --disk size=120,format=qcow2,bus=virtio,cache=directsync,io=native,pool=default \
-                     $netw $netw --boot network,hd,menu=off --noautoconsole --print-xml | tee $NODE_NAME
+                     $netw $netw --boot network,hd,menu=off --video virtio --noautoconsole --autostart \
+                     --accelerate --print-xml | tee $NODE_NAME
 
             nodemac=`grep  "mac address" $NODE_NAME | head -1 | cut -d '"' -f 2`
             virsh -c $VIRSHURL define --file $NODE_NAME
-            virsh -c $VIRSHURL autostart $NODE_NAME
 
             rm -f $NODE_NAME
             maas $PROFILE machines create autodetect_nodegroup='yes' name=$NODE_NAME \
@@ -552,10 +614,12 @@ sleep 30
 
 setupspacenetwork
 
-#just make sure rack controller has been synced and import only
-# just whether images have been imported or not.
-sudo ./maas-reconfigure-region.sh $MAAS_IP
-sleep 120
+if [ "$snapinstall" -eq 0 ]; then
+    sudo sed -i 's/localhost/'$MAAS_IP'/g' /etc/maas/rackd.conf
+    sudo service maas-rackd restart
+    sudo service maas-regiond restart
+    sleep 120
+fi
 
 # Let's add the nodes now. Currently works only for virtual deployment.
 addnodes
@@ -567,7 +631,6 @@ echo_info "Initial deployment of MAAS finished"
 #maas $PROFILE sshkeys new key="`cat ./maas/sshkeys/DominoKey.pub`"
 
 addcredential() {
-    API_KEY=`sudo maas-region apikey --username=ubuntu`
     controllername=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
     cloudname=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
 
@@ -597,7 +660,6 @@ addcloud() {
 #
 # Enable MAAS nodes interfaces
 #
-API_KEY=`sudo maas-region apikey --username=ubuntu`
 maas login $PROFILE $API_SERVERMAAS $API_KEY
 
 if [ -e ./labconfig.json ]; then
@@ -688,12 +750,8 @@ if [ -e ./labconfig.json ]; then
 fi
 
 # Add the cloud and controller credentials for MAAS for that lab.
-jujuver=`juju --version`
-
-if [[ "$jujuver" > "2" ]]; then
-    addcloud
-    addcredential
-fi
+addcloud
+addcredential
 
 #
 # End of scripts
index 5005b59..1f3ef54 100755 (executable)
@@ -2,52 +2,22 @@
 
 set -ex
 
-jujuver=`juju --version`
-
-if [[ "$jujuver" > "2" ]]; then
-    if [ ! -d labconfig.yaml ]; then
-        cp ~/joid_config/labconfig.yaml ./labconfig.yaml || true
-        if [ -d $HOME/joid_config/deployconfig.yaml ]; then
-            cp ~/joid_config/deployconfig.yaml ./deployconfig.yaml || true
-        else
-            python genDeploymentConfig.py -l labconfig.yaml > deployconfig.yaml
-        fi
-    fi
-else
-    if [ ! -d environments.yaml ]; then
-        cp ~/joid_config/environments.yaml ./environments.yaml || true
-        cp ~/.juju/environments.yaml ./environments.yaml || true
-    fi
-fi
-
-
-if [[ "$jujuver" > "2" ]]; then
-    controllername=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
-    cloudname=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
-    juju destroy-controller $controllername --destroy-all-models -y || true
-#    juju kill-controller $controllername --timeout 10s -y || true
-    rm -rf precise
-    rm -rf trusty
-    rm -rf xenial
-    rm -rf ~/joid_config/admin-openrc
-    sleep 10
-    sudo sysctl -w vm.drop_caches=3
-elif [ -d $HOME/.juju/environments ]; then
-    echo " " > status.txt
-    juju status  &>>status.txt || true
-    if [ "$(grep -c "environment is not bootstrapped" status.txt )" -ge 1 ]; then
-        echo " environment is not bootstrapped ..."
+if [ ! -d labconfig.yaml ]; then
+    cp ~/joid_config/labconfig.yaml ./labconfig.yaml || true
+    if [ -d $HOME/joid_config/deployconfig.yaml ]; then
+        cp ~/joid_config/deployconfig.yaml ./deployconfig.yaml || true
     else
-        echo " environment is bootstrapped ..."
-        jujuenv=`juju status | grep environment | cut -d ":" -f 2`
-        juju destroy-environment $jujuenv  -y || true
+        python genDeploymentConfig.py -l labconfig.yaml > deployconfig.yaml
     fi
-    rm -rf precise
-    rm -rf trusty
-    rm -rf xenial
-    rm -rf $HOME/.juju/j*
-    rm -rf $HOME/.juju/.deployer-store-cache
-    rm -rf $HOME/.juju/environments
-    rm -rf $HOME/.juju/ssh
-    sudo sysctl -w vm.drop_caches=3
 fi
+
+controllername=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
+cloudname=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
+juju destroy-controller $controllername --destroy-all-models -y || true
+#juju kill-controller $controllername --timeout 10s -y || true
+rm -rf precise
+rm -rf trusty
+rm -rf xenial
+rm -rf ~/joid_config/admin-openrc
+sleep 10
+sudo sysctl -w vm.drop_caches=3
index 41a7419..1cad80d 100755 (executable)
@@ -2,10 +2,7 @@
 
 set -ex
 
-maasver=$(apt-cache policy maas | grep Installed | cut -d ':' -f 2 | sed -e 's/^[ ]*//')
-
-if [[ "$maasver" > "2" ]]; then
-    echo "removing existing maas ..."
-    sudo apt-get purge maas maas-cli maas-common maas-dhcp maas-dns maas-proxy maas-rack-controller maas-region-api maas-region-controller  -y
-    sudo rm -rf /var/lib/maas
-fi
+echo "removing existing maas ..."
+sudo apt-get purge maas maas-cli maas-common maas-dhcp maas-dns maas-proxy maas-rack-controller maas-region-api maas-region-controller  -y
+sudo rm -rf /var/lib/maas
+sudo snap remove maas || true
index 0568b38..b8948e6 100644 (file)
     ceph-osd:
       charm: "./{{ ubuntu.release }}/ceph-osd"
 {% if os.hyperconverged %}
-{% if opnfv.units >= 3 %}
-      num_units: {{ unit_ceph_qty() }}
-{% else %}
       num_units: {{ opnfv.units }}
-{% endif %}
 {% else %}
       num_units: 3
 {% endif %}
 {% endif %}
       to:
 {% if os.hyperconverged %}
-{% if opnfv.units >= 3 %}
-{% for unit_id in range(0, 3) %}
-        - "nodes/{{ unit_id }}"
-{% endfor %}
-{% else %}
- {% for unit_id in range(0, opnfv.units) %}
+{% for unit_id in range(0, opnfv.units) %}
          - "nodes/{{ unit_id }}"
- {% endfor %}
-{% endif %}
+{% endfor %}
 {% else %}
 {% if os.ha.mode == 'ha' %}
 {% for unit_id in range(0, 3) %}
index 233d1d7..1c6b78f 100644 (file)
@@ -17,9 +17,7 @@
         region: *openstack-region
         admin-role: {{ os.admin.role }}
         keystone-admin-role: {{ os.admin.role }}
-{% if os.network.controller != 'ocl' %}
         preferred-api-version: 3
-{% endif %}
 {% if os.network.ipv6 %}
         prefer-ipv6: {{ os.network.ipv6 }}
 {% endif %}
index e59530c..823e251 100644 (file)
@@ -37,6 +37,9 @@
 {% elif os.network.controller == 'onos' %}
         flat-network-providers: physnet1
         manage-neutron-plugin-legacy-mode: False
+{% elif os.network.controller == 'ocl' %}
+        flat-network-providers: physnet1
+        manage-neutron-plugin-legacy-mode: False
 {% endif %}
 {% if os.network.dvr %}
         enable-dvr: true
index b4ed14a..6d77772 100644 (file)
 
 {% if k8.network.controller == 'ovn' %}
 {% include 'ovn.yaml' %}
+{% elif k8.network.controller == 'canal' %}
+{% include 'canal.yaml' %}
 {% else %}
 {% include 'flannel.yaml' %}
 {% endif %}
-
+{% if k8.feature.storage == 'ceph' %}
+{% include 'ceph.yaml' %}
+{% endif %}
 
   relations:
     - [ 'ntp:juju-info', 'nodes:juju-info' ]
diff --git a/ci/config_tpl/juju2/bundlek8_tpl/canal.yaml b/ci/config_tpl/juju2/bundlek8_tpl/canal.yaml
new file mode 100644 (file)
index 0000000..2b13065
--- /dev/null
@@ -0,0 +1,8 @@
+
+    canal:
+      charm: "cs:~containers/canal-6"
+{% if os.service.bindings %}
+      bindings:
+        "": *oam-space
+{% endif %}
+
diff --git a/ci/config_tpl/juju2/bundlek8_tpl/ceph.yaml b/ci/config_tpl/juju2/bundlek8_tpl/ceph.yaml
new file mode 100644 (file)
index 0000000..5614903
--- /dev/null
@@ -0,0 +1,35 @@
+
+    ceph-mon:
+      charm: "./{{ ubuntu.release }}/ceph-mon"
+      num_units: {{ unit_ceph_qty() }}
+{% if os.service.bindings %}
+      bindings:
+        "": *oam-space
+        public: *ceph-public-space
+        cluster: *ceph-cluster-space
+{% endif %}
+      options:
+        expected-osd-count: {{ unit_ceph_qty() }}
+      to:
+{% for unit_id in to_select(unit_ceph_qty()) %}
+        - "lxd:nodes/{{ unit_id }}"
+{% endfor %}
+
+    ceph-osd:
+      charm: "./{{ ubuntu.release }}/ceph-osd"
+      num_units: {{ opnfv.units }}
+{% if os.service.bindings %}
+      bindings:
+        "": *oam-space
+        public: *ceph-public-space
+        cluster: *ceph-cluster-space
+{% endif %}
+      options:
+        osd-devices: *osd-devices
+        osd-journal: *osd-journal
+        osd-reformat: 'yes'
+      to:
+ {% for unit_id in range(0, opnfv.units) %}
+         - "nodes/{{ unit_id }}"
+ {% endfor %}
+
index 4401820..602fbaa 100644 (file)
 {% if k8.network.controller == 'ovn' %}
     - [ 'ovn:cni', 'kubernetes-master:cni' ]
     - [ 'ovn:cni', 'kubernetes-worker:cni' ]
+{% elif k8.network.controller == 'canal' %}
+    - [ 'canal:etcd', 'etcd:db' ]
+    - [ 'canal:cni', 'kubernetes-master:cni' ]
+    - [ 'canal:cni', 'kubernetes-worker:cni' ]
 {% else %}
     - [ 'flannel:etcd', 'etcd:db' ]
     - [ 'flannel:cni', 'kubernetes-master:cni' ]
@@ -21,4 +25,7 @@
     - [ 'kubernetes-worker:kube-api-endpoint', 'kubeapi-load-balancer:website' ]
     - [ 'kubeapi-load-balancer:certificates', 'easyrsa:client' ]
 {% endif %}
-
+{% if k8.feature.storage == 'ceph' %}
+    - [ 'ceph-osd:mon', 'ceph-mon:osd' ]
+    - [ 'ceph-mon:admin', 'kubernetes-master:ceph-storage' ]
+{% endif %}
index 17dbd7d..01afb34 100644 (file)
@@ -1,5 +1,24 @@
-
-
     # OAM - Operations, Administration and Maintenance
     oam-space:           &oam-space           internal-api
 
+    # CEPH configuration
+    # CEPH access network
+{% if opnfv.spaces_dict.storageaccess is defined %}
+    ceph-public-space:   &ceph-public-space  storage-access-space
+    ceph-access-constr:  &ceph-access-constr  spaces=storage-access-space
+{% else %}
+    ceph-public-space:   &ceph-public-space  internal-api
+    ceph-access-constr:  &ceph-access-constr  spaces=internal-api
+{% endif %}
+
+    # CEPH replication network
+{% if opnfv.spaces_dict.storage is defined %}
+    ceph-cluster-space:  &ceph-cluster-space  storage-cluster
+{% else %}
+    ceph-cluster-space:  &ceph-cluster-space  internal-api
+{% endif %}
+
+    # CEPH OSD and journal devices; temporary workaround for #1674148
+    osd-devices:         &osd-devices         {{ opnfv.storage_dict.ceph.disk }}
+    osd-journal:         &osd-journal
+
index 0ea2a43..0a0f055 100644 (file)
@@ -1,10 +1,10 @@
 ubuntu:
     release: xenial
 os:
-    release: ocata
+    release: pike
     git_repo:
         origin_git: False
-        branch: ocata
+        branch: pike
     hyperconverged: True
     ha:
         mode: ha
@@ -39,5 +39,6 @@ os:
 k8:
     feature:
         loadbalancer: False
+        storage: none
     network:
         controller: nosdn
index 5592bc4..3a16b1e 100644 (file)
@@ -31,14 +31,7 @@ labconfig_file = options.lab
 #
 # Set Path and configs path
 #
-
-# Capture our current directory
-jujuver = subprocess.check_output(["juju", "--version"])
-
-if LooseVersion(jujuver) >= LooseVersion('2'):
-    TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/maas_tpl'
-else:
-    TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/maas2/maas_tpl'
+TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/maas_tpl'
 
 HOME = os.environ['HOME']
 USER = os.environ['USER']
index a6a1b18..ab3e5e3 100755 (executable)
@@ -9,7 +9,7 @@ source common/tools.sh
 
 opnfvsdn=nosdn
 opnfvtype=noha
-openstack=ocata
+openstack=pike
 opnfvlab=default
 opnfvlabfile=
 opnfvrel=e
@@ -23,7 +23,7 @@ maasinstall=0
 usage() { echo "Usage: $0
     [-s|--sdn <nosdn|odl|opencontrail>]
     [-t|--type <noha|ha|tip>]
-    [-o|--openstack <ocata>]
+    [-o|--openstack <ocata|pike>]
     [-l|--lab <default|custom>]
     [-f|--feature <ipv6,dpdk,lxd,dvr,openbaton,multus>]
     [-d|--distro <xenial>]
@@ -227,7 +227,7 @@ deploy() {
         ./cleanvm.sh || true
 
         if [ "$virtinstall" -eq 1 ]; then
-            ./00-maasdeploy.sh virtual
+            ./03-maasdeploy.sh virtual
         else
             if [ -z "$labfile" ]; then
                 if [ ! -e ./labconfig.yaml ]; then
@@ -248,7 +248,7 @@ deploy() {
                 cp $labfile ./labconfig.yaml
             fi
 
-            ./00-maasdeploy.sh custom
+            ./03-maasdeploy.sh custom
         fi
     fi
 
@@ -318,20 +318,32 @@ juju status --format=tabular
 # translate bundle.yaml to json
 python -c 'import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout, indent=4)' < bundles.yaml > bundles.json
 
-jujuver=`juju --version`
-
 # Configuring deployment
 if ([ $opnfvmodel == "openstack" ]); then
+   if ([ $opnfvsdn == "ocl" ]); then
+       echo_info "Patching OpenContrail controller container"
+         juju run --application contrail-controller sudo docker cp contrail-controller:/etc/contrail/vnc_api_lib.ini /tmp
+         juju run --application contrail-controller cp /tmp/vnc_api_lib.ini /tmp/vnc_api_lib.ini2
+         juju run --application contrail-controller 'echo "AUTHN_DOMAIN = admin_domain" >> /tmp/vnc_api_lib.ini2'
+         juju run --application contrail-controller sudo docker cp  /tmp/vnc_api_lib.ini2 contrail-controller:/etc/contrail/vnc_api_lib.ini
+         juju run --application contrail-controller sudo docker exec  contrail-controller service contrail-api restart
+  
+         juju run --application contrail-controller sudo docker cp  /tmp/vnc_api_lib.ini2 contrail-analytics:/etc/contrail/vnc_api_lib.ini
+         echo_info "Wait for OpenContrail components to stabilize"
+         sleep 600
+    fi
+
     echo_info "Configuring OpenStack deployment"
 
     ./openstack.sh "$opnfvsdn" "$opnfvlab" "$opnfvdistro" "$openstack" || true
 
     # creating heat domain after pushing the public API into /etc/hosts
-    if [[ "$jujuver" > "2" ]]; then
-        status=`juju run-action heat/0 domain-setup`
+    status=`juju run-action heat/0 domain-setup`
+    echo $status
+    if ([ $opnftype == "ha" ]); then
+        status=`juju run-action heat/1 domain-setup`
         echo $status
-    else
-        status=`juju action do heat/0 domain-setup`
+        status=`juju run-action heat/2 domain-setup`
         echo $status
     fi
 
index 1bd09bb..ffe9cb8 100644 (file)
@@ -35,13 +35,7 @@ labconfig_file = options.lab
 #
 
 scenarioconfig_file = 'default_deployment_config.yaml'
-# Capture our current directory
-jujuver = subprocess.check_output(["juju", "--version"])
-
-if LooseVersion(jujuver) >= LooseVersion('2'):
-    TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/juju2/bundle_tpl'
-else:
-    TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/bundle_tpl'
+TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/juju2/bundle_tpl'
 
 #
 # Prepare variables
index 0a21fff..0d3a1c9 100644 (file)
@@ -30,14 +30,7 @@ labconfig_file = options.lab
 #
 # Set Path and configs path
 #
-
-# Capture our current directory
-jujuver = subprocess.check_output(["juju", "--version"])
-
-if LooseVersion(jujuver) >= LooseVersion('2'):
-    TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/juju2'
-else:
-    TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl'
+TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/juju2'
 
 HOME = os.environ['HOME']
 USER = os.environ['USER']
index 2f0b63d..688d18e 100644 (file)
@@ -35,9 +35,6 @@ labconfig_file = options.lab
 #
 
 scenarioconfig_file = 'default_deployment_config.yaml'
-# Capture our current directory
-jujuver = subprocess.check_output(["juju", "--version"])
-
 TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/juju2/bundlek8_tpl'
 
 #
@@ -164,6 +161,8 @@ if 'dpdk' in features:
     config['os']['network']['dpdk'] = True
 if 'lb' in features:
     config['k8']['feature']['loadbalancer'] = True
+if 'ceph' in features:
+    config['k8']['feature']['storage'] = 'ceph'
 
 # change ha mode
 config['k8']['network']['controller'] = sdn
index 9417f71..8a3f557 100644 (file)
@@ -31,14 +31,7 @@ labconfig_file = options.lab
 #
 # Set Path and configs path
 #
-
-# Capture our current directory
-jujuver = subprocess.check_output(["juju", "--version"])
-
-if LooseVersion(jujuver) >= LooseVersion('2'):
-    TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/maas2/maas_tpl'
-else:
-    TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/maas_tpl'
+TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl/maas2/maas_tpl'
 
 HOME = os.environ['HOME']
 USER = os.environ['USER']
index 255f1eb..4ab94a9 100755 (executable)
@@ -10,5 +10,6 @@ function build {
 }
 
 # openstack
-bzr branch lp:~narindergupta/opnfv/ntp $distro/ntp
-
+charm pull cs:ntp $distro/ntp
+git clone -b stable/17.11 https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon
+git clone -b stable/17.11 https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd
index 48feb59..7ada169 100755 (executable)
@@ -12,31 +12,31 @@ function build {
 # openstack
 bzr branch lp:~narindergupta/charms/trusty/promise/trunk $distro/promise
 
-git clone -b stable/17.08 https://github.com/openstack/charm-hacluster.git $distro/hacluster
-git clone -b stable/17.08 https://github.com/openstack/charm-ceilometer.git $distro/ceilometer
-git clone -b stable/17.08 https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent
-git clone -b stable/17.08 https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon
-git clone -b stable/17.08 https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd
-git clone -b stable/17.08 https://github.com/openstack/charm-ceph-radosgw.git $distro/ceph-radosgw
-git clone -b stable/17.08 https://github.com/openstack/charm-cinder.git $distro/cinder
-git clone -b stable/17.08 https://github.com/openstack/charm-cinder-ceph.git $distro/cinder-ceph
-git clone -b stable/17.08 https://github.com/openstack/charm-glance.git $distro/glance
-git clone -b stable/17.08 https://github.com/openstack/charm-keystone.git $distro/keystone
-git clone -b stable/17.08 https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster
-git clone -b stable/17.08 https://github.com/openstack/charm-neutron-api.git $distro/neutron-api
-git clone -b stable/17.08 https://github.com/openstack/charm-neutron-gateway.git $distro/neutron-gateway
-git clone -b stable/17.08 https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch
-git clone -b stable/17.08 https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller
-git clone -b stable/17.08 https://github.com/openstack/charm-nova-compute.git $distro/nova-compute
-git clone -b stable/17.08 https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard
-git clone -b stable/17.08 https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server
-git clone -b stable/17.08 https://github.com/openstack/charm-heat.git $distro/heat
-git clone -b stable/17.08 https://github.com/openstack/charm-lxd.git $distro/lxd
+git clone -b stable/17.11 https://github.com/openstack/charm-hacluster.git $distro/hacluster
+git clone -b stable/17.11 https://github.com/openstack/charm-ceilometer.git $distro/ceilometer
+git clone -b stable/17.11 https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent
+git clone -b stable/17.11 https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon
+git clone -b stable/17.11 https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd
+git clone -b stable/17.11 https://github.com/openstack/charm-ceph-radosgw.git $distro/ceph-radosgw
+git clone -b stable/17.11 https://github.com/openstack/charm-cinder.git $distro/cinder
+git clone -b stable/17.11 https://github.com/openstack/charm-cinder-ceph.git $distro/cinder-ceph
+git clone -b stable/17.11 https://github.com/openstack/charm-glance.git $distro/glance
+git clone -b stable/17.11 https://github.com/openstack/charm-keystone.git $distro/keystone
+git clone -b stable/17.11 https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster
+git clone -b stable/17.11 https://github.com/openstack/charm-neutron-api.git $distro/neutron-api
+git clone -b stable/17.11 https://github.com/openstack/charm-neutron-gateway.git $distro/neutron-gateway
+git clone -b stable/17.11 https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch
+git clone -b stable/17.11 https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller
+git clone -b stable/17.11 https://github.com/openstack/charm-nova-compute.git $distro/nova-compute
+git clone -b stable/17.11 https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard
+git clone -b stable/17.11 https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server
+git clone -b stable/17.11 https://github.com/openstack/charm-heat.git $distro/heat
+git clone -b stable/17.11 https://github.com/openstack/charm-lxd.git $distro/lxd
 git clone https://github.com/openbaton/juju-charm.git $distro/openbaton
 
 charm pull cs:$distro/aodh $distro/aodh
 charm pull cs:$distro/mongodb $distro/mongodb
-charm pull cs:$distro/ntp $distro/ntp
+charm pull cs:ntp $distro/ntp
 charm pull cs:$distro/haproxy $distro/haproxy
 charm pull cs:~narindergupta/congress-1 $distro/congress
 
index 9b7adae..cf8c6dc 100755 (executable)
@@ -12,34 +12,34 @@ function build {
 # openstack
 bzr branch lp:~narindergupta/charms/trusty/promise/trunk $distro/promise
 
-git clone -b stable/17.08 https://github.com/openstack/charm-hacluster.git $distro/hacluster
-git clone -b stable/17.08 https://github.com/openstack/charm-ceilometer.git $distro/ceilometer
-git clone -b stable/17.08 https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent
-git clone -b stable/17.08 https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon
-git clone -b stable/17.08 https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd
-git clone -b stable/17.08 https://github.com/openstack/charm-ceph-radosgw.git $distro/ceph-radosgw
-git clone -b stable/17.08 https://github.com/openstack/charm-cinder.git $distro/cinder
-git clone -b stable/17.08 https://github.com/openstack/charm-cinder-ceph.git $distro/cinder-ceph
-git clone -b stable/17.08 https://github.com/openstack/charm-glance.git $distro/glance
-git clone -b stable/17.08 https://github.com/openstack/charm-keystone.git $distro/keystone
-git clone -b stable/17.08 https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster
-git clone -b stable/17.08 https://github.com/openstack/charm-neutron-api.git $distro/neutron-api
-git clone -b stable/17.08 https://github.com/openstack/charm-neutron-gateway.git $distro/neutron-gateway
-git clone -b stable/17.08 https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch
-git clone -b stable/17.08 https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller
-git clone -b stable/17.08 https://github.com/openstack/charm-nova-compute.git $distro/nova-compute
-git clone -b stable/17.08 https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard
-git clone -b stable/17.08 https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server
-git clone -b stable/17.08 https://github.com/openstack/charm-heat.git $distro/heat
-git clone -b stable/17.08 https://github.com/openstack/charm-lxd.git $distro/lxd
-git clone -b stable/17.08 https://github.com/openstack/charm-odl-controller.git $distro/odl-controller
-git clone -b stable/17.08 https://github.com/openstack/charm-neutron-api-odl.git $distro/neutron-api-odl
-git clone -b stable/17.08 https://github.com/openstack/charm-openvswitch-odl.git $distro/openvswitch-odl
+git clone -b stable/17.11 https://github.com/openstack/charm-hacluster.git $distro/hacluster
+git clone -b stable/17.11 https://github.com/openstack/charm-ceilometer.git $distro/ceilometer
+git clone -b stable/17.11 https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent
+git clone -b stable/17.11 https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon
+git clone -b stable/17.11 https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd
+git clone -b stable/17.11 https://github.com/openstack/charm-ceph-radosgw.git $distro/ceph-radosgw
+git clone -b stable/17.11 https://github.com/openstack/charm-cinder.git $distro/cinder
+git clone -b stable/17.11 https://github.com/openstack/charm-cinder-ceph.git $distro/cinder-ceph
+git clone -b stable/17.11 https://github.com/openstack/charm-glance.git $distro/glance
+git clone -b stable/17.11 https://github.com/openstack/charm-keystone.git $distro/keystone
+git clone -b stable/17.11 https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster
+git clone -b stable/17.11 https://github.com/openstack/charm-neutron-api.git $distro/neutron-api
+git clone -b stable/17.11 https://github.com/openstack/charm-neutron-gateway.git $distro/neutron-gateway
+git clone -b stable/17.11 https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch
+git clone -b stable/17.11 https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller
+git clone -b stable/17.11 https://github.com/openstack/charm-nova-compute.git $distro/nova-compute
+git clone -b stable/17.11 https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard
+git clone -b stable/17.11 https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server
+git clone -b stable/17.11 https://github.com/openstack/charm-heat.git $distro/heat
+git clone -b stable/17.11 https://github.com/openstack/charm-lxd.git $distro/lxd
+git clone -b stable/17.11 https://github.com/openstack/charm-odl-controller.git $distro/odl-controller
+git clone -b stable/17.11 https://github.com/openstack/charm-neutron-api-odl.git $distro/neutron-api-odl
+git clone -b stable/17.11 https://github.com/openstack/charm-openvswitch-odl.git $distro/openvswitch-odl
 git clone https://github.com/openbaton/juju-charm.git $distro/openbaton
 
 charm pull cs:$distro/aodh $distro/aodh
 charm pull cs:$distro/mongodb $distro/mongodb
-charm pull cs:$distro/ntp $distro/ntp
+charm pull cs:ntp $distro/ntp
 
 #pulling scaleio charms.
 charm pull cs:~cloudscaling/scaleio-mdm $distro/scaleio-mdm
index 3ffc628..fc093cd 100755 (executable)
@@ -12,29 +12,29 @@ function build {
 # openstack
 bzr branch lp:~narindergupta/charms/trusty/promise/trunk $distro/promise
 bzr branch lp:~billy-olsen/charms/xenial/mongodb/trunk $distro/mongodb
-bzr branch lp:~narindergupta/opnfv/ntp $distro/ntp
 
-git clone -b stable/17.08 https://github.com/openstack/charm-hacluster.git $distro/hacluster
-git clone -b stable/17.08 https://github.com/openstack/charm-ceilometer.git $distro/ceilometer
-git clone -b stable/17.08 https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent
-git clone -b stable/17.08 https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon
-git clone -b stable/17.08 https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd
-git clone -b stable/17.08 https://github.com/openstack/charm-ceph-radosgw.git $distro/ceph-radosgw
-git clone -b stable/17.08 https://github.com/openstack/charm-cinder.git $distro/cinder
-git clone -b stable/17.08 https://github.com/openstack/charm-cinder-ceph.git $distro/cinder-ceph
-git clone -b stable/17.08 https://github.com/openstack/charm-glance.git $distro/glance
-git clone -b stable/17.08 https://github.com/openstack/charm-keystone.git $distro/keystone
-git clone -b stable/17.08 https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster
-git clone -b stable/17.08 https://github.com/openstack/charm-neutron-api.git $distro/neutron-api
-git clone -b stable/17.08 https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch
-git clone -b stable/17.08 https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller
-git clone -b stable/17.08 https://github.com/openstack/charm-nova-compute.git $distro/nova-compute
-git clone -b stable/17.08 https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard
-git clone -b stable/17.08 https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server
-git clone -b stable/17.08 https://github.com/openstack/charm-heat.git $distro/heat
+git clone -b stable/17.11 https://github.com/openstack/charm-hacluster.git $distro/hacluster
+git clone -b stable/17.11 https://github.com/openstack/charm-ceilometer.git $distro/ceilometer
+git clone -b stable/17.11 https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent
+git clone -b stable/17.11 https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon
+git clone -b stable/17.11 https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd
+git clone -b stable/17.11 https://github.com/openstack/charm-ceph-radosgw.git $distro/ceph-radosgw
+git clone -b stable/17.11 https://github.com/openstack/charm-cinder.git $distro/cinder
+git clone -b stable/17.11 https://github.com/openstack/charm-cinder-ceph.git $distro/cinder-ceph
+git clone -b stable/17.11 https://github.com/openstack/charm-glance.git $distro/glance
+git clone -b stable/17.11 https://github.com/openstack/charm-keystone.git $distro/keystone
+git clone -b stable/17.11 https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster
+git clone -b stable/17.11 https://github.com/openstack/charm-neutron-api.git $distro/neutron-api
+git clone -b stable/17.11 https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch
+git clone -b stable/17.11 https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller
+git clone -b stable/17.11 https://github.com/openstack/charm-nova-compute.git $distro/nova-compute
+git clone -b stable/17.11 https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard
+git clone -b stable/17.11 https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server
+git clone -b stable/17.11 https://github.com/openstack/charm-heat.git $distro/heat
 git clone https://github.com/openstack/charm-lxd.git $distro/lxd
 git clone https://github.com/openbaton/juju-charm.git $distro/openbaton
 
+charm pull cs:ntp $distro/ntp
 charm pull cs:$distro/aodh $distro/aodh
 charm pull cs:~narindergupta/congress-1 $distro/congress
 
index 2a88ba6..62fbbd6 100755 (executable)
@@ -35,7 +35,7 @@ git clone -b stable/17.08 https://github.com/openstack/charm-lxd.git $distro/lxd
 git clone https://github.com/openbaton/juju-charm.git $distro/openbaton
 
 charm pull cs:$distro/mongodb $distro/mongodb
-charm pull cs:$distro/ntp $distro/ntp
+charm pull cs:ntp $distro/ntp
 charm pull cs:$distro/aodh $distro/aodh
 charm pull cs:~free.ekanayaka/xenial/haproxy-1 $distro/haproxy
 charm pull cs:~narindergupta/congress-1 $distro/congress
index a32bb99..3c8f975 100755 (executable)
@@ -17,8 +17,6 @@ opnfvlab=$2
 opnfvdistro=$3
 opnfvos=$4
 
-jujuver=`juju --version`
-
 if [ -f ./deployconfig.yaml ];then
     EXTERNAL_NETWORK=`grep floating-ip-range deployconfig.yaml | cut -d ' ' -f 4 `
 
@@ -49,38 +47,22 @@ update_gw_mac() {
     ## get gateway mac
     EXTNET_GW_MAC=$(juju ssh nova-compute/0 "arp -a ${EXTNET_GW} | grep -Eo '([0-9a-fA-F]{2})(([/\s:-][0-9a-fA-F]{2}){5})'")
     ## set external gateway mac in onos
-    if [[ "$jujuver" < "2" ]]; then
-        juju set onos-controller gateway-mac=$EXTNET_GW_MAC
-    else
-        juju config onos-controller gateway-mac=$EXTNET_GW_MAC
-    fi
+    juju config onos-controller gateway-mac=$EXTNET_GW_MAC
 }
 
 unitAddress() {
-    if [[ "$jujuver" < "2" ]]; then
-        juju status --format yaml | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"public-address\"]" 2> /dev/null
-    else
-        juju status --format yaml | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"applications\"][\"$1\"][\"units\"][\"$1/$2\"][\"public-address\"]" 2> /dev/null
-    fi
+    juju status --format yaml | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"applications\"][\"$1\"][\"units\"][\"$1/$2\"][\"public-address\"]" 2> /dev/null
 }
 
 unitMachine() {
-    if [[ "$jujuver" < "2" ]]; then
-        juju status --format yaml | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"machine\"]" 2> /dev/null
-    else
-        juju status --format yaml | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"applications\"][\"$1\"][\"units\"][\"$1/$2\"][\"machine\"]" 2> /dev/null
-    fi
+    juju status --format yaml | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"applications\"][\"$1\"][\"units\"][\"$1/$2\"][\"machine\"]" 2> /dev/null
 }
 
 keystoneIp() {
     if [ $(juju status keystone --format=short | grep " keystone"|wc -l) == 1 ];then
         unitAddress keystone 0
     else
-        if [[ "$jujuver" < "2" ]]; then
-            juju get keystone | python -c "import yaml; import sys; print yaml.load(sys.stdin)['settings']['vip']['value']" | cut -d " " -f 1
-        else
-            juju config keystone | python -c "import yaml; import sys; print yaml.load(sys.stdin)['settings']['vip']['value']" | cut -d " " -f 1
-        fi
+        juju config keystone | python -c "import yaml; import sys; print yaml.load(sys.stdin)['settings']['vip']['value']" | cut -d " " -f 1
     fi
 }
 
@@ -90,11 +72,7 @@ create_openrc() {
 
     mkdir -m 0700 -p cloud
     keystoneIp=$(keystoneIp)
-    if [[ "$jujuver" < "2" ]]; then
-        adminPasswd=$(juju get keystone | grep admin-password -A 5 | grep value | awk '{print $2}' 2> /dev/null)
-    else
-        adminPasswd=$(juju config keystone | grep admin-password -A 5 | grep value | awk '{print $2}' 2> /dev/null)
-    fi
+    adminPasswd=$(juju config keystone | python -c "import yaml; import sys; print yaml.load(sys.stdin)['settings']['admin-password']['value']" | cut -d " " -f 1)
 
     v3api=`juju config keystone  preferred-api-version`
 
@@ -138,6 +116,7 @@ export OS_PROJECT_NAME=$3
 export OS_PASSWORD=$2
 export OS_IDENTITY_API_VERSION=3
 export OS_REGION_NAME=$5
+export OS_INTERFACE=public
 #export OS_INSECURE=true
 #export OS_CASSL=~/joid_config/ca.pem
 EOF
@@ -167,22 +146,22 @@ echo_info "Creating external network with neutron"
 
 if [ "onos" == "$opnfvsdn" ]; then
     launch_eth
-    neutron net-show ext-net > /dev/null 2>&1 || neutron net-create ext-net \
-                                                   --router:external=True
+    openstack network show ext-net > /dev/null 2>&1 || openstack network create \
+                                                   --external --share --enable ext-net
 elif [ "ocl" == "$opnfvsdn" ]; then
-    neutron net-show ext-net > /dev/null 2>&1 || neutron net-create ext-net \
-                                                   --router:external=True
+    openstack network show ext-net > /dev/null 2>&1 || openstack network create \
+                                                   --external --share --enable ext-net
 
 else
-    neutron net-show ext-net > /dev/null 2>&1 || neutron net-create ext-net \
-                                                   --router:external=True \
-                                                   --provider:network_type flat \
-                                                   --provider:physical_network physnet1
+    openstack network show ext-net > /dev/null 2>&1 || openstack network create \
+                                                   --provider-network-type flat \
+                                                   --provider-physical-network physnet1 \
+                                                   --external --share --enable  ext-net
 fi
 
-neutron subnet-show ext-subnet > /dev/null 2>&1 || neutron subnet-create ext-net \
-   --name ext-subnet --allocation-pool start=$EXTNET_FIP,end=$EXTNET_LIP \
-   --disable-dhcp --gateway $EXTNET_GW $EXTNET_NET
+openstack subnet show ext-subnet > /dev/null 2>&1 || openstack subnet create \
+   --allocation-pool start=$EXTNET_FIP,end=$EXTNET_LIP \
+   --no-dhcp --gateway $EXTNET_GW --network ext-net --subnet-range $EXTNET_NET ext-subnet
 
 # Ocl can push packets to the fabric network in order to reach a gateway if BGP/L3VPN hasn't been configured.
 if [ "ocl" == "$opnfvsdn" ]; then
index 8a58e61..042dd0e 100644 (file)
@@ -59,7 +59,7 @@ Release Data
 | **Release designation**              | Euphrates release                    |
 |                                      |                                      |
 +--------------------------------------+--------------------------------------+
-| **Release date**                     | October 24 2017                      |
+| **Release date**                     | December 15 2017                      |
 |                                      |                                      |
 +--------------------------------------+--------------------------------------+
 | **Purpose of the delivery**          | Euphrates release                    |
@@ -88,7 +88,7 @@ Module version change
 ~~~~~~~~~~~~~~~~~~~~~
   - Euphrates release with the JOID deployment toolchain.
   - OpenStack (Ocata release)
-  - Kubernetes 1.7
+  - Kubernetes 1.8
   - Ubuntu 16.04 LTS
 
 Document version change
@@ -132,8 +132,9 @@ Bug corrections
 | **JIRA REFERENCE**                   | **SLOGAN**                           |
 |                                      |                                      |
 +--------------------------------------+--------------------------------------+
-| JIRA:                                |                                      |
-|                                      |                                      |
+| JIRA:                                | Fixes the issue on get the keyston IP|
++--------------------------------------+--------------------------------------+
+| JIRA:                                | Fix provided where use Public API    |
 +--------------------------------------+--------------------------------------+
 
 
index 04bceed..63911a0 100644 (file)
@@ -510,9 +510,9 @@ The function configOpenrc() creates the OpenStack login credentials, the functio
  create_openrc() {
     keystoneIp=$(keystoneIp)
     if [[ "$jujuver" < "2" ]]; then
-        adminPasswd=$(juju get keystone | grep admin-password -A 5 | grep value | awk '{print $2}' 2> /dev/null)
+        adminPasswd=$(juju get keystone | grep admin-password -A 7 | grep value | awk '{print $2}' 2> /dev/null)
     else
-        adminPasswd=$(juju config keystone | grep admin-password -A 5 | grep value | awk '{print $2}' 2> /dev/null)
+        adminPasswd=$(juju config keystone | grep admin-password -A 7 | grep value | awk '{print $2}' 2> /dev/null)
     fi
 
     configOpenrc admin $adminPasswd admin http://$keystoneIp:5000/v2.0 RegionOne > ~/joid_config/admin-openrc
index 1d98fd0..6717ce5 100755 (executable)
@@ -70,8 +70,20 @@ T_IMAGE_ID=`openstack image list -f value | grep -i trusty | cut -f 1 -d " "`
 
 #We can now use Juju to generate the metadata:
 
-juju metadata generate-image -d ~/simplestreams -i $X_IMAGE_ID -s xenial -r $OS_REGION_NAME -u $OS_AUTH_URL
-juju metadata generate-image -d ~/simplestreams -i $T_IMAGE_ID -s trusty -r $OS_REGION_NAME -u $OS_AUTH_URL
+#Upload images to glance
+## image name is used by script to generate metadata .. don't screw the series
+NODE_ARCTYPE=`arch`
+
+if  [ "ppc64le" == "$NODE_ARCTYPE" ]; then
+    NODE_ARCHES="ppc64el"
+elif [ "aarch64" == "$NODE_ARCTYPE" ]; then
+    NODE_ARCHES="arm"
+else
+    NODE_ARCHES="amd64"
+fi
+
+juju metadata generate-image -d ~/simplestreams -i $X_IMAGE_ID -s xenial -r $OS_REGION_NAME -u $OS_AUTH_URL -a $NODE_ARCHES
+juju metadata generate-image -d ~/simplestreams -i $T_IMAGE_ID -s trusty -r $OS_REGION_NAME -u $OS_AUTH_URL -a $NODE_ARCHES
 
 #To verify that the correct metadata files have been generated, you may run:
 #You should see .json files containing the details we just added on the images.
index 3711729..9711b79 100755 (executable)
@@ -3,18 +3,29 @@
 folder=/srv/data/
 sudo mkdir $folder || true
 
+NODE_ARCTYPE=`arch`
+
+if  [ "ppc64le" == "$NODE_ARCTYPE" ]; then
+    NODE_ARCHES="ppc64el"
+elif [ "aarch64" == "$NODE_ARCTYPE" ]; then
+    NODE_ARCHES="arm64"
+else
+    NODE_ARCHES="amd64"
+fi
+
+
 if grep -q 'virt-type: lxd' bundles.yaml; then
     URLS=" \
-    http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-lxc.tar.gz \
-    http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-root.tar.gz "
+    http://download.cirros-cloud.net/daily/20161201/cirros-dl161201-$NODE_ARCTYPE-lxc.tar.gz \
+    http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-$NODE_ARCHES-root.tar.gz "
 
 else
     URLS=" \
-    http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img \
-    http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img \
+    http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-$NODE_ARCHES-uefi1.img \
+    http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-$NODE_ARCHES-uefi1.img \
     http://mirror.catn.com/pub/catn/images/qcow2/centos6.4-x86_64-gold-master.img \
     http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 \
-    http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img "
+    http://download.cirros-cloud.net/daily/20161201/cirros-dl161201-$NODE_ARCTYPE-disk.img "
 fi
 
 for URL in $URLS
index ab4c167..47db089 100755 (executable)
@@ -39,18 +39,19 @@ EXTERNAL_NETWORK_ID=$(openstack network show ext-net | grep " id" | awk '{print
 
 #Create private network for neutron for tenant VMs
 openstack network show private > /dev/null 2>&1 || openstack network create private
-openstack subnet show private_subnet > /dev/null 2>&1 || neutron subnet-create private $NEUTRON_FIXED_NET_CIDR -- --name private_subnet --dns_nameservers list=true 8.8.8.8
+openstack subnet show private_subnet > /dev/null 2>&1 || openstack subnet create --network private --subnet-range $NEUTRON_FIXED_NET_CIDR --dns-nameserver 8.8.8.8 private_subnet
 SUBNET_ID=$(openstack subnet show private_subnet | grep " id" | awk '{print $4}')
 
 #Create router for external network and private network
 openstack router show provider-router > /dev/null 2>&1 || openstack router create --project-domain=$OS_PROJECT_DOMAIN_NAME --project $OS_PROJECT_NAME provider-router
 ROUTER_ID=$(openstack router show provider-router | grep " id" | awk '{print $4}')
 
-neutron router-gateway-clear provider-router || true
-neutron router-gateway-set $ROUTER_ID $EXTERNAL_NETWORK_ID
-## make it always ok to have it indempodent.
-neutron router-interface-add $ROUTER_ID $SUBNET_ID || true
+openstack router set --external-gateway $EXTERNAL_NETWORK_ID --enable $ROUTER_ID || true
 
+ ## make it always ok to have it indempodent.
+openstack router add subnet $ROUTER_ID $SUBNET_ID || true
+
+#neutron router-gateway-clear provider-router || true
 
 echo "Configuring security groups for access to ICMP, SSH and RDP by default"
 
@@ -80,7 +81,6 @@ openstack flavor show m1.xlarge > /dev/null 2>&1 || openstack flavor create --ra
 echo "modifying default quotas for admin user"
 
 #Modify quotas for the tenant to allow large deployments
-PROJECT_ID=`openstack quota show -f value -c project`
 openstack quota set --instances 400 --cores 800 --ram 404800 --secgroups 4000 --floating-ips -1 --secgroup-rules -1 $PROJECT_ID
 
 ### need to find how to change quota for the project not the tenant
@@ -92,13 +92,22 @@ echo "Uploading images to glance"
 
 #Upload images to glance
 ## image name is used by script to generate metadata .. don't screw the series
+NODE_ARCTYPE=`arch`
+
+if  [ "ppc64le" == "$NODE_ARCTYPE" ]; then
+    NODE_ARCHES="ppc64el"
+elif [ "aarch64" == "$NODE_ARCTYPE" ]; then
+    NODE_ARCHES="arm64"
+else
+    NODE_ARCHES="amd64"
+fi
 
 if grep -q 'virt-type: lxd' bundles.yaml; then
-    openstack image list | grep "Xenial LXC x86_64" > /dev/null 2>&1 || glance image-create --name="Xenial LXC x86_64" --visibility=public --container-format=bare --disk-format=root-tar --property architecture="x86_64"  < /srv/data/xenial-server-cloudimg-amd64-root.tar.gz
-    openstack image list | grep "Cirros LXC 0.3" > /dev/null 2>&1 || glance image-create --name="Cirros LXC 0.3" --visibility=public --container-format=bare --disk-format=root-tar --property architecture="x86_64"  < /srv/data/cirros-0.3.4-x86_64-lxc.tar.gz
+    openstack image list | grep "Xenial LXC" > /dev/null 2>&1 || glance image-create --name="Xenial LXC" --visibility=public --container-format=bare --disk-format=root-tar --property architecture="$NODE_ARCTYPE"  < /srv/data/xenial-server-cloudimg-$NODE_ARCHES-root.tar.gz
+    openstack image list | grep "Cirros LXC" > /dev/null 2>&1 || glance image-create --name="Cirros LXC" --visibility=public --container-format=bare --disk-format=root-tar --property architecture="$NODE_ARCTYPE"  < /srv/data/cirros-dl161201-$NODE_ARCTYPE-lxc.tar.gz
 else
-    openstack image list | grep "Trusty x86_64" > /dev/null 2>&1 || openstack image create "Trusty x86_64" --public --container-format=ovf --disk-format=qcow2 <  /srv/data/trusty-server-cloudimg-amd64-disk1.img
-    openstack image list | grep "Xenial x86_64" > /dev/null 2>&1 || openstack image create "Xenial x86_64" --public --container-format=ovf --disk-format=qcow2 <  /srv/data/xenial-server-cloudimg-amd64-disk1.img
-    openstack image list | grep "CentOS 6.4" > /dev/null 2>&1 || openstack image create "CentOS 6.4" --public --container-format=bare --disk-format=qcow2 < /srv/data/centos6.4-x86_64-gold-master.img
-    openstack image list | grep "Cirros 0.3" > /dev/null 2>&1 || openstack image create "Cirros 0.3" --public --container-format=bare --disk-format=qcow2 < /srv/data/cirros-0.3.4-x86_64-disk.img
+    openstack image list | grep "Trusty" > /dev/null 2>&1 || openstack image create "Trusty" --public --container-format=ovf --disk-format=qcow2 --property architecture="$NODE_ARCTYPE" <  /srv/data/trusty-server-cloudimg-$NODE_ARCHES-uefi1.img
+    openstack image list | grep "Xenial" > /dev/null 2>&1 || openstack image create "Xenial" --public --container-format=ovf --disk-format=qcow2 --property architecture="$NODE_ARCTYPE" <  /srv/data/xenial-server-cloudimg-$NODE_ARCHES-uefi1.img
+    openstack image list | grep "CentOS" > /dev/null 2>&1 || openstack image create "CentOS" --public --container-format=bare --disk-format=qcow2 < /srv/data/CentOS-7-x86_64-GenericCloud.qcow2
+    openstack image list | grep "Cirros" > /dev/null 2>&1 || openstack image create "Cirros" --public --container-format=bare --disk-format=qcow2 --property architecture="$NODE_ARCTYPE" < /srv/data/cirros-dl161201-$NODE_ARCTYPE-disk.img
 fi
diff --git a/labconfig/enea/pod5/labconfig.yaml b/labconfig/enea/pod5/labconfig.yaml
new file mode 100644 (file)
index 0000000..a1c8a7e
--- /dev/null
@@ -0,0 +1,170 @@
+lab:
+  location: enea
+  racks:
+  - rack: pod5
+    nodes:
+    - name: softiron-3
+      architecture: aarch64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["e0:ff:f7:00:08:ae"]
+      - ifname: intf1
+        spaces: [floating]
+        mac: ["e0:ff:f7:00:08:af"]
+      - ifname: intf1.2185
+        spaces: [data]
+        mac: ["e0:ff:f7:00:08:af"]
+      - ifname: intf1.2183
+        spaces: [public]
+        mac: ["e0:ff:f7:00:08:af"]
+      - ifname: intf1.2184
+        spaces: [storage]
+        mac: ["e0:ff:f7:00:08:af"]
+      power:
+        type: ipmi
+        address: 10.0.8.3
+        user: admin
+        pass: admin
+    - name: softiron-4
+      architecture: aarch64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["e0:ff:f7:00:08:b1"]
+      - ifname: intf1
+        spaces: [floating]
+        mac: ["e0:ff:f7:00:08:b2"]
+      - ifname: intf1.2185
+        spaces: [data]
+        mac: ["e0:ff:f7:00:08:b2"]
+      - ifname: intf1.2183
+        spaces: [public]
+        mac: ["e0:ff:f7:00:08:b2"]
+      - ifname: intf1.2184
+        spaces: [storage]
+        mac: ["e0:ff:f7:00:08:b2"]
+      power:
+        type: ipmi
+        address: 10.0.8.4
+        user: admin
+        pass: admin
+
+    - name: softiron-5
+      architecture: aarch64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["e0:ff:f7:00:08:bd"]
+      - ifname: intf1
+        spaces: [floating]
+        mac: ["e0:ff:f7:00:08:be"]
+      - ifname: intf1.2185
+        spaces: [data]
+        mac: ["e0:ff:f7:00:08:be"]
+      - ifname: intf1.2183
+        spaces: [public]
+        mac: ["e0:ff:f7:00:08:be"]
+      - ifname: intf1.2184
+        spaces: [storage]
+        mac: ["e0:ff:f7:00:08:be"]
+      power:
+        type: ipmi
+        address: 10.0.8.5
+        user: admin
+        pass: admin
+
+    - name: softiron-6
+      architecture: aarch64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["e0:ff:f7:00:08:c6"]
+      - ifname: intf1
+        spaces: [floating]
+        mac: ["e0:ff:f7:00:08:c7"]
+      - ifname: intf1.2185
+        spaces: [data]
+        mac: ["e0:ff:f7:00:08:c7"]
+      - ifname: intf1.2183
+        spaces: [public]
+        mac: ["e0:ff:f7:00:08:c7"]
+      - ifname: intf1.2184
+        spaces: [storage]
+        mac: ["e0:ff:f7:00:08:c7"]
+      power:
+        type: ipmi
+        address: 10.0.8.6
+        user: admin
+        pass: admin
+
+    - name: softiron-7
+      architecture: aarch64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["e0:ff:f7:00:08:cf"]
+      - ifname: intf1
+        spaces: [floating]
+        mac: ["e0:ff:f7:00:08:d0"]
+      - ifname: intf1.2185
+        spaces: [data]
+        mac: ["e0:ff:f7:00:08:d0"]
+      - ifname: intf1.2183
+        spaces: [public]
+        mac: ["e0:ff:f7:00:08:d0"]
+      - ifname: intf1.2184
+        spaces: [storage]
+        mac: ["e0:ff:f7:00:08:d0"]
+      power:
+        type: ipmi
+        address: 10.0.8.7
+        user: admin
+        pass: admin
+    floating-ip-range: 10.0.8.40,10.0.8.250,10.0.8.254,10.0.8.0/24
+    ext-port: "intf1"
+    dns: 8.8.8.8
+    osdomainname:
+#below section shoiuld define the jumphost.
+opnfv:
+    release: f
+    distro: xenial
+    type: noha
+    openstack: pike
+    sdncontroller:
+    - type: nosdn
+    storage:
+    - type: ceph
+      disk: /dev/sdb
+    feature: odl_l2
+    spaces:
+    - type: admin
+      bridge: admin7_br0
+      cidr: 192.168.11.0/24
+      gateway: 192.168.11.1
+      vlan:
+    - type: floating
+      cidr: 10.0.8.0/24
+      gateway: 10.0.8.254
+      mac: ["00:0f:b7:04:00:c2"]
+      vlan:
+    - type: data
+      cidr: 10.1.0.0/24
+      gateway:
+      mac: ["00:0f:b7:04:00:c2"]
+      vlan: 2185
+    - type: public
+      cidr: 172.16.10.0/24
+      gateway:
+      mac: ["00:0f:b7:04:00:c2"]
+      vlan: 2183
+    - type: storage
+      cidr: 10.2.0.0/24
+      gateway:
+      mac: ["00:0f:b7:04:00:c2"]
+      vlan: 2184
diff --git a/labconfig/enea/pod6/labconfig.yaml b/labconfig/enea/pod6/labconfig.yaml
new file mode 100644 (file)
index 0000000..193078b
--- /dev/null
@@ -0,0 +1,170 @@
+lab:
+  location: enea
+  racks:
+  - rack: pod6
+    nodes:
+    - name: cn8890-24
+      architecture: aarch64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["68:05:ca:5a:c3:a7"]
+      - ifname: intf1.2323
+        spaces: [public]
+        mac: ["1c:1b:0d:e8:fa:83"]
+      - ifname: intf1.2324
+        spaces: [storage]
+        mac: ["1c:1b:0d:e8:fa:83"]
+      - ifname: intf1.2325
+        spaces: [data]
+        mac: ["1c:1b:0d:e8:fa:83"]
+      - ifname: intf1
+        spaces: [floating]
+        mac: ["1c:1b:0d:e8:fa:83"]
+      power:
+        type: ipmi
+        address: 10.0.1.54
+        user: ADMIN
+        pass: ADMIN
+    - name: cn8890-25
+      architecture: aarch64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["68:05:ca:5a:c3:bc"]
+      - ifname: intf1.2323
+        spaces: [public]
+        mac: ["1c:1b:0d:e8:fb:a5"]
+      - ifname: intf1.2324
+        spaces: [storage]
+        mac: ["1c:1b:0d:e8:fb:a5"]
+      - ifname: intf1.2325
+        spaces: [data]
+        mac: ["1c:1b:0d:e8:fb:a5"]
+      - ifname: intf1
+        spaces: [floating]
+        mac: ["1c:1b:0d:e8:fb:a5"]
+      power:
+        type: ipmi
+        address: 10.0.1.55
+        user: ADMIN
+        pass: ADMIN
+
+    - name: cn8890-26
+      architecture: aarch64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["68:05:ca:61:b9:00"]
+      - ifname: intf1.2323
+        spaces: [public]
+        mac: ["1c:1b:0d:e8:fa:65"]
+      - ifname: intf1.2324
+        spaces: [storage]
+        mac: ["1c:1b:0d:e8:fa:65"]
+      - ifname: intf1.2325
+        spaces: [data]
+        mac: ["1c:1b:0d:e8:fa:65"]
+      - ifname: intf1
+        spaces: [floating]
+        mac: ["1c:1b:0d:e8:fa:65"]
+      power:
+        type: ipmi
+        address: 10.0.1.56
+        user: ADMIN
+        pass: ADMIN
+
+    - name: cn8890-27
+      architecture: aarch64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["68:05:ca:57:f7:16"]
+      - ifname: intf1.2323
+        spaces: [public]
+        mac: ["1c:1b:0d:e8:fb:19"]
+      - ifname: intf1.2324
+        spaces: [storage]
+        mac: ["1c:1b:0d:e8:fb:19"]
+      - ifname: intf1.2325
+        spaces: [data]
+        mac: ["1c:1b:0d:e8:fb:19"]
+      - ifname: intf1
+        spaces: [floating]
+        mac: ["1c:1b:0d:e8:fb:19"]
+      power:
+        type: ipmi
+        address: 10.0.1.57
+        user: ADMIN
+        pass: ADMIN
+
+    - name: cn8890-28
+      architecture: aarch64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["68:05:ca:61:97:5a"]
+      - ifname: intf1.2323
+        spaces: [public]
+        mac: ["1c:1b:0d:e8:fb:7d"]
+      - ifname: intf1.2324
+        spaces: [storage]
+        mac: ["1c:1b:0d:e8:fb:7d"]
+      - ifname: intf1.2325
+        spaces: [data]
+        mac: ["1c:1b:0d:e8:fb:7d"]
+      - ifname: intf1
+        spaces: [floating]
+        mac: ["1c:1b:0d:e8:fb:7d"]
+      power:
+        type: ipmi
+        address: 10.0.1.58
+        user: ADMIN
+        pass: ADMIN
+    floating-ip-range: 10.0.15.40,10.0.15.250,10.0.15.254,10.0.15.0/24
+    ext-port: "intf1"
+    dns: 8.8.8.8
+    osdomainname:
+#below section shoiuld define the jumphost.
+opnfv:
+    release: f
+    distro: xenial
+    type: noha
+    openstack: pike
+    sdncontroller:
+    - type: nosdn
+    storage:
+    - type: ceph
+      disk: /dev/sdb
+    feature: odl_l2
+    spaces:
+    - type: admin
+      bridge: admin14_br0
+      cidr: 192.168.11.0/24
+      gateway: 192.168.11.1
+      vlan:
+    - type: floating
+      cidr: 10.0.15.0/24
+      gateway: 10.0.15.254
+      vlan:
+      mac: ["00:01:73:02:36:d5"]
+    - type: public
+      cidr: 172.16.10.0/24
+      gateway:
+      vlan: 2323
+      mac: ["00:01:73:02:36:d5"]
+    - type: storage
+      cidr: 10.2.0.0/24
+      gateway:
+      vlan: 2324
+      mac: ["00:01:73:02:36:d5"]
+    - type: data
+      cidr: 10.1.0.0/24
+      gateway:
+      vlan: 2325
+      mac: ["00:01:73:02:36:d5"]
diff --git a/labconfig/enea/virtual/pod1/labconfig.yaml b/labconfig/enea/virtual/pod1/labconfig.yaml
new file mode 100644 (file)
index 0000000..cc64acc
--- /dev/null
@@ -0,0 +1,54 @@
+lab:
+  location: virtual
+  racks:
+  - rack: pod1
+    nodes:
+    - name: rack-vir-m1
+      architecture: x86_64
+      roles: [network,control]
+      nics:
+      - ifname: ens3
+        spaces: [admin]
+      - ifname: ens4
+        spaces: [floating]
+    - name: rack-vir-m2
+      architecture: x86_64
+      roles: [compute,control,storage]
+      nics:
+      - ifname: ens3
+        spaces: [admin]
+      - ifname: ens4
+        spaces: [floating]
+    - name: rack-vir-m3
+      architecture: x86_64
+      roles: [compute,control,storage]
+      nics:
+      - ifname: ens3
+        spaces: [admin]
+      - ifname: ens4
+        spaces: [floating]
+    floating-ip-range: 192.168.122.31,192.168.122.49,192.168.122.1,192.168.122.0/24
+    ext-port: "enp2s0"
+    dns: 8.8.8.8
+opnfv:
+  release: d
+  distro: xenial
+  type: noha
+  openstack: newton
+  sdncontroller:
+  - type: nosdn
+  storage:
+  - type: ceph
+    disk: /srv
+  feature: odl_l2
+  spaces:
+  - type: admin
+    bridge: virbr0
+    cidr: 192.168.122.0/24
+    gateway: 192.168.122.1
+    vlan:
+  - type: floating
+    bridge:
+    cidr:
+    gateway:
+    vlan:
index c78a056..51ab8b7 100644 (file)
@@ -18,16 +18,16 @@ lab:
         mac: ["88:cf:98:e9:9a:9a"]
       power:
         type: ipmi
-        address: 192.168.120.19
+        address: 172.16.130.179
         user: root
-        pass: Huawei12#$
+        pass: Opnfv@pod12
     - name: rack-12-m2
       architecture: x86_64
       roles: [compute,control,storage]
       nics:
       - ifname: intf0
         spaces: [admin]
-        mac: ["88:cf:98:61:66:0b"]
+        mac: ["88:cf:98:61:67:0b"]
       - ifname: intf1
         spaces: [data]
         mac: ["88:cf:98:e9:9a:c3"]
@@ -36,9 +36,9 @@ lab:
         mac: ["88:cf:98:e9:9a:c4"]
       power:
         type: ipmi
-        address: 192.168.120.20
+        address: 172.16.130.180
         user: root
-        pass: Huawei12#$
+        pass: Opnfv@pod12
     - name: rack-12-m3
       architecture: x86_64
       roles: [compute,control,storage]
@@ -48,15 +48,15 @@ lab:
         mac: ["88:cf:98:61:66:d9"]
       - ifname: intf1
         spaces: [data]
-        mac: ["88:cf:98:e9:9a:9b"]
+        mac: ["88:cf:98:e9:9a:b3"]
       - ifname: intf2
         spaces: [floating]
-        mac: ["88:cf:98:e9:9a:9c"]
+        mac: ["88:cf:98:e9:9a:b4"]
       power:
         type: ipmi
-        address: 192.168.120.21
+        address: 172.16.130.181
         user: root
-        pass: Huawei12#$
+        pass: Opnfv@pod12
     - name: rack-12-m4
       architecture: x86_64
       roles: [compute,storage]
@@ -72,36 +72,36 @@ lab:
         mac: ["88:cf:98:e9:9a:9c"]
       power:
         type: ipmi
-        address: 192.168.120.22
+        address: 172.16.130.182
         user: root
-        pass: Huawei12#$
+        pass: Opnfv@pod12
     - name: rack-12-m5
       architecture: x86_64
       roles: [compute,storage]
       nics:
       - ifname: intf0
         spaces: [admin]
-        mac: ["88:cf:98:83:31:db"]
+        mac: ["88:cf:98:61:66:db"]
       - ifname: intf1
         spaces: [data]
-        mac: ["88:cf:98:e9:9a:a5"]
+        mac: ["88:cf:98:e9:9a:af"]
       - ifname: intf2
         spaces: [floating]
-        mac: ["88:cf:98:e9:9a:a6"]
+        mac: ["88:cf:98:e9:9a:b0"]
       power:
         type: ipmi
-        address: 192.168.120.23
+        address: 172.16.130.183
         user: root
-        pass: Huawei12#$
+        pass: Opnfv@pod12
     floating-ip-range: 10.6.15.7,10.6.15.250,10.6.15.1,10.6.15.0/24
-    ext-port: "enp4s0d1"
+    ext-port: "intf2"
     dns: 8.8.8.8
     public-api-ip:
     osdomainname:
 opnfv:
   release: d
   distro: xenial
-  type: noha
+  type: nonha
   openstack: newton
   sdncontroller:
   - type: nosdn
@@ -127,7 +127,7 @@ opnfv:
     vlan:
   - type: external
     bridge: brExt
-    cidr: 192.168.30.0/24
-    gateway: 192.168.30.250
-    ipaddress: 192.168.30.2
+    cidr: 172.30.12.0/24
+    gateway: 172.30.12.1
+    ipaddress: 172.30.12.2
     vlan:
diff --git a/labconfig/intel/pod18/labconfig.yaml b/labconfig/intel/pod18/labconfig.yaml
new file mode 100644 (file)
index 0000000..2cb83d2
--- /dev/null
@@ -0,0 +1,163 @@
+lab:
+  location: intel
+  racks:
+  - rack: pod18
+    nodes:
+    - name: rack-18-m1
+      architecture: x86_64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["A4:BF:01:14:40:17"]
+      - ifname: intf1
+        spaces: [data]
+        mac: ["3c:fd:fe:a4:9f:a0"]
+      - ifname: intf3
+        spaces: [floating]
+        mac: ["A4:BF:01:14:40:16"]
+      - ifname: intf2.1183
+        spaces: [public]
+        mac: ["3c:fd:fe:a4:9f:a1"]
+      - ifname: intf2
+        spaces: [storage]
+        mac: ["3c:fd:fe:a4:9f:a1"]
+      power:
+        type: ipmi
+        address: 10.10.180.11
+        user: root
+        pass: root
+    - name: rack-18-m2
+      architecture: x86_64
+      roles: [compute,control,storage]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["A4:BF:01:16:31:1f"]
+      - ifname: intf1
+        spaces: [data]
+        mac: ["3c:fd:fe:a4:a0:30"]
+      - ifname: intf3
+        spaces: [floating]
+        mac: ["A4:BF:01:16:31:1e"]
+      - ifname: intf2.1183
+        spaces: [public]
+        mac: ["3c:fd:fe:a4:a0:31"]
+      - ifname: intf2
+        spaces: [storage]
+        mac: ["3c:fd:fe:a4:a0:31"]
+      power:
+        type: ipmi
+        address: 10.10.180.12
+        user: root
+        pass: root
+    - name: rack-18-m3
+      architecture: x86_64
+      roles: [compute,control,storage]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["A4:BF:01:16:30:F7"]
+      - ifname: intf1
+        spaces: [data]
+        mac: ["3c:fd:fe:a4:9e:48"]
+      - ifname: intf3
+        spaces: [floating]
+        mac: ["A4:BF:01:16:30:F6"]
+      - ifname: intf2.1183
+        spaces: [public]
+        mac: ["3c:fd:fe:a4:9e:49"]
+      - ifname: intf2
+        spaces: [storage]
+        mac: ["3c:fd:fe:a4:9e:49"]
+      power:
+        type: ipmi
+        address: 10.10.180.13
+        user: root
+        pass: root
+    - name: rack-18-m4
+      architecture: x86_64
+      roles: [compute,storage]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["A4:BF:01:14:72:0E"]
+      - ifname: intf1
+        spaces: [data]
+        mac: ["3c:fd:fe:a4:9d:e8"]
+      - ifname: intf3
+        spaces: [floating]
+        mac: ["A4:BF:01:14:72:0D"]
+      - ifname: intf2.1183
+        spaces: [public]
+        mac: ["3c:fd:fe:a4:9d:e9"]
+      - ifname: intf2
+        spaces: [storage]
+        mac: ["3c:fd:fe:a4:9d:e9"]
+      power:
+        type: ipmi
+        address: 10.10.180.14
+        user: root
+        pass: root
+    - name: rack-18-m5
+      architecture: x86_64
+      roles: [compute,storage]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["A4:BF:01:14:71:69"]
+      - ifname: intf1
+        spaces: [data]
+        mac: ["3c:fd:fe:a4:a1:08"]
+      - ifname: intf3
+        spaces: [floating]
+        mac: ["A4:BF:01:14:71:68"]
+      - ifname: intf2.1183
+        spaces: [public]
+        mac: ["3c:fd:fe:a4:a1:09"]
+      - ifname: intf2
+        spaces: [storage]
+        mac: ["3c:fd:fe:a4:a1:09"]
+      power:
+        type: ipmi
+        address: 10.10.180.15
+        user: root
+        pass: root
+    floating-ip-range: 10.10.180.40,10.10.180.250,10.10.180.1,10.10.180.0/24
+    ext-port: "intf3"
+    dns: 8.8.8.8
+    osdomainname:
+opnfv:
+    release: f
+    distro: xenial
+    type: noha
+    openstack: pike
+    sdncontroller:
+    - type: nosdn
+    storage:
+    - type: ceph
+      disk: /dev/sdb
+    feature: odl_l2
+    spaces:
+    - type: admin
+      bridge: brAdm
+      cidr: 10.10.181.0/24
+      gateway: 10.10.181.2
+      vlan:
+    - type: data
+      cidr: 10.10.182.0/24
+      gateway:
+      vlan:
+    - type: storage
+      cidr: 10.10.183.0/24
+      gateway:
+      vlan:
+    - type: floating
+      bridge: brExt
+      cidr: 10.10.180.0/24
+      gateway:
+      vlan:
+    - type: public
+      cidr: 10.10.185.0/24
+      gateway: 10.10.185.1
+      vlan: 1183
diff --git a/labconfig/intel/pod19/labconfig.yaml b/labconfig/intel/pod19/labconfig.yaml
new file mode 100644 (file)
index 0000000..098571c
--- /dev/null
@@ -0,0 +1,162 @@
+lab:
+  location: intel
+  racks:
+  - rack: pod19
+    nodes:
+    - name: rack-19-m1
+      architecture: x86_64
+      roles: [network,control]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["a4:bf:01:4b:55:f5"]
+      - ifname: intf1
+        spaces: [data]
+        mac: ["3c:fd:fe:aa:b8:f4"]
+      - ifname: intf3
+        spaces: [floating]
+        mac: ["a4:bf:01:4b:55:f4"]
+#      - ifname: intf2.1193
+#        spaces: [public]
+#        mac: ["3c:fd:fe:aa:b8:f5"]
+      - ifname: intf2
+        spaces: [storage]
+        mac: ["3c:fd:fe:aa:b8:f5"]
+      power:
+        type: ipmi
+        address: 10.10.190.11
+        user: root
+        pass: root
+    - name: rack-19-m2
+      architecture: x86_64
+      roles: [compute,control,storage]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["a4:bf:01:4b:4f:9d"]
+      - ifname: intf1
+        spaces: [data]
+        mac: ["3c:fd:fe:aa:b7:fc"]
+      - ifname: intf3
+        spaces: [floating]
+        mac: ["a4:bf:01:4b:4f:9c"]
+#      - ifname: intf2.1193
+#        spaces: [public]
+#        mac: ["3c:fd:fe:aa:b7:fd"]
+      - ifname: intf2
+        spaces: [storage]
+        mac: ["3c:fd:fe:aa:b7:fd"]
+      power:
+        type: ipmi
+        address: 10.10.190.12
+        user: root
+        pass: root
+    - name: rack-19-m3
+      architecture: x86_64
+      roles: [compute,control,storage]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["a4:bf:01:4b:4f:5e"]
+      - ifname: intf1
+        spaces: [data]
+        mac: ["3c:fd:fe:aa:bd:d4"]
+      - ifname: intf3
+        spaces: [floating]
+        mac: ["a4:bf:01:4b:4f:5d"]
+#      - ifname: intf2.1193
+#        spaces: [public]
+#        mac: ["3c:fd:fe:aa:bd:d5"]
+      - ifname: intf2
+        spaces: [storage]
+        mac: ["3c:fd:fe:aa:bd:d5"]
+      power:
+        type: ipmi
+        address: 10.10.190.13
+        user: root
+        pass: root
+    - name: rack-19-m4
+      architecture: x86_64
+      roles: [compute,storage]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["a4:bf:01:4b:4d:2e"]
+      - ifname: intf1
+        spaces: [data]
+        mac: ["3c:fd:fe:aa:b9:c8"]
+      - ifname: intf3
+        spaces: [floating]
+        mac: ["a4:bf:01:4b:4d:2d"]
+#      - ifname: intf2.1193
+#        spaces: [public]
+#        mac: ["3c:fd:fe:aa:b9:c9"]
+      - ifname: intf2
+        spaces: [storage]
+        mac: ["3c:fd:fe:aa:b9:c9"]
+      power:
+        type: ipmi
+        address: 10.10.190.14
+        user: root
+        pass: root
+    - name: rack-19-m5
+      architecture: x86_64
+      roles: [compute,storage]
+      nics:
+      - ifname: intf0
+        spaces: [admin]
+        mac: ["a4:bf:01:4b:56:11"]
+      - ifname: intf1
+        spaces: [data]
+        mac: ["3c:fd:fe:aa:ba:38"]
+      - ifname: intf3
+        spaces: [floating]
+        mac: ["a4:bf:01:4b:56:10"]
+#      - ifname: intf2.1193
+#        spaces: [public]
+#        mac: ["3c:fd:fe:aa:ba:39"]
+      - ifname: intf2
+        spaces: [storage]
+        mac: ["3c:fd:fe:aa:ba:39"]
+      power:
+        type: ipmi
+        address: 10.10.190.15
+        user: root
+        pass: root
+    floating-ip-range: 10.10.190.40,10.10.190.250,10.10.190.1,10.10.190.0/24
+    ext-port: "intf3"
+    dns: 8.8.8.8
+    osdomainname:
+opnfv:
+    release: d
+    distro: xenial
+    type: noha
+    openstack: pike
+    sdncontroller:
+    - type: nosdn
+    storage:
+    - type: ceph
+      disk: /srv
+    feature: odl_l2
+    spaces:
+    - type: admin
+      bridge: brAdm
+      cidr: 10.10.191.0/24
+      gateway: 10.10.191.2
+      vlan:
+    - type: data
+      cidr: 10.10.192.0/24
+      gateway:
+      vlan:
+    - type: storage
+      cidr: 10.10.193.0/24
+      gateway:
+      vlan:
+    - type: floating
+      cidr: 10.10.190.0/24
+      gateway:
+      vlan:
+#    - type: public
+#      cidr: 10.10.195.0/24
+#      gateway:
+#      vlan: 1193
index a29282d..fb8637e 100644 (file)
@@ -13,6 +13,9 @@ lab:
       - ifname: intf101
         spaces: [floating]
         mac: ["24:8a:07:3f:84:ad"]
+      - ifname: intf101.104
+        spaces: [public]
+        mac: ["24:8a:07:3f:84:ad"]
       power:
         type: ipmi
         address: 192.0.5.125
@@ -28,6 +31,9 @@ lab:
       - ifname: intf101
         spaces: [floating]
         mac: ["24:8a:07:3f:96:87"]
+      - ifname: intf101.104
+        spaces: [public]
+        mac: ["24:8a:07:3f:96:87"]
       power:
         type: ipmi
         address: 192.0.5.126
@@ -43,6 +49,9 @@ lab:
       - ifname: intf101
         spaces: [floating]
         mac: ["24:8a:07:3f:84:c5"]
+      - ifname: intf101.104
+        spaces: [public]
+        mac: ["24:8a:07:3f:84:c5"]
       power:
         type: ipmi
         address: 192.0.5.127
@@ -58,6 +67,9 @@ lab:
       - ifname: intf101
         spaces: [floating]
         mac: ["24:8a:07:3f:96:4f"]
+      - ifname: intf101.104
+        spaces: [public]
+        mac: ["24:8a:07:3f:96:4f"]
       power:
         type: ipmi
         address: 192.0.5.128
@@ -69,10 +81,13 @@ lab:
       nics:
       - ifname: intf100
         spaces: [admin]
-        mac: ["24:8a:07:3f:95:fe"]
+        mac: ["24:8a:07:3f:95:b6"]
       - ifname: intf101
         spaces: [floating]
-        mac: ["24:8a:07:3f:95:ff"]
+        mac: ["24:8a:07:3f:95:b7"]
+      - ifname: intf101.104
+        spaces: [public]
+        mac: ["24:8a:07:3f:95:b7"]
       power:
         type: ipmi
         address: 192.0.5.129
@@ -83,10 +98,10 @@ lab:
     dns: 8.8.8.8
     osdomainname:
 opnfv:
-    release: d
+    release: f
     distro: xenial
     type: nonha
-    openstack: Newton
+    openstack: pike
     sdncontroller:
     - type: nosdn
     storage:
@@ -100,10 +115,13 @@ opnfv:
       gateway: 192.0.5.5
       vlan:
     - type: floating
-      bridge: brPublic
       cidr: 172.21.159.0/24
       gateway: 172.21.159.1
       vlan:
+    - type: public
+      cidr: 172.22.159.0/24
+      gateway:
+      vlan: 104
     - type: external
       bridge: brExt
       cidr: