Disable l3 agent in gate

L3 agent creates namespace for each router and plugs it into br-ex and
br-int. This creates a conflict because an interface in the new namespace
responds to traffic bound for br-int (DNAT), preventing DNAT from
working.

This patch disables l3 agent and adds code that configures br-ex in gate

Partial-Bug: #1707496
Change-Id: If5f58689d961421a374f8992c16a919fbc91b7eb
This commit is contained in:
Dima Kuznetsov 2017-07-13 16:10:07 +03:00
parent 0edbd2c35a
commit 9427d8ec95
7 changed files with 11 additions and 2 deletions

View File

@ -17,7 +17,7 @@
# http://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/jobs/dragonflow.yaml
#
export OVERRIDE_ENABLED_SERVICES=key,n-api,n-api-meta,n-cpu,n-cond,n-sch,n-crt,n-cauth,n-obj,g-api,g-reg,c-sch,c-api,c-vol,rabbit,mysql,dstat,df-controller,df-redis,df-redis-server,q-svc,df-l3-agent,df-metadata,q-qos,placement-api,df-bgp,q-trunk
export OVERRIDE_ENABLED_SERVICES=key,n-api,n-api-meta,n-cpu,n-cond,n-sch,n-crt,n-cauth,n-obj,g-api,g-reg,c-sch,c-api,c-vol,rabbit,mysql,dstat,df-controller,df-redis,df-redis-server,q-svc,df-metadata,q-qos,placement-api,df-bgp,q-trunk
export DEVSTACK_LOCAL_CONFIG+=$'\n'"DF_REDIS_PUBSUB=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"DF_RUNNING_IN_GATE=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"EXTERNAL_HOST_IP=172.24.4.100"

View File

@ -17,7 +17,7 @@
# https://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/jobs/dragonflow.yaml
#
export OVERRIDE_ENABLED_SERVICES=key,n-api,n-api-meta,n-cpu,n-cond,n-sch,n-crt,n-cauth,n-obj,g-api,g-reg,c-sch,c-api,c-vol,rabbit,mysql,dstat,df-controller,df-etcd,etcd3,df-zmq-publisher-service,q-svc,df-l3-agent,df-metadata,q-qos,placement-api,q-trunk
export OVERRIDE_ENABLED_SERVICES=key,n-api,n-api-meta,n-cpu,n-cond,n-sch,n-crt,n-cauth,n-obj,g-api,g-reg,c-sch,c-api,c-vol,rabbit,mysql,dstat,df-controller,df-etcd,etcd3,df-zmq-publisher-service,q-svc,df-metadata,q-qos,placement-api,q-trunk
export DEVSTACK_LOCAL_CONFIG+=$'\n'"DF_PUB_SUB=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"DF_SELECTIVE_TOPO_DIST=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_ACTIVE_DETECTION=False"

View File

@ -40,6 +40,8 @@ PUBLIC_BRIDGE=${PUBLIC_BRIDGE:-br-ex}
INTEGRATION_BRIDGE=${INTEGRATION_BRIDGE:-br-int}
INTEGRATION_PEER_PORT=${INTEGRATION_PEER_PORT:-patch-ex}
PUBLIC_PEER_PORT=${PUBLIC_PEER_PORT:-patch-int}
PUBLIC_NETWORK_GATEWAY=${PUBLIC_NETWORK_GATEWAY:-172.24.4.1}
PUBLIC_NETWORK_PREFIXLEN=${PUBLIC_NETWORK_PREFIXLEN:-24}
if [[ "$ENABLE_DPDK" == "True" ]]; then
# By default, dragonflow uses OVS kernel datapath. If you want to use

View File

@ -142,6 +142,8 @@ function configure_ovs {
if [[ "$check_dnat" != "" ]]; then
echo "Setup external bridge for DNAT"
sudo ovs-vsctl add-br $PUBLIC_BRIDGE || true
sudo ip link set dev $PUBLIC_BRIDGE up || true
sudo ip addr add $PUBLIC_NETWORK_GATEWAY/$PUBLIC_NETWORK_PREFIXLEN dev $PUBLIC_BRIDGE || true
fi
_neutron_ovs_base_setup_bridge $INTEGRATION_BRIDGE

View File

@ -164,6 +164,8 @@ function configure_ovs {
if [[ "$check_dnat" != "" ]]; then
echo "Setup external bridge for DNAT"
sudo ovs-vsctl add-br $PUBLIC_BRIDGE || true
sudo ip link set dev $PUBLIC_BRIDGE up || true
sudo ip addr add $PUBLIC_NETWORK_GATEWAY/$PUBLIC_NETWORK_PREFIXLEN dev $PUBLIC_BRIDGE || true
fi
_neutron_ovs_base_setup_bridge $INTEGRATION_BRIDGE

View File

@ -25,6 +25,8 @@ r="$r(?:.*\[.*\bslow\b.*\])"
# exclude things that just aren't enabled:
r="$r|(?:tempest\.api\.network\.admin\.test_quotas\.QuotasTest\.test_lbaas_quotas.*)"
r="$r|(?:tempest\.api\.network\.admin\.test_agent_management\.*)"
r="$r|(?:tempest\.api\.network\.admin\.test_l3_agent_scheduler\.*)"
r="$r|(?:tempest\.api\.network\.test_load_balancer.*)"
r="$r|(?:tempest\.scenario\.test_load_balancer.*)"
r="$r|(?:tempest\.api\.network\.admin\.test_load_balancer.*)"

View File

@ -1006,6 +1006,7 @@ class TestL3App(test_base.DFTestBase):
if len(policy.exceptions) > 0:
raise policy.exceptions[0]
@testtools.skip("bug/1706065")
def test_udp_concrete_router_interface(self):
# By default, fullstack will start l3 agent. So there will be concrete
# router interface.