summaryrefslogtreecommitdiffstats
path: root/fuel-plugin-ovsnfv
diff options
context:
space:
mode:
authorBilly O'Mahony <billy.o.mahony@intel.com>2016-01-27 15:55:55 +0000
committerBilly O'Mahony <billy.o.mahony@intel.com>2016-01-27 16:32:41 +0000
commit7ce21aebcdabafaa24601104643cbd1c0b4bc8e4 (patch)
tree3af5c64d3915b6081032c17fb19df29df74cbd4c /fuel-plugin-ovsnfv
parentb29797556682c8be8d33cf66fa2ae100a9c2bda7 (diff)
fuel-plugins: Fuel8 Liberty rebase
Change-Id: I9c0e3ab4c8fde13765ec286d4c7c717070230983 Signed-off-by: Michal Ptacek <michalx.ptacek@intel.com> Reviewed-by: Mark D. Gray <mark.d.gray@intel.com> Reviewed-by: Billy O'Mahony <billy.o.mahony@intel.com>
Diffstat (limited to 'fuel-plugin-ovsnfv')
-rw-r--r--fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-compute.pp9
-rw-r--r--fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-controller.pp7
-rw-r--r--fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-primary-controller.pp7
-rwxr-xr-xfuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/agents_flavors_update.sh (renamed from fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/remove_agent.sh)12
-rwxr-xr-xfuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/clean.sh45
-rwxr-xr-xfuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/configure_bridges.sh26
-rw-r--r--fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/linux_net.py45
-rw-r--r--fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/neutron-plugin-openvswitch-agent.conf17
-rwxr-xr-xfuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/openvswitch-switch.conf13
-rwxr-xr-xfuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/openvswitch.service11
-rwxr-xr-xfuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/install_ovs_dpdk.pp130
-rwxr-xr-xfuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/postinstall_ovs_dpdk.pp82
-rw-r--r--fuel-plugin-ovsnfv/metadata.yaml4
-rw-r--r--fuel-plugin-ovsnfv/ovs_package/ubuntu/dependencies.txt4
-rwxr-xr-xfuel-plugin-ovsnfv/pre_build_hook2
15 files changed, 121 insertions, 293 deletions
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-compute.pp b/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-compute.pp
index 693883a..62c5766 100644
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-compute.pp
+++ b/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-compute.pp
@@ -1,16 +1,9 @@
$fuel_settings = parseyaml(file('/etc/astute.yaml'))
$master_ip = $::fuel_settings['master_ip']
-$adminrc_access = $::fuel_settings['access']
-$adminrc_user = $adminrc_access['user']
-$adminrc_password = $adminrc_access['password']
-$adminrc_tenant = $adminrc_access['tenant']
-$adminrc_public_ssl = $::fuel_settings['public_ssl']
-$adminrc_hostname = $adminrc_public_ssl['hostname']
-
if $operatingsystem == 'Ubuntu' {
class { '::ovsdpdk':
- ovs_bridge_mappings => '0000:05:00.1#eth3',
+ ovs_bridge_mappings => 'default:ens1f1',
ovs_socket_mem => '512,512',
ovs_num_hugepages => '2048',
compute => 'True',
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-controller.pp b/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-controller.pp
index fd98120..6583e27 100644
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-controller.pp
+++ b/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-controller.pp
@@ -1,13 +1,6 @@
$fuel_settings = parseyaml(file('/etc/astute.yaml'))
$master_ip = $::fuel_settings['master_ip']
-$adminrc_access = $::fuel_settings['access']
-$adminrc_user = $adminrc_access['user']
-$adminrc_password = $adminrc_access['password']
-$adminrc_tenant = $adminrc_access['tenant']
-$adminrc_public_ssl = $::fuel_settings['public_ssl']
-$adminrc_hostname = $adminrc_public_ssl['hostname']
-
if $operatingsystem == 'Ubuntu' {
class { '::ovsdpdk':
controller => 'True',
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-primary-controller.pp b/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-primary-controller.pp
index fd98120..6583e27 100644
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-primary-controller.pp
+++ b/fuel-plugin-ovsnfv/deployment_scripts/puppet/manifests/ovs-install-ovsnfv-primary-controller.pp
@@ -1,13 +1,6 @@
$fuel_settings = parseyaml(file('/etc/astute.yaml'))
$master_ip = $::fuel_settings['master_ip']
-$adminrc_access = $::fuel_settings['access']
-$adminrc_user = $adminrc_access['user']
-$adminrc_password = $adminrc_access['password']
-$adminrc_tenant = $adminrc_access['tenant']
-$adminrc_public_ssl = $::fuel_settings['public_ssl']
-$adminrc_hostname = $adminrc_public_ssl['hostname']
-
if $operatingsystem == 'Ubuntu' {
class { '::ovsdpdk':
controller => 'True',
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/remove_agent.sh b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/agents_flavors_update.sh
index 98ee30a..83164c1 100755
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/remove_agent.sh
+++ b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/agents_flavors_update.sh
@@ -1,15 +1,11 @@
#!/usr/bin/env bash
set -x
-# access openstack cli
-export OS_PROJECT_NAME=admin
-export OS_USERNAME=$1
-export OS_PASSWORD=$2
-export OS_TENANT_NAME=$3
-export OS_AUTH_URL=https://$4:5000/v2.0
+# access openstack cli
+source /root/openrc
-sleep 150
+sleep 10
neutron agent-list
# Force update of vswitch agents
@@ -17,7 +13,7 @@ for i in `neutron agent-list | grep "Open vSwitch agent" | awk {'print $2'}`; do
neutron agent-update $i
done
-sleep 150
+sleep 10
neutron agent-list
# grep id and remove dead agent on all compute nodes
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/clean.sh b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/clean.sh
deleted file mode 100755
index 9110b45..0000000
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/clean.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env bash
-
-# Short script for uninstallation of OVS with DPDK
-
-# enable debugging:
-#set -o xtrace
-
-# Stopping service if needed
-echo "[debug] stopping ovs-dpdk (if needed)"
-sudo service ovs-dpdk status 2>&1 1>/dev/null
-res=$?
-
-if [ $res -eq 2 ]; then
- echo "[warning] service ovs-dpdk is already stopped"
-else
- echo "[debug] stopping ovs-dpdk service"
- sudo service ovs-dpdk stop 2>&1 1>/dev/null
-fi
-
-# Remove ovs-dpdk service
-echo "[debug] removing ovs-dpdk service"
-sudo rm -f /etc/default/ovs-dpdk
-sudo rm -f /etc/init.d/ovs-dpdk
-
-# kvm wrapper
-echo "[debug] replacing kvm wrapper"
-if [ -e /usr/bin/kvm ]; then
- KVM_CMD="/usr/bin/kvm"
-elif [ -e /usr/bin/qemu-kvm ]; then
- KVM_CMD="/usr/bin/qemu-kvm"
-elif [ -e /usr/libexec/qemu-kvm ]; then
- KVM_CMD="/usr/libexec/qemu-kvm"
-else
- echo "[warning] package qemu-kvm probably not installed"
-fi
-
-cat << 'EOF' | sudo tee $KVM_CMD
-#!/bin/sh
-
-exec /usr/bin/qemu-system-x86_64 "${args[@]}"
-EOF
-
-
-# remove git repos
-echo "[warning] git repos were not automatically removed, you can remove it once you're finished with them"
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/configure_bridges.sh b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/configure_bridges.sh
index c77258f..4a5c806 100755
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/configure_bridges.sh
+++ b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/configure_bridges.sh
@@ -1,25 +1,5 @@
#!/usr/bin/env bash
-for bridge in `sudo ovs-vsctl list-br`; do sudo ovs-vsctl --no-wait set Bridge $bridge datapath_type=netdev; done;
-
-# Configure integration bridge with specified datapath
-#sudo ovs-vsctl --no-wait -- --may-exist add-br br-int
-#if [ "$1" != "" ]; then
- #sudo ovs-vsctl --no-wait set Bridge br-int datapath_type=$1
-#fi
-#sudo ovs-vsctl --no-wait br-set-external-id br-int bridge-id br-int
-
-# Configure external bridge with specified datapath
-#sudo ovs-vsctl --no-wait -- --may-exist add-br br-ex
-#if [ "$1" != "" ]; then
- #sudo ovs-vsctl --no-wait set Bridge br-ex datapath_type=$1
-#fi
-#sudo ovs-vsctl --no-wait br-set-external-id br-ex bridge-id br-ex
-
-# Configure br-tun bridge with specified datapath
-#sudo ovs-vsctl --no-wait -- --may-exist add-br br-tun
-#if [ "$1" != "" ]; then
- #sudo ovs-vsctl --no-wait set Bridge br-tun datapath_type=$1
-#fi
-#sudo ovs-vsctl --no-wait br-set-external-id br-tun bridge-id br-tun
-
+for bridge in `sudo ovs-vsctl list-br`; do
+ sudo ovs-vsctl --no-wait set Bridge $bridge datapath_type=$1;
+done;
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/linux_net.py b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/linux_net.py
index bbbcc98..10ddff7 100644
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/linux_net.py
+++ b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/linux_net.py
@@ -24,11 +24,13 @@ import re
import time
import netaddr
+import netifaces
from oslo_concurrency import processutils
from oslo_config import cfg
from oslo_log import log as logging
from oslo_serialization import jsonutils
from oslo_utils import excutils
+from oslo_utils import fileutils
from oslo_utils import importutils
from oslo_utils import timeutils
import six
@@ -36,7 +38,6 @@ import six
from nova import exception
from nova.i18n import _, _LE, _LW
from nova import objects
-from nova.openstack.common import fileutils
from nova import paths
from nova.pci import utils as pci_utils
from nova import utils
@@ -108,6 +109,8 @@ linux_net_opts = [
help='The IP address for the metadata API server'),
cfg.IntOpt('metadata_port',
default=8775,
+ min=1,
+ max=65535,
help='The port for the metadata API port'),
cfg.StrOpt('iptables_top_regex',
default='',
@@ -394,7 +397,7 @@ class IptablesManager(object):
elif ip_version == 6:
tables = self.ipv6
- for table, chains in builtin_chains[ip_version].iteritems():
+ for table, chains in six.iteritems(builtin_chains[ip_version]):
for chain in chains:
tables[table].add_chain(chain)
tables[table].add_rule(chain, '-j $%s' % (chain,),
@@ -426,11 +429,11 @@ class IptablesManager(object):
self.apply()
def dirty(self):
- for table in self.ipv4.itervalues():
+ for table in six.itervalues(self.ipv4):
if table.dirty:
return True
if CONF.use_ipv6:
- for table in self.ipv6.itervalues():
+ for table in six.itervalues(self.ipv6):
if table.dirty:
return True
return False
@@ -461,7 +464,7 @@ class IptablesManager(object):
run_as_root=True,
attempts=5)
all_lines = all_tables.split('\n')
- for table_name, table in tables.iteritems():
+ for table_name, table in six.iteritems(tables):
start, end = self._find_table(all_lines, table_name)
all_lines[start:end] = self._modify_rules(
all_lines[start:end], table, table_name)
@@ -485,7 +488,7 @@ class IptablesManager(object):
def _modify_rules(self, current_lines, table, table_name):
unwrapped_chains = table.unwrapped_chains
- chains = table.chains
+ chains = sorted(table.chains)
remove_chains = table.remove_chains
rules = table.rules
remove_rules = table.remove_rules
@@ -1549,9 +1552,11 @@ class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver):
@staticmethod
@utils.synchronized('lock_vlan', external=True)
- def ensure_vlan(vlan_num, bridge_interface, mac_address=None, mtu=None):
+ def ensure_vlan(vlan_num, bridge_interface, mac_address=None, mtu=None,
+ interface=None):
"""Create a vlan unless it already exists."""
- interface = 'vlan%s' % vlan_num
+ if interface is None:
+ interface = 'vlan%s' % vlan_num
if not device_exists(interface):
LOG.debug('Starting VLAN interface %s', interface)
_execute('ip', 'link', 'add', 'link', bridge_interface,
@@ -1599,14 +1604,16 @@ class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver):
"""
if not device_exists(bridge):
LOG.debug('Starting Bridge %s', bridge)
- _execute('brctl', 'addbr', bridge, run_as_root=True)
+ out, err = _execute('brctl', 'addbr', bridge,
+ check_exit_code=False, run_as_root=True)
+ if (err and err != "device %s already exists; can't create "
+ "bridge with the same name\n" % (bridge)):
+ msg = _('Failed to add bridge: %s') % err
+ raise exception.NovaException(msg)
+
_execute('brctl', 'setfd', bridge, 0, run_as_root=True)
# _execute('brctl setageing %s 10' % bridge, run_as_root=True)
_execute('brctl', 'stp', bridge, 'off', run_as_root=True)
- # (danwent) bridge device MAC address can't be set directly.
- # instead it inherits the MAC address of the first device on the
- # bridge, which will either be the vlan interface, or a
- # physical NIC.
_execute('ip', 'link', 'set', bridge, 'up', run_as_root=True)
if interface:
@@ -1619,6 +1626,18 @@ class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver):
msg = _('Failed to add interface: %s') % err
raise exception.NovaException(msg)
+ # NOTE(apmelton): Linux bridge's default behavior is to use the
+ # lowest mac of all plugged interfaces. This isn't a problem when
+ # it is first created and the only interface is the bridged
+ # interface. But, as instance interfaces are plugged, there is a
+ # chance for the mac to change. So, set it here so that it won't
+ # change in the future.
+ if not CONF.fake_network:
+ interface_addrs = netifaces.ifaddresses(interface)
+ interface_mac = interface_addrs[netifaces.AF_LINK][0]['addr']
+ _execute('ip', 'link', 'set', bridge, 'address', interface_mac,
+ run_as_root=True)
+
out, err = _execute('ip', 'link', 'set', interface, 'up',
check_exit_code=False, run_as_root=True)
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/neutron-plugin-openvswitch-agent.conf b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/neutron-plugin-openvswitch-agent.conf
deleted file mode 100644
index bef0a46..0000000
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/neutron-plugin-openvswitch-agent.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-# vim:set ft=upstart ts=2 et:
-description "Neutron OpenvSwitch Plugin Agent"
-author "Chuck Short <zulcss@ubuntu.com>"
-
-start on neutron-ovs-cleanup or runlevel [2345]
-stop on runlevel [!2345]
-
-respawn
-
-chdir /var/run
-
-pre-start script
- mkdir -p /var/run/neutron
- chown neutron:root /var/run/neutron
-end script
-
-exec start-stop-daemon --start --chuid neutron:neutron --exec /usr/local/bin/networking-ovs-dpdk-agent -- --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugin.ini --log-file=/var/log/neutron/ovsdpdk-agent.log
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/openvswitch-switch.conf b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/openvswitch-switch.conf
deleted file mode 100755
index 185ae8e..0000000
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/openvswitch-switch.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-# vim: set ft=upstart ts=2 et:
-description "Open vSwitch switch DPDK"
-
-start on (local-filesystems and net-device-up IFACE=lo)
-stop on runlevel [!2345]
-
-pre-start script
- /etc/init.d/ovs-dpdk start
-end script
-
-post-stop script
- /etc/init.d/ovs-dpdk stop
-end script
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/openvswitch.service b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/openvswitch.service
deleted file mode 100755
index f46f9c7..0000000
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/files/openvswitch.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Open vSwitch with DPDK
-
-[Service]
-Type=oneshot
-ExecStart=/etc/init.d/ovs-dpdk start
-ExecStop=/etc/init.d/ovs-dpdk stop
-RemainAfterExit=yes
-
-[Install]
-WantedBy=multi-user.target
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/install_ovs_dpdk.pp b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/install_ovs_dpdk.pp
index d049077..3ee6328 100755
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/install_ovs_dpdk.pp
+++ b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/install_ovs_dpdk.pp
@@ -16,7 +16,11 @@ class ovsdpdk::install_ovs_dpdk (
if $compute == 'True' {
exec {'create_ovs_dpdk':
- command => "mv /etc/init.d/openvswitch-switch /tmp/openvswitch-switch.bak;cp ${networking_ovs_dpdk_dir}/devstack/ovs-dpdk/ovs-dpdk-init /etc/init.d/openvswitch-switch;chmod +x /etc/init.d/openvswitch-switch; ln -sf /etc/init.d/openvswitch-switch /etc/init.d/ovs-dpdk; cp /etc/openvswitch/conf.db /etc/openvswitch/conf.db.pre_dpdk",
+ command => "mv /etc/init.d/openvswitch-switch /tmp/openvswitch-switch.bak;\
+ cp ${networking_ovs_dpdk_dir}/devstack/ovs-dpdk/ovs-dpdk-init /etc/init.d/openvswitch-switch;\
+ chmod +x /etc/init.d/openvswitch-switch;\
+ ln -sf /etc/init.d/openvswitch-switch /etc/init.d/ovs-dpdk;\
+ cp /etc/openvswitch/conf.db /etc/openvswitch/conf.db.pre_dpdk",
user => root,
path => ['/usr/bin','/bin'],
}
@@ -29,102 +33,36 @@ class ovsdpdk::install_ovs_dpdk (
require => File['/etc/default/ovs-dpdk'],
}
-# exec { 'update ovs service':
-# command => "cp ${plugin_dir}/files/${openvswitch_service_file} ${openvswitch_service_path}/${openvswitch_service_file}",
-# path => ['/usr/bin','/bin'],
-# user => root,
-# onlyif => "test -f ${openvswitch_service_path}/${openvswitch_service_file}",
-# }
-
-# if $::operatingsystem == 'CentOS' {
-# exec { 'systemctl daemon-reload':
-# path => ['/usr/bin','/bin','/usr/sbin'],
-# user => root,
-# require => Exec['update ovs service'],
-# }
-# }
-
- package { 'zlib1g-dev':
- ensure => installed,
- }
-
- package { 'libglib2.0-dev':
- ensure => installed,
- }
-
- package { 'libxml2-dev':
- ensure => installed,
- }
-
- package { 'libdevmapper-dev':
- ensure => installed,
- }
-
- package { 'libpciaccess-dev':
- ensure => installed,
- }
-
- package { 'libnl-dev':
- ensure => installed,
- }
-
- package { 'pkg-config':
- ensure => installed,
- }
-
- package { 'bison':
- ensure => installed,
- }
-
- package { 'flex':
- ensure => installed,
- }
-
- package { 'libyajl2':
- ensure => installed,
- }
-
- package { 'libyajl-dev':
- ensure => installed,
- }
-
- package { 'bc':
- ensure => installed,
- }
-
- package { 'python-dev':
- ensure => installed,
- }
-
- package { 'numactl':
- ensure => installed,
- }
-
- package { 'libdbus-1-dev':
- ensure => installed,
- }
-
- package { 'libnuma1':
- ensure => installed,
- }
-
- package { 'libnuma-dev':
- ensure => installed,
- }
-
- package { 'libgnutls26':
- ensure => installed,
- }
-
- package { 'libgnutls-dev':
- ensure => installed,
- }
+ package { 'zlib1g-dev': ensure => 'installed' }
+ package { 'libglib2.0-dev': ensure => 'installed' }
+ package { 'libxml2-dev': ensure => 'installed' }
+ package { 'libdevmapper-dev': ensure => 'installed' }
+ package { 'libpciaccess-dev': ensure => 'installed' }
+ package { 'libnl-dev': ensure => 'installed' }
+ package { 'pkg-config': ensure => 'installed' }
+ package { 'bison': ensure => 'installed' }
+ package { 'flex': ensure => 'installed' }
+ package { 'libyajl2': ensure => 'installed' }
+ package { 'libyajl-dev': ensure => 'installed' }
+ package { 'python-dev': ensure => 'installed' }
+ package { 'numactl': ensure => 'installed' }
+ package { 'libdbus-1-dev': ensure => 'installed' }
+ package { 'libnuma1': ensure => 'installed' }
+ package { 'libnuma-dev': ensure => 'installed' }
+ package { 'libgnutls26': ensure => 'installed' }
+ package { 'libgnutls-dev': ensure => 'installed' }
+
+ package { 'bc': ensure => 'installed' }
exec {'build qemu':
command => "true && cd /opt/code/qemu && ./configure --enable-kvm --target-list=x86_64-softmmu && make && make install",
user => root,
path => ['/usr/bin','/bin'],
- require => [ Package['flex'], Package['bison'], Package['pkg-config'], Package['libnl-dev'], Package['libpciaccess-dev'], Package['libdevmapper-dev'], Package['libxml2-dev'], Package['libglib2.0-dev'], Package['zlib1g-dev'], Package['numactl'], Package['python-dev'],Package['libdbus-1-dev'],Package['bc'],Package['libnuma1'], Package['libnuma-dev'] , Package['libgnutls26'], Package['libgnutls-dev']],
+ require => [ Package['flex'], Package['bison'], Package['pkg-config'], Package['libnl-dev'],
+ Package['libpciaccess-dev'], Package['libdevmapper-dev'], Package['libxml2-dev'],
+ Package['libglib2.0-dev'], Package['zlib1g-dev'], Package['numactl'], Package['python-dev'],
+ Package['libdbus-1-dev'],Package['bc'],Package['libnuma1'], Package['libnuma-dev'],
+ Package['libgnutls26'], Package['libgnutls-dev']],
timeout => 0,
}
@@ -163,16 +101,14 @@ class ovsdpdk::install_ovs_dpdk (
user => root,
onlyif => 'test -f /etc/init.d/libvirtd',
}
-#exec {'init ovs-dpdk':
-#command => '/etc/init.d/ovs-dpdk init',
-#user => root,
-#require => [ Exec['create_ovs_dpdk'], File['/etc/default/ovs-dpdk'] ],
-#}
+
+ # schema convert required as we are not removing original db
exec { "ovsdb-tool convert /etc/openvswitch/conf.db ${ovs_dir}/vswitchd/vswitch.ovsschema":
path => ['/usr/bin','/bin'],
user => root,
}
+ # patching of linux_net.py is required for removing error when setting of MTU
exec { 'patch linux_net':
command => "cp ${plugin_dir}/files/linux_net.py /usr/lib/python2.7/dist-packages/nova/network/linux_net.py",
path => ['/usr/bin','/bin'],
diff --git a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/postinstall_ovs_dpdk.pp b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/postinstall_ovs_dpdk.pp
index a3fd60f..12230c6 100755
--- a/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/postinstall_ovs_dpdk.pp
+++ b/fuel-plugin-ovsnfv/deployment_scripts/puppet/modules/ovsdpdk/manifests/postinstall_ovs_dpdk.pp
@@ -16,6 +16,7 @@ class ovsdpdk::postinstall_ovs_dpdk (
package {'crudini': ensure => installed }
+ # compute node specific changes
if $compute == 'True' {
# adapt configuration files
exec {'adapt_nova_conf':
@@ -27,10 +28,18 @@ class ovsdpdk::postinstall_ovs_dpdk (
}
exec {'adapt_ml2_conf_datapath':
- command => "sudo crudini --set ${ml2_ovs_conf} ovs datapath_type ${ovs_datapath_type}",
+ command => "sudo crudini --set ${ml2_conf} ovs datapath_type ${ovs_datapath_type}",
path => ['/usr/bin','/bin'],
user => root,
- onlyif => "test -f ${ml2_ovs_conf}",
+ onlyif => "test -f ${ml2_conf}",
+ require => Package['crudini'],
+ }
+
+ exec {'adapt_ml2_conf_agent_type':
+ command => "sudo crudini --set ${ml2_conf} agent agent_type 'DPDK OVS Agent'",
+ path => ['/usr/bin','/bin'],
+ user => root,
+ onlyif => "test -f ${ml2_conf}",
require => Package['crudini'],
}
@@ -53,7 +62,8 @@ class ovsdpdk::postinstall_ovs_dpdk (
require => Service["${openvswitch_service_name}"],
}
- exec { "${plugin_dir}/files/configure_bridges.sh ${ovs_datapath_type}":
+ exec {'configure_bridges':
+ command => "${plugin_dir}/files/configure_bridges.sh ${ovs_datapath_type}",
user => root,
require => Exec['restart_ovs'],
}
@@ -73,39 +83,36 @@ class ovsdpdk::postinstall_ovs_dpdk (
user => root,
require => [ Exec['libvirtd_disable_tls'], Service['libvirtd'] ],
}
- }
- exec {'adapt_ml2_conf_mechanism_driver':
- command => "sudo crudini --set ${ml2_conf} ml2 mechanism_drivers ovsdpdk",
- path => ['/usr/bin','/bin'],
- user => root,
- onlyif => "test -f ${ml2_conf}",
- require => Package['crudini'],
- }
+ service {"${openvswitch_agent}":
+ ensure => 'running',
+ require => [ Exec['restart_ovs'], Service["${openvswitch_service_name}"], Exec['adapt_ml2_conf_datapath'], Exec['adapt_ml2_conf_agent_type'] ],
+ }
- exec {'adapt_ml2_conf_security_group':
- command => "sudo crudini --set ${ml2_conf} securitygroup firewall_driver neutron.agent.firewall.NoopFirewallDriver",
- path => ['/usr/bin','/bin'],
- user => root,
- onlyif => "test -f ${ml2_conf}",
- require => Package['crudini'],
+ exec { "ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=${ovs_pmd_core_mask}":
+ path => ['/usr/bin','/bin'],
+ user => root,
+ require => Service["${openvswitch_agent}"],
+ }
}
+ # controller specific part
if $controller == 'True' {
service {'neutron-server':
ensure => 'running',
}
exec {'append_NUMATopologyFilter':
- command => "sudo crudini --set ${nova_conf} DEFAULT scheduler_default_filters RetryFilter,AvailabilityZoneFilter,RamFilter,CoreFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,NUMATopologyFilter",
+ command => "sudo crudini --set ${nova_conf} DEFAULT scheduler_default_filters RetryFilter,AvailabilityZoneFilter,RamFilter,\
+CoreFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,NUMATopologyFilter",
path => ['/usr/bin','/bin'],
user => root,
onlyif => "test -f ${nova_conf}",
require => Package['crudini'],
}
- exec { 'remove_old_agent':
- command => "${plugin_dir}/files/remove_agent.sh $adminrc_user $adminrc_password $adminrc_tenant $adminrc_hostname",
+ exec { 'agents_flavors_update':
+ command => "${plugin_dir}/files/agents_flavors_update.sh",
user => 'root',
logoutput => 'true',
timeout => 0,
@@ -115,34 +122,31 @@ class ovsdpdk::postinstall_ovs_dpdk (
exec {'restart_neutron_server':
command => "/usr/sbin/service neutron-server restart",
user => root,
- require => Exec['remove_old_agent'],
+ require => Exec['agents_flavors_update'],
}
exec {'restart_nova_scheduler':
command => "/usr/sbin/service nova-scheduler restart",
user => root,
- require => Exec['remove_old_agent'],
+ require => Exec['agents_flavors_update'],
}
}
- if $compute == 'True' {
- exec { 'patch_ovs_agent':
- command => "cp ${plugin_dir}/files/neutron-plugin-openvswitch-agent.conf /etc/init/neutron-plugin-openvswitch-agent.conf",
- path => ['/usr/bin','/bin'],
- user => root,
- }
-
- service {"${openvswitch_agent}":
- ensure => 'running',
- require => [ Exec['restart_ovs'], Service["${openvswitch_service_name}"], Exec['patch_ovs_agent'] ],
- }
-
- exec { "ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=${ovs_pmd_core_mask}":
- path => ['/usr/bin','/bin'],
- user => root,
- require => Service["${openvswitch_agent}"],
- }
+ # common part
+ exec {'adapt_ml2_conf_mechanism_driver':
+ command => "sudo crudini --set ${ml2_conf} ml2 mechanism_drivers ovsdpdk",
+ path => ['/usr/bin','/bin'],
+ user => root,
+ onlyif => "test -f ${ml2_conf}",
+ require => Package['crudini'],
}
+ exec {'adapt_ml2_conf_security_group':
+ command => "sudo crudini --set ${ml2_conf} securitygroup firewall_driver neutron.agent.firewall.NoopFirewallDriver",
+ path => ['/usr/bin','/bin'],
+ user => root,
+ onlyif => "test -f ${ml2_conf}",
+ require => Package['crudini'],
+ }
}
diff --git a/fuel-plugin-ovsnfv/metadata.yaml b/fuel-plugin-ovsnfv/metadata.yaml
index de50b3c..d557ebb 100644
--- a/fuel-plugin-ovsnfv/metadata.yaml
+++ b/fuel-plugin-ovsnfv/metadata.yaml
@@ -7,7 +7,7 @@ version: '0.0.1'
# Description
description: 'This plugin deploys openvswitch with dpdk'
# Required fuel version
-fuel_version: ['7.0']
+fuel_version: ['8.0']
# Specify license of your plugin
licenses: ['Apache License Version 2.0']
# Specify author or company name
@@ -21,7 +21,7 @@ groups: ['network']
# The plugin is compatible with releases in the list
releases:
- os: ubuntu
- version: 2015.1.0-7.0
+ version: liberty-8.0
mode: ['ha', 'multinode']
deployment_scripts_path: deployment_scripts/
repository_path: repositories/ubuntu
diff --git a/fuel-plugin-ovsnfv/ovs_package/ubuntu/dependencies.txt b/fuel-plugin-ovsnfv/ovs_package/ubuntu/dependencies.txt
index 83e1311..34cfba5 100644
--- a/fuel-plugin-ovsnfv/ovs_package/ubuntu/dependencies.txt
+++ b/fuel-plugin-ovsnfv/ovs_package/ubuntu/dependencies.txt
@@ -54,9 +54,9 @@ http://archive.ubuntu.com/ubuntu/pool/main/g/glib2.0/libglib2.0-dev_2.40.2-0ubun
http://archive.ubuntu.com/ubuntu/pool/main/libt/libtool/libltdl-dev_2.4.2-1.7ubuntu1_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/universe/libn/libnl/libnl-dev_1.1-8ubuntu1_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/main/libt/libtool/libtool_2.4.2-1.7ubuntu1_amd64.deb
-http://archive.ubuntu.com/ubuntu/pool/main/libx/libxml2/libxml2-dev_2.9.1+dfsg1-3ubuntu4.6_amd64.deb
+http://archive.ubuntu.com/ubuntu/pool/main/libx/libxml2/libxml2-dev_2.9.1+dfsg1-3ubuntu4.7_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/main/libp/libpciaccess/libpciaccess-dev_0.13.2-1_amd64.deb
-http://archive.ubuntu.com/ubuntu/pool/main/libx/libxml2/libxml2_2.9.1+dfsg1-3ubuntu4.6_amd64.deb
+http://archive.ubuntu.com/ubuntu/pool/main/libx/libxml2/libxml2_2.9.1+dfsg1-3ubuntu4.7_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/main/p/pkg-config/pkg-config_0.26-1ubuntu4_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/main/m/m4/m4_1.4.17-2ubuntu1_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/main/f/flex/libfl-dev_2.5.35-10.1ubuntu2_amd64.deb
diff --git a/fuel-plugin-ovsnfv/pre_build_hook b/fuel-plugin-ovsnfv/pre_build_hook
index 600e2b7..d9210cd 100755
--- a/fuel-plugin-ovsnfv/pre_build_hook
+++ b/fuel-plugin-ovsnfv/pre_build_hook
@@ -23,7 +23,7 @@ fi
cd ${TMP}
-git clone https://github.com/openstack/networking-ovs-dpdk --branch stable/kilo --single-branch networking-ovs-dpdk
+git clone https://github.com/openstack/networking-ovs-dpdk --branch stable/liberty --single-branch networking-ovs-dpdk
rm -rf ${TMP}/networking_ovs_dpdk/.git
tar cfz ${DIR}/repositories/${BUILD_FOR}/networking-ovs-dpdk.tgz networking-ovs-dpdk