From 836a67e9d26035f0d4f76a34b0f92fd570d5b8b1 Mon Sep 17 00:00:00 2001 From: Michael Polenchuk Date: Tue, 23 Apr 2019 14:42:07 +0400 Subject: Patch dhcp agent to avoid unwanted rescheduling Change-Id: Id49f26a2615e2fc06e94eeaf2e9200e83625e6c9 Signed-off-by: Michael Polenchuk (cherry picked from commit 7522bdb0e898144da2b6dc361dbdd549b39bc025) --- mcp/config/states/neutron_dhcp_agent_patch | 12 ++++++++++++ mcp/config/states/neutron_gateway | 1 + mcp/config/states/openstack_ha | 1 + .../classes/cluster/mcp-common-ha/openstack_compute.yml | 10 ++++++++++ .../classes/cluster/mcp-common-noha/openstack_gateway.yml | 12 ++++++++++++ .../cluster/mcp-ovs-dpdk-noha/openstack/compute.yml.j2 | 2 -- .../classes/cluster/mcp-ovs-noha/openstack/compute.yml.j2 | 4 ---- 7 files changed, 36 insertions(+), 6 deletions(-) create mode 100755 mcp/config/states/neutron_dhcp_agent_patch 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: -- cgit 1.2.3-korg