Merge "Neutron sidecar wrappers use netns they were invoked with" into stable/queens

This commit is contained in:
Zuul 2018-06-12 11:54:38 +00:00 committed by Gerrit Code Review
commit 364cc419ce
13 changed files with 22 additions and 42 deletions

View File

@ -82,7 +82,6 @@ class tripleo::profile::base::neutron::dhcp_agent_wrappers (
tripleo::profile::base::neutron::wrappers::haproxy{'dhcp_haproxy_process_wrapper':
haproxy_process_wrapper => $haproxy_process_wrapper,
haproxy_image => $haproxy_image,
ns_prefix => 'qdhcp',
bind_socket => $bind_socket
}
}

View File

@ -111,7 +111,6 @@ class tripleo::profile::base::neutron::l3_agent_wrappers (
tripleo::profile::base::neutron::wrappers::haproxy{'l3_haproxy_process_wrapper':
haproxy_process_wrapper => $haproxy_process_wrapper,
haproxy_image => $haproxy_image,
ns_prefix => 'qrouter',
bind_socket => $bind_socket,
}
}
@ -134,7 +133,6 @@ class tripleo::profile::base::neutron::l3_agent_wrappers (
tripleo::profile::base::neutron::wrappers::keepalived{'l3_keepalived':
keepalived_process_wrapper => $keepalived_process_wrapper,
keepalived_image => $keepalived_image,
ns_prefix => 'qrouter',
bind_socket => $bind_socket,
}
unless $keepalived_state_change_wrapper {
@ -142,7 +140,6 @@ class tripleo::profile::base::neutron::l3_agent_wrappers (
}
tripleo::profile::base::neutron::wrappers::keepalived_state_change{'l3_keepalived_state_change':
keepalived_state_change_wrapper => $keepalived_state_change_wrapper,
ns_prefix => 'qrouter',
bind_socket => $bind_socket,
}
}

View File

@ -24,16 +24,12 @@
# [*haproxy_image*]
# Docker image name for haproxy.
#
# [*ns_prefix*]
# Prefix for namespace (e.g. qrouter-, qdhcp-)
#
# [*bind_socket*]
# Socket for accessing the docker daemon.
#
define tripleo::profile::base::neutron::wrappers::haproxy (
$haproxy_process_wrapper,
$haproxy_image,
$ns_prefix,
$bind_socket,
) {
file { $haproxy_process_wrapper:
@ -41,7 +37,6 @@ define tripleo::profile::base::neutron::wrappers::haproxy (
mode => '0755',
content => epp('tripleo/neutron/haproxy.epp', {
'image_name' => $haproxy_image,
'ns_prefix' => $ns_prefix,
'bind_socket' => $bind_socket,
})
}

View File

@ -24,16 +24,12 @@
# [*keepalived_image*]
# Docker image name for keepalived.
#
# [*ns_prefix*]
# Prefix for namespace (e.g. qrouter-, qdhcp-)
#
# [*bind_socket*]
# Socket for accessing the docker daemon.
#
define tripleo::profile::base::neutron::wrappers::keepalived (
$keepalived_process_wrapper,
$keepalived_image,
$ns_prefix,
$bind_socket,
) {
file { $keepalived_process_wrapper:
@ -41,7 +37,6 @@ define tripleo::profile::base::neutron::wrappers::keepalived (
mode => '0755',
content => epp('tripleo/neutron/keepalived.epp', {
'image_name' => $keepalived_image,
'ns_prefix' => $ns_prefix,
'bind_socket' => $bind_socket,
})
}

View File

@ -21,22 +21,17 @@
# [*keepalived_state_change_wrapper*]
# Filename for neutron-keepalived-state-change wrapper script.
#
# [*ns_prefix*]
# Prefix for namespace (e.g. qrouter-, qdhcp-)
#
# [*bind_socket*]
# Socket for accessing the docker daemon.
#
define tripleo::profile::base::neutron::wrappers::keepalived_state_change (
$keepalived_state_change_wrapper,
$ns_prefix,
$bind_socket,
) {
file { $keepalived_state_change_wrapper:
ensure => file,
mode => '0755',
content => epp('tripleo/neutron/neutron-keepalived-state-change.epp', {
'ns_prefix' => $ns_prefix,
'bind_socket' => $bind_socket
})
}

View File

@ -29,7 +29,6 @@ describe 'tripleo::profile::base::neutron::wrappers::haproxy' do
{
:haproxy_process_wrapper => '/usr/local/bin/haproxy',
:haproxy_image => 'a_registry/some_container_name:some_tag',
:ns_prefix => 'puppet-test',
:bind_socket => 'unix:///run/another/docker.sock'
}
}
@ -42,7 +41,7 @@ describe 'tripleo::profile::base::neutron::wrappers::haproxy' do
/a_registry.some_container_name.some_tag/
)
is_expected.to contain_file('/usr/local/bin/haproxy').with_content(
/^NAME=neutron-haproxy-puppet-test-/
/^NAME=neutron-haproxy-/
)
is_expected.to contain_file('/usr/local/bin/haproxy').with_content(
/export DOCKER_HOST="unix:...run.another.docker.sock/

View File

@ -29,7 +29,6 @@ describe 'tripleo::profile::base::neutron::wrappers::keepalived' do
{
:keepalived_process_wrapper => '/usr/local/bin/keepalived',
:keepalived_image => 'a_registry/some_container_name:some_tag',
:ns_prefix => 'puppet-test',
:bind_socket => 'unix:///run/another/docker.sock'
}
}

View File

@ -28,7 +28,6 @@ describe 'tripleo::profile::base::neutron::wrappers::keepalived_state_change' do
let(:params) {
{
:keepalived_state_change_wrapper => '/usr/local/bin/keepalived-state-change',
:ns_prefix => 'puppet-test',
:bind_socket => 'unix:///run/another/docker.sock'
}
}
@ -38,7 +37,7 @@ describe 'tripleo::profile::base::neutron::wrappers::keepalived_state_change' do
:mode => '0755'
)
is_expected.to contain_file('/usr/local/bin/keepalived-state-change').with_content(
/ip.netns.exec.*puppet-test.*neutron-keepalived-state-change/
/ip.netns.exec.*neutron-keepalived-state-change/
)
is_expected.to contain_file('/usr/local/bin/keepalived-state-change').with_content(
/export DOCKER_HOST="unix:...run.another.docker.sock/

View File

@ -13,8 +13,9 @@ ARGS="$@"
# dnsmasq --no-hosts --no-resolv --except-interface=lo \
# --pid-file=/var/lib/neutron/dhcp/317716b8-919a-4a6f-8db1-78128ec3b100/pid \
# --dhcp-hostsfile=/var/lib/neutron/dhcp/317716b8-919a-4a6f-8db1-78128ec3b100/host ...
NETWORK_ID=$(echo $ARGS| awk '{if (match($0, /(\w{8}-\w{4}-\w{4}-\w{4}-\w{12})/,m)) print m[0] }')
NAME=neutron-dibbler-${NETWORK_ID}
NETNS=$(ip netns identify)
NAME=neutron-dibbler-${NETNS}
docker stop $NAME || true
docker rm -f $NAME || true
@ -29,4 +30,4 @@ docker run --detach \
-u root \
--name $NAME \
<%=$image_name%> \
ip netns exec qrouter-${NETWORK_ID} /usr/sbin/dibbler-client run $ARGS
ip netns exec ${NETNS} /usr/sbin/dibbler-client run $ARGS

View File

@ -10,9 +10,9 @@ ARGS="$@"
# dnsmasq --no-hosts --no-resolv --except-interface=lo \
# --pid-file=/var/lib/neutron/dhcp/317716b8-919a-4a6f-8db1-78128ec3b100/pid \
# --dhcp-hostsfile=/var/lib/neutron/dhcp/317716b8-919a-4a6f-8db1-78128ec3b100/host ...
NETWORK_ID=$(echo $ARGS| awk '{if (match($0, /(\w{8}-\w{4}-\w{4}-\w{4}-\w{12})/,m)) print m[0] }')
NETNS=$(ip netns identify)
NAME=neutron-dnsmasq-${NETNS}
NAME=neutron-dnsmasq-${NETWORK_ID}
docker stop $NAME || true
docker rm -f $NAME || true
@ -27,4 +27,4 @@ docker run --detach \
-u root \
--name $NAME \
<%=$image_name%> \
ip netns exec qdhcp-${NETWORK_ID} /usr/sbin/dnsmasq -k $ARGS
ip netns exec ${NETNS} /usr/sbin/dnsmasq -k $ARGS

View File

@ -1,4 +1,4 @@
<%- | String $image_name = '', String $ns_prefix = '', String $bind_socket = '' | -%>
<%- | String $image_name = '', String $bind_socket = '' | -%>
#!/bin/bash
export DOCKER_HOST="<%=$bind_socket%>"
@ -10,8 +10,9 @@ ARGS="$@"
# dnsmasq --no-hosts --no-resolv --except-interface=lo \
# --pid-file=/var/lib/neutron/dhcp/317716b8-919a-4a6f-8db1-78128ec3b100/pid \
# --dhcp-hostsfile=/var/lib/neutron/dhcp/317716b8-919a-4a6f-8db1-78128ec3b100/host ...
NETWORK_ID=$(echo $ARGS| awk '{if (match($0, /(\w{8}-\w{4}-\w{4}-\w{4}-\w{12})/,m)) print m[0] }')
NAME=neutron-haproxy-<%=$ns_prefix%>-${NETWORK_ID}
NETNS=$(ip netns identify)
NAME=neutron-haproxy-${NETNS}
docker stop $NAME || true
docker rm -f $NAME || true
@ -26,4 +27,4 @@ docker run --detach \
-u root \
--name $NAME \
<%=$image_name%> \
ip netns exec <%=$ns_prefix%>-${NETWORK_ID} /usr/sbin/haproxy -Ds $ARGS
ip netns exec ${NETNS} /usr/sbin/haproxy -Ds $ARGS

View File

@ -1,4 +1,4 @@
<%- | String $image_name = '', String $ns_prefix = '', String $bind_socket = '' | -%>
<%- | String $image_name = '', String $bind_socket = '' | -%>
#!/bin/bash
export DOCKER_HOST="<%=$bind_socket%>"
@ -10,8 +10,8 @@ ARGS="$@"
# dnsmasq --no-hosts --no-resolv --except-interface=lo \
# --pid-file=/var/lib/neutron/dhcp/317716b8-919a-4a6f-8db1-78128ec3b100/pid \
# --dhcp-hostsfile=/var/lib/neutron/dhcp/317716b8-919a-4a6f-8db1-78128ec3b100/host ...
ROUTER_ID=$(echo $ARGS| awk '{if (match($0, /(\w{8}-\w{4}-\w{4}-\w{4}-\w{12})/,m)) print m[0] }')
NAME=neutron-keepalived-<%=$ns_prefix%>-${ROUTER_ID}
NETNS=$(ip netns identify)
NAME=neutron-keepalived-${NETNS}
docker stop $NAME || true
docker rm -f $NAME || true
@ -29,4 +29,4 @@ docker run --detach \
-u root \
--name $NAME \
<%=$image_name%> \
ip netns exec <%=$ns_prefix%>-${ROUTER_ID} /usr/sbin/keepalived -n -l -D $ARGS
ip netns exec ${NETNS} /usr/sbin/keepalived -n -l -D $ARGS

View File

@ -1,4 +1,4 @@
<%- | String $ns_prefix = '', String $bind_socket = '' | -%>
<%- | String $bind_socket = '' | -%>
#!/bin/bash
export DOCKER_HOST="<%=$bind_socket%>"
@ -10,8 +10,8 @@ ARGS="$@"
# dnsmasq --no-hosts --no-resolv --except-interface=lo \
# --pid-file=/var/lib/neutron/dhcp/317716b8-919a-4a6f-8db1-78128ec3b100/pid \
# --dhcp-hostsfile=/var/lib/neutron/dhcp/317716b8-919a-4a6f-8db1-78128ec3b100/host ...
NS_ID=$(echo $ARGS| awk '{if (match($0, /(\w{8}-\w{4}-\w{4}-\w{4}-\w{12})/,m)) print m[0] }')
NAME=neutron-keepalived-<%=$ns_prefix%>-${NS_ID}
NETNS=$(ip netns identify)
NAME=neutron-keepalived-${NETNS}
# The state change daemon only runs as a daemon for the moment so we need to
# run it within an existing container with a sensibly matching lifetime. The
@ -29,4 +29,4 @@ docker exec --detach \
-u root \
--privileged \
$NAME \
ip netns exec <%=$ns_prefix%>-${NS_ID} /usr/bin/neutron-keepalived-state-change $ARGS
ip netns exec ${NETNS} /usr/bin/neutron-keepalived-state-change $ARGS