summaryrefslogtreecommitdiffstats
path: root/firstboot
diff options
context:
space:
mode:
authorMichael Henkel <mhenkel@juniper.net>2017-06-16 11:02:59 -0700
committerMichael Henkel <mhenkel@juniper.net>2017-07-25 18:24:13 +0200
commitaa5194f878bb0c9fb98891abd6005b1b252eff3e (patch)
treecff5a15d52a123e72c399ec293f29229adf80563 /firstboot
parentec25c792d73c4a4b6e14ddfa0ffa385211fa1a29 (diff)
Contrail network realignement + DPDK enablement
This patch moves Contrail roles communication from public/external to internal_api network for OpenStack API. It also adds the option to enable dpdk. Monolithic firstboot script is broken down into small pre-network and per-node extraconfig scripts Change-Id: I296a3bf60cef6fa950fd71d6e68effe367d1e66b Closes-Bug: 1698422
Diffstat (limited to 'firstboot')
-rw-r--r--firstboot/install_vrouter_kmod.yaml105
1 files changed, 0 insertions, 105 deletions
diff --git a/firstboot/install_vrouter_kmod.yaml b/firstboot/install_vrouter_kmod.yaml
deleted file mode 100644
index 65e93fe3..00000000
--- a/firstboot/install_vrouter_kmod.yaml
+++ /dev/null
@@ -1,105 +0,0 @@
-heat_template_version: pike
-
-parameters:
- ContrailRepo:
- type: string
- default: http://192.168.24.1/contrail
- VrouterPhysicalInterface:
- default: 'eth0'
- description: vRouter physical interface
- type: string
-
-description: >
- Prepares vhost0 interface to be used by os-net-config
-
-resources:
- userdata:
- type: OS::Heat::MultipartMime
- properties:
- parts:
- - config: {get_resource: vrouter_module_config}
-
- vrouter_module_config:
- type: OS::Heat::SoftwareConfig
- properties:
- config:
- str_replace:
- template: |
- #!/bin/bash
- sed -i '/\[main\]/a \ \ \ \ \parser = future' /etc/puppet/puppet.conf
- cat <<EOF > /etc/yum.repos.d/contrail.repo
- [Contrail]
- name=Contrail Repo
- baseurl=$contrail_repo
- enabled=1
- gpgcheck=0
- protect=1
- EOF
- if [[ `hostname |awk -F"-" '{print $2}'` == "novacompute" || `hostname |awk -F"-" '{print $2}'` == "contrailtsn" ]]; then
- yum install -y contrail-vrouter-utils
- function pkt_setup () {
- for f in /sys/class/net/$1/queues/rx-*
- do
- q="$(echo $f | cut -d '-' -f2)"
- r=$(($q%32))
- s=$(($q/32))
- ((mask=1<<$r))
- str=(`printf "%x" $mask`)
- if [ $s -gt 0 ]; then
- for ((i=0; i < $s; i++))
- do
- str+=,00000000
- done
- fi
- echo $str > $f/rps_cpus
- done
- ifconfig $1 up
- }
- function insert_vrouter() {
- insmod /tmp/vrouter.ko
- if [ -f /sys/class/net/pkt1/queues/rx-0/rps_cpus ]; then
- pkt_setup pkt1
- fi
- if [ -f /sys/class/net/pkt2/queues/rx-0/rps_cpus ]; then
- pkt_setup pkt2
- fi
- if [ -f /sys/class/net/pkt3/queues/rx-0/rps_cpus ]; then
- pkt_setup pkt3
- fi
- DEV_MAC=$(cat /sys/class/net/$phy_int/address)
- vif --create vhost0 --mac $DEV_MAC
- vif --add $phy_int --mac $DEV_MAC --vrf 0 --vhost-phys --type physical
- vif --add vhost0 --mac $DEV_MAC --vrf 0 --type vhost --xconnect $phy_int
- ip link set vhost0 up
- return 0
- }
- yumdownloader contrail-vrouter --destdir /tmp
- cd /tmp
- rpm2cpio /tmp/contrail-vrouter*.rpm | cpio -idmv
- cp `find /tmp/lib/modules -name vrouter.ko |tail -1` /tmp
- insert_vrouter
- if [[ `ifconfig $dev |grep "inet "` ]]; then
- def_gw=''
- if [[ `ip route show |grep default|grep $dev` ]]; then
- def_gw=`ip route show |grep default|grep $dev|awk '{print $3}'`
- fi
- ip=`ifconfig $dev |grep "inet "|awk '{print $2}'`
- mask=`ifconfig $dev |grep "inet "|awk '{print $4}'`
- ip address delete $ip/$mask dev $dev
- ip address add $ip/$mask dev vhost0
- if [[ $def_gw ]]; then
- ip route add default via $def_gw
- fi
- fi
- fi
- params:
- $phy_int: {get_param: VrouterPhysicalInterface}
- $contrail_repo: {get_param: ContrailRepo}
-
-outputs:
- # This means get_resource from the parent template will get the userdata, see:
- # http://docs.openstack.org/developer/heat/template_guide/composition.html#making-your-template-resource-more-transparent
- # Note this is new-for-kilo, an alternative is returning a value then using
- # get_attr in the parent template instead.
- OS::stack_id:
- value: {get_resource: userdata}