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'
|
$ovsbridge = 'vsm-br'
|
||||||
|
|
||||||
#VSM installation will be done only once. Will not respond to puppet sync
|
#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 != '' {
|
if $_phy_ip_addr != '' {
|
||||||
$phy_ip_addr = inline_template("<%= scope.lookupvar('::ipaddress_${n1k_vsm::phy_if_bridge}') %>")
|
$phy_ip_addr = inline_template("<%= scope.lookupvar('::ipaddress_${_phy_if_bridge}') %>")
|
||||||
$phy_ip_mask = inline_template("<%= scope.lookupvar('::netmask_${n1k_vsm::phy_if_bridge}') %>")
|
$phy_ip_mask = inline_template("<%= scope.lookupvar('::netmask_${_phy_if_bridge}') %>")
|
||||||
$gw_intf = $n1k_vsm::phy_gateway
|
$gw_intf = $n1k_vsm::phy_gateway
|
||||||
include n1k_vsm::pkgprep_ovscfg
|
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\'',
|
unless => '/usr/bin/virsh net-info default | /bin/grep -c \'Autostart: .* no\'',
|
||||||
}
|
}
|
||||||
|
|
||||||
package { 'Package_ovs':
|
# Ensure OVS is present
|
||||||
ensure => installed,
|
require vswitch::ovs
|
||||||
name => 'openvswitch',
|
|
||||||
}
|
|
||||||
|
|
||||||
# bring up OVS and perform interface configuration
|
|
||||||
service { 'Service_ovs':
|
|
||||||
ensure => running,
|
|
||||||
name => 'openvswitch',
|
|
||||||
enable => true,
|
|
||||||
}
|
|
||||||
|
|
||||||
package { 'genisoimage':
|
package { 'genisoimage':
|
||||||
ensure => installed,
|
ensure => installed,
|
||||||
@ -110,14 +101,22 @@ class n1k_vsm::pkgprep_ovscfg
|
|||||||
'set BOOTPROTO none',
|
'set BOOTPROTO none',
|
||||||
'set ONBOOT yes',
|
'set ONBOOT yes',
|
||||||
"set NAME ${n1k_vsm::phy_if_bridge}",
|
"set NAME ${n1k_vsm::phy_if_bridge}",
|
||||||
'rm IPADDR',
|
'set DEFROUTE no',
|
||||||
|
'set IPADDR ""',
|
||||||
'rm NETMASK',
|
'rm NETMASK',
|
||||||
'rm GATEWAY',
|
'rm GATEWAY',
|
||||||
'set USERCTL no',
|
'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':
|
file { 'Create_Init_File':
|
||||||
replace => 'yes',
|
replace => 'yes',
|
||||||
path => '/etc/init.d/n1kv',
|
path => '/etc/init.d/n1kv',
|
||||||
@ -125,6 +124,8 @@ class n1k_vsm::pkgprep_ovscfg
|
|||||||
group => 'root',
|
group => 'root',
|
||||||
mode => '0775',
|
mode => '0775',
|
||||||
source => 'puppet:///modules/n1k_vsm/n1kv',
|
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}"
|
} # 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
|
# Now generate ovf xml file and repackage the iso
|
||||||
exec { 'Exec_VSM_Repackage_Script':
|
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}",
|
unless => "/usr/bin/virsh list --all | grep -c ${n1k_vsm::vsmname}",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user