aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Polenchuk <mpolenchuk@mirantis.com>2019-04-23 14:42:07 +0400
committerMichael Polenchuk <mpolenchuk@mirantis.com>2019-04-30 07:56:30 +0000
commit836a67e9d26035f0d4f76a34b0f92fd570d5b8b1 (patch)
tree5f178217946ceaec143155d49b9d0c274a1c3fc5
parent4f0fa64ac58016ce62a6081c1a26bd2f2a222a3c (diff)
Patch dhcp agent to avoid unwanted rescheduling
Change-Id: Id49f26a2615e2fc06e94eeaf2e9200e83625e6c9 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit 7522bdb0e898144da2b6dc361dbdd549b39bc025)
-rwxr-xr-xmcp/config/states/neutron_dhcp_agent_patch12
-rwxr-xr-xmcp/config/states/neutron_gateway1
-rwxr-xr-xmcp/config/states/openstack_ha1
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml10
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/compute.yml.j22
-rw-r--r--mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/compute.yml.j24
7 files changed, 36 insertions, 6 deletions
diff --git a/mcp/config/states/neutron_dhcp_agent_patch b/mcp/config/states/neutron_dhcp_agent_patch
new file mode 100755
index 000000000..a9e14bee7
--- /dev/null
+++ b/mcp/config/states/neutron_dhcp_agent_patch
@@ -0,0 +1,12 @@
+#!/bin/bash -e
+##############################################################################
+# Copyright (c) 2019 Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# regression due to https://bugs.launchpad.net/neutron/+bug/1760047
+salt -I 'neutron:gateway' pkg.install python-neutron
+salt -I 'neutron:gateway' file.patch /usr/lib/python2.7/dist-packages/neutron/agent/dhcp/agent.py /var/tmp/dhcp_agent.patch || true
diff --git a/mcp/config/states/neutron_gateway b/mcp/config/states/neutron_gateway
index 77b1167de..06f9b7725 100755
--- a/mcp/config/states/neutron_gateway
+++ b/mcp/config/states/neutron_gateway
@@ -9,4 +9,5 @@
CI_DEBUG=${CI_DEBUG:-0}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x
+$(dirname "${BASH_SOURCE[0]}")/neutron_dhcp_agent_patch
salt -I 'neutron:gateway' state.sls neutron
diff --git a/mcp/config/states/openstack_ha b/mcp/config/states/openstack_ha
index 7cf40086e..7c66704c8 100755
--- a/mcp/config/states/openstack_ha
+++ b/mcp/config/states/openstack_ha
@@ -52,6 +52,7 @@ salt -I 'cinder:controller:role:primary' state.sls cinder
salt -I 'cinder:controller:role:secondary' state.sls cinder
wait_for 3.0 "salt -I 'cinder:volume' state.sls cinder"
+$(dirname "${BASH_SOURCE[0]}")/neutron_dhcp_agent_patch
salt -I 'neutron:server:role:primary' state.sls neutron
salt -I 'neutron:server:role:secondary' state.sls neutron
salt -I 'neutron:gateway' state.sls neutron.gateway
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml
index 85e69b666..2375ef54e 100644
--- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml
+++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml
@@ -71,6 +71,16 @@ parameters:
- nospec_store_bypass_disable
- noibrs
- noibpb
+ file:
+ /var/tmp/dhcp_agent.patch:
+ contents: |
+ 549,551c549,550
+ < self.schedule_resync("Duplicate IP addresses found, "
+ < "DHCP cache is out of sync",
+ < created_port.network_id)
+ ---
+ > LOG.info("Duplicate IP addresses found for %s network",
+ > created_port.network_id)
neutron:
gateway:
vlan_aware_vms: true
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway.yml
index 5100add1f..fef8d4865 100644
--- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway.yml
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway.yml
@@ -20,3 +20,15 @@ parameters:
root_helper_daemon: false
dhcp_lease_duration: 3600
report_interval: 120
+ linux:
+ system:
+ file:
+ /var/tmp/dhcp_agent.patch:
+ contents: |
+ 549,551c549,550
+ < self.schedule_resync("Duplicate IP addresses found, "
+ < "DHCP cache is out of sync",
+ < created_port.network_id)
+ ---
+ > LOG.info("Duplicate IP addresses found for %s network",
+ > created_port.network_id)
diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/compute.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/compute.yml.j2
index 63eb6e250..25fc82624 100644
--- a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/compute.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/compute.yml.j2
@@ -16,8 +16,6 @@ classes:
parameters:
neutron:
compute:
- dhcp_agent_enabled: true
- metadata_agent_enabled: true
backend:
tenant_network_types: ${_param:neutron_tenant_network_types}
linux:
diff --git a/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/compute.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/compute.yml.j2
index 54835ac4f..2707c7f5e 100644
--- a/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/compute.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/compute.yml.j2
@@ -15,10 +15,6 @@ classes:
- cluster.mcp-common-noha.openstack_compute
- cluster.mcp-ovs-noha
parameters:
- neutron:
- compute:
- dhcp_agent_enabled: true
- metadata_agent_enabled: true
linux:
network:
interface: