Enable conntrackd for Ubuntu.
As described in BP https://review.openstack.org/#/c/122123/ this patch enables conntrackd connection synchronizing for Ubuntu ONLY! Conntrackd for CentOS 6 doesn't work in namespaces. DocImpact Closes-Bug: 1436935 Change-Id: I71a841741da27ba8be00b6d02f03a6b1b6c7b536
This commit is contained in:
parent
6d366b4e7d
commit
66f5ebe3c7
@ -0,0 +1,76 @@
|
||||
notice('MODULAR: conntrackd.pp')
|
||||
|
||||
case $operatingsystem {
|
||||
Centos: { $conntrackd_package = "conntrack-tools" }
|
||||
Ubuntu: { $conntrackd_package = "conntrackd" }
|
||||
}
|
||||
|
||||
|
||||
### CONNTRACKD for CentOS 6 doesn't work under namespaces ##
|
||||
|
||||
if $operatingsystem == 'Ubuntu' {
|
||||
package { $conntrackd_package:
|
||||
ensure => installed,
|
||||
} ->
|
||||
|
||||
exec { 'Disable conntrackd':
|
||||
command => 'service conntrackd stop; killall conntrackd; chmod -x /etc/init.d/conntrackd; exit 0',
|
||||
path => '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin',
|
||||
onlyif => '[ -x "/etc/init.d/conntrackd" ]',
|
||||
} ->
|
||||
|
||||
file { '/etc/conntrackd/conntrackd.conf':
|
||||
content => template('cluster/conntrackd.conf.erb'),
|
||||
} ->
|
||||
|
||||
file { '/usr/lib/ocf/resource.d/fuel/ns_conntrackd':
|
||||
mode => '0755',
|
||||
owner => root,
|
||||
group => root,
|
||||
source => 'puppet:///modules/cluster/ocf/ns_conntrackd',
|
||||
} ->
|
||||
|
||||
cs_resource {'p_conntrackd':
|
||||
ensure => present,
|
||||
primitive_class => 'ocf',
|
||||
provided_by => 'fuel',
|
||||
primitive_type => 'ns_conntrackd',
|
||||
metadata => {
|
||||
'migration-threshold' => 'INFINITY',
|
||||
'failure-timeout' => '180s'
|
||||
},
|
||||
complex_type => 'master',
|
||||
ms_metadata => {
|
||||
'notify' => 'true',
|
||||
'ordered' => 'false',
|
||||
'interleave' => 'true',
|
||||
'clone-node-max' => '1',
|
||||
'master-max' => '1',
|
||||
'master-node-max' => '1',
|
||||
'target-role' => 'Master'
|
||||
},
|
||||
operations => {
|
||||
'monitor' => {
|
||||
'interval' => '30',
|
||||
'timeout' => '60'
|
||||
},
|
||||
'monitor:Master' => {
|
||||
'role' => 'Master',
|
||||
'interval' => '27',
|
||||
'timeout' => '60'
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
cs_colocation { 'conntrackd-with-public-vip':
|
||||
primitives => [ 'master_p_conntrackd:Master', 'vip__public_vrouter' ],
|
||||
}
|
||||
|
||||
File['/etc/conntrackd/conntrackd.conf'] -> Cs_resource['p_conntrackd'] -> Service['p_conntrackd'] -> Cs_colocation['conntrackd-with-public-vip']
|
||||
|
||||
service { 'p_conntrackd':
|
||||
ensure => 'running',
|
||||
enable => true,
|
||||
provider => 'pacemaker',
|
||||
}
|
||||
}
|
@ -9,3 +9,13 @@
|
||||
timeout: 3600
|
||||
test_post:
|
||||
cmd: ruby /etc/puppet/modules/osnailyfacter/modular/virtual_ips/virtual_ips_post.rb
|
||||
|
||||
- id: conntrackd
|
||||
type: puppet
|
||||
groups: [primary-controller, controller]
|
||||
required_for: [deploy_end]
|
||||
requires: [virtual_ips]
|
||||
parameters:
|
||||
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/virtual_ips/conntrackd.pp
|
||||
puppet_modules: /etc/puppet/modules
|
||||
timeout: 3600
|
||||
|
@ -109,65 +109,4 @@ class virtual_ips () {
|
||||
} # End If keep_vips_together
|
||||
}
|
||||
|
||||
case $operatingsystem {
|
||||
Centos: { $conntrackd_package = "conntrack-tools" }
|
||||
Ubuntu: { $conntrackd_package = "conntrackd" }
|
||||
}
|
||||
|
||||
class { 'virtual_ips': }
|
||||
|
||||
if $use_conntrackd {
|
||||
package { $conntrackd_package:
|
||||
ensure => installed,
|
||||
require => Class['virtual_ips'],
|
||||
} ->
|
||||
|
||||
file { '/etc/conntrackd/conntrackd.conf':
|
||||
content => template('cluster/conntrackd.conf.erb'),
|
||||
}
|
||||
|
||||
cs_resource {'conntrackd':
|
||||
ensure => present,
|
||||
primitive_class => 'ocf',
|
||||
provided_by => 'fuel',
|
||||
primitive_type => 'ns_conntrackd',
|
||||
metadata => {
|
||||
'migration-threshold' => 'INFINITY',
|
||||
'failure-timeout' => '180s'
|
||||
},
|
||||
complex_type => 'master',
|
||||
ms_metadata => {
|
||||
'notify' => 'true',
|
||||
'ordered' => 'false',
|
||||
'interleave' => 'true',
|
||||
'clone-node-max' => '1',
|
||||
'master-max' => '1',
|
||||
'master-node-max' => '1',
|
||||
'target-role' => 'Master'
|
||||
},
|
||||
operations => {
|
||||
'monitor' => {
|
||||
'interval' => '30',
|
||||
'timeout' => '60'
|
||||
},
|
||||
'monitor:Master' => {
|
||||
'role' => 'Master',
|
||||
'interval' => '27',
|
||||
'timeout' => '60'
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
cs_colocation { 'conntrackd-with-public-vip':
|
||||
primitives => [ 'conntrackd:Master', 'vip__public_vrouter' ],
|
||||
}
|
||||
|
||||
File['/etc/conntrackd/conntrackd.conf'] -> Cs_resource['conntrackd'] -> Service['conntrackd']
|
||||
|
||||
service { 'conntrackd':
|
||||
ensure => 'running',
|
||||
enable => true,
|
||||
provider => 'pacemaker',
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user