Comment 0 for bug 1564400

Revision history for this message
Mathieu Rohon (mathieu-rohon) wrote : router networks doesn't work anymore when bgpvpn/bagpipe is enabled

bgpvpn/bagpipe is enbale in the local.conf :

############"

[[local|localrc]]

#USE_CONSTRAINTS=True
ROOTSLEEP=0
DATA_DIR=$TOP_DIR/data
SCREEN_LOGDIR=/opt/stack/logs/screen
#VERBOSE=True
LOGFILE=/opt/stack/logs/stack.sh.log

ADMIN_PASSWORD=labo
MYSQL_PASSWORD=labo
RABBIT_PASSWORD=labo
SERVICE_PASSWORD=labo
SERVICE_TOKEN=token

ENABLED_SERVICES=q-svc,q-meta,q-agt,q-dhcp,q-l3,key,mysql,rabbit,heat,h-api,h-api-cfn,h-api-cw,h-eng,b-bgp
if [ ! -z $FAKERR ]; then ENABLED_SERVICES+=,b-fakerr; fi
#ENABLED_SERVICES+=,g-api,g-reg,n-api,n-crt,n-cpu,n-cond,n-sch,n-obj,horizon

### NEUTRON ###
### ML2 core plugin ###
NEUTRON_CREATE_INITIAL_NETWORKS=False

Q_PLUGIN=ml2
Q_ML2_PLUGIN_TYPE_DRIVERS=vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,l2population

### BGPVPN Service Plugin ###
enable_plugin networking-bgpvpn git://git.openstack.org/openstack/networking-bgpvpn.git

### Activate bagpipe devstack plugins ###
enable_plugin networking-bagpipe git://git.openstack.org/openstack/networking-bagpipe.git

### Configure bagpipe ###
BAGPIPE_DATAPLANE_DRIVER_IPVPN=mpls_ovs_dataplane.MPLSOVSDataplaneDriver

### Set bagpipe as the bgpvpn driver ###
NETWORKING_BGPVPN_DRIVER=BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe.BaGPipeBGPVPNDriver:default

### ML2/ovs_agent config ###
[[post-config|/$Q_PLUGIN_CONF_FILE]]
[ml2]
tenant_network_types=vxlan

[openvswitch]
tunnel_types=vxlan

[ml2_type_vxlan]
vni_ranges = 1001:2000

[agent]
l2_population=True
arp_responder=True

###############

then I create two networks connected through a created router :

heat_template_version: '2013-05-23'

resources:
  Net1:
    type: OS::Neutron::Net

  SubNet1:
    type: OS::Neutron::Subnet
    properties:
      network: { get_resource: Net1 }
      cidr: 10.0.0.0/24

  Net2:
    type: OS::Neutron::Net

  SubNet2:
    type: OS::Neutron::Subnet
    properties:
      network: { get_resource: Net2 }
      cidr: 20.0.0.0/24

  router1:
    type: OS::Neutron::Router

  router1_interface1:
        type: OS::Neutron::RouterInterface
        properties:
          router_id: { get_resource: router1 }
          subnet_id: { get_resource: SubNet1 }
  router1_interface2:
        type: OS::Neutron::RouterInterface
        properties:
          router_id: { get_resource: router1 }
          subnet_id: { get_resource: SubNet2 }

######

then I create a probe in one of those net. From the qprobe namesapce, the router is not reachable.