Add support for tagged interfaces and require ovs module
Currently the module can't deploy VSM on a management interface that is tagged. This commit adds support for these interfaces by properly handling them from a puppet perspective. Additionally rather than calling similar code to check if OVS exists we call the OVS module directly. Change-Id: I148ee63e354701dbe4db6debc34660e47588ebb7
This commit is contained in:
parent
ed391d3d9b
commit
7b57af350f
@ -76,10 +76,11 @@ class n1k_vsm(
|
||||
$ovsbridge = 'vsm-br'
|
||||
|
||||
#VSM installation will be done only once. Will not respond to puppet sync
|
||||
$_phy_ip_addr = inline_template("<%= scope.lookupvar('::ipaddress_${n1k_vsm::phy_if_bridge}') %>")
|
||||
$_phy_if_bridge = regsubst($n1k_vsm::phy_if_bridge, '[.:-]+', '_', 'G')
|
||||
$_phy_ip_addr = inline_template("<%= scope.lookupvar('::ipaddress_${_phy_if_bridge}') %>")
|
||||
if $_phy_ip_addr != '' {
|
||||
$phy_ip_addr = inline_template("<%= scope.lookupvar('::ipaddress_${n1k_vsm::phy_if_bridge}') %>")
|
||||
$phy_ip_mask = inline_template("<%= scope.lookupvar('::netmask_${n1k_vsm::phy_if_bridge}') %>")
|
||||
$phy_ip_addr = inline_template("<%= scope.lookupvar('::ipaddress_${_phy_if_bridge}') %>")
|
||||
$phy_ip_mask = inline_template("<%= scope.lookupvar('::netmask_${_phy_if_bridge}') %>")
|
||||
$gw_intf = $n1k_vsm::phy_gateway
|
||||
include n1k_vsm::pkgprep_ovscfg
|
||||
}
|
||||
|
@ -53,17 +53,8 @@ class n1k_vsm::pkgprep_ovscfg
|
||||
unless => '/usr/bin/virsh net-info default | /bin/grep -c \'Autostart: .* no\'',
|
||||
}
|
||||
|
||||
package { 'Package_ovs':
|
||||
ensure => installed,
|
||||
name => 'openvswitch',
|
||||
}
|
||||
|
||||
# bring up OVS and perform interface configuration
|
||||
service { 'Service_ovs':
|
||||
ensure => running,
|
||||
name => 'openvswitch',
|
||||
enable => true,
|
||||
}
|
||||
# Ensure OVS is present
|
||||
require vswitch::ovs
|
||||
|
||||
package { 'genisoimage':
|
||||
ensure => installed,
|
||||
@ -110,14 +101,22 @@ class n1k_vsm::pkgprep_ovscfg
|
||||
'set BOOTPROTO none',
|
||||
'set ONBOOT yes',
|
||||
"set NAME ${n1k_vsm::phy_if_bridge}",
|
||||
'rm IPADDR',
|
||||
'set DEFROUTE no',
|
||||
'set IPADDR ""',
|
||||
'rm NETMASK',
|
||||
'rm GATEWAY',
|
||||
'set USERCTL no',
|
||||
],
|
||||
notify => Service['Service_network'],
|
||||
}
|
||||
# Make sure that networking comes fine after reboot
|
||||
exec { 'Flap_n1kv_phy_if':
|
||||
command => "/sbin/ifdown ${n1k_vsm::phy_if_bridge} && /sbin/ifup ${n1k_vsm::phy_if_bridge}",
|
||||
require => augeas['Augeas_modify_ifcfg-phy_if_bridge'],
|
||||
}
|
||||
exec { 'Flap_n1kv_bridge':
|
||||
command => "/sbin/ifdown ${n1k_vsm::ovsbridge} && /sbin/ifup ${n1k_vsm::ovsbridge}",
|
||||
require => augeas['Augeas_modify_ifcfg-ovsbridge'],
|
||||
}
|
||||
# Make sure that networking comes fine after reboot- add init file and restart networking
|
||||
file { 'Create_Init_File':
|
||||
replace => 'yes',
|
||||
path => '/etc/init.d/n1kv',
|
||||
@ -125,6 +124,8 @@ class n1k_vsm::pkgprep_ovscfg
|
||||
group => 'root',
|
||||
mode => '0775',
|
||||
source => 'puppet:///modules/n1k_vsm/n1kv',
|
||||
require => exec['Flap_n1kv_phy_if', 'Flap_n1kv_bridge'],
|
||||
notify => Service['Service_network'],
|
||||
}
|
||||
} # endif of if "${n1k_vsm::gw_intf}" != "${n1k_vsm::ovsbridge}"
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ class n1k_vsm::vsmprep
|
||||
|
||||
# Now generate ovf xml file and repackage the iso
|
||||
exec { 'Exec_VSM_Repackage_Script':
|
||||
command => "/tmp/repackiso.py -i/var/spool/cisco/vsm/${n1k_vsm::n1kv_version}.iso -d${n1k_vsm::vsm_domain_id} -n${n1k_vsm::vsmname} -m${n1k_vsm::mgmtip} -s${n1k_vsm::mgmtnetmask} -g${n1k_vsm::mgmtgateway} -p${n1k_vsm::vsm_admin_passwd} -r${n1k_vsm::vsm_role} -f/var/spool/cisco/vsm/${n1k_vsm::vsm_role}_repacked.iso ",
|
||||
command => "/tmp/repackiso.py -i${vsm_path}/n1000v-dk9.${n1k_vsm::n1kv_version}.iso -d${n1k_vsm::vsm_domain_id} -n${n1k_vsm::vsmname} -m${n1k_vsm::mgmtip} -s${n1k_vsm::mgmtnetmask} -g${n1k_vsm::mgmtgateway} -p${n1k_vsm::vsm_admin_passwd} -r${n1k_vsm::vsm_role} -f/var/spool/cisco/vsm/${n1k_vsm::vsm_role}_repacked.iso ",
|
||||
unless => "/usr/bin/virsh list --all | grep -c ${n1k_vsm::vsmname}",
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user