Uploaded image for project: 'ovsdb'
  1. ovsdb
  2. OVSDB-238

ovsdb netvirt needs to handle cases when network/subnet contains no tentant id

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • None
    • unspecified
    • openstack.net-virt
    • None
    • Operating System: All
      Platform: All

    • 4776

      When neutron is configures to have l3_ha, there will be networks created
      which have an empty tenant id field. OVSDB (and NeutronNorthbound) need to
      be able to handle it gracefully.


      Add to local.conf:

      enable_service q-l3
      ODL_L3=False

      [[post-config|$NEUTRON_CONF]]
      [DEFAULT]
      l3_ha = True

      ===

      Steps to reproduce:

      https://gist.github.com/bc67dd6152953001d68f

      source openrc admin admin
      keystone tenant-create --name=tenant1 --enabled=true 2> /dev/null

      keystone user-create --name=user1 --pass=user1 \
      --email=user1@example.com 2> /dev/null

      keystone user-role-add --user=user1 --role=member \
      --tenant=tenant1 2> /dev/null

      TNT1_ID=$(keystone tenant-list 2> /dev/null | grep '\s'tenant1'' | awk '

      {print $2}

      ')

      neutron net-create ext --provider:network_type flat --router:external --provider:physical_network physnetext

      neutron subnet-create \
      --allocation-pool start=192.168.111.21,end=192.168.111.40 --gateway=192.168.111.254 \
      --disable-dhcp --name subext ext 192.168.111.0/24

      unset SERVICE_TOKEN SERVICE_ENDPOINT
      export OS_AUTH_URL=http://192.168.50.20:35357/v2.0/
      export OS_REGION_NAME=RegionOne

      export OS_USERNAME=user1
      export OS_TENANT_NAME=tenant1
      export OS_PASSWORD=user1
      export PS1='[\u@\h \W(keystone_user1)]\$ '

      rm -f id_rsa_demo* ; ssh-keygen -t rsa -b 2048 -N '' -f id_rsa_demo > /dev/null
      nova keypair-add --pub-key id_rsa_demo.pub demo_key > /dev/null

      neutron router-create rtr1

      ====

      2015-12-14 23:00:41,727 | INFO | tp1482635200-568 | eutronSecurityGroupDummyProvider | 270 - org.opendaylight.neutron.dummyprovider - 0.6.0.SNAPSHOT | NeutronSecurityGroup{securityGroupUUID='df8bdda3-7064-488f-a5da-300fe41f6bb0', securityGroupName='default', securityGroupDescription='Default security group', securityGroupTenantID='', securityRules=[NeutronSecurityRule

      {securityRuleUUID='ca18d679-8340-4770-b987-5e46b7d3ff21', securityRuleDirection='ingress', securityRuleProtocol='null', securityRulePortMin=null, securityRulePortMax=null, securityRuleEthertype='IPv4', securityRuleRemoteIpPrefix='null', securityRemoteGroupID=df8bdda3-7064-488f-a5da-300fe41f6bb0, securityRuleGroupID='df8bdda3-7064-488f-a5da-300fe41f6bb0', securityRuleTenantID=''}

      , NeutronSecurityRule

      {securityRuleUUID='d37408fa-e7f2-4c5c-a8d8-85988d08a9af', securityRuleDirection='egress', securityRuleProtocol='null', securityRulePortMin=null, securityRulePortMax=null, securityRuleEthertype='IPv4', securityRuleRemoteIpPrefix='null', securityRemoteGroupID=null, securityRuleGroupID='df8bdda3-7064-488f-a5da-300fe41f6bb0', securityRuleTenantID=''}

      , NeutronSecurityRule

      {securityRuleUUID='a891150e-7939-4966-bd68-8f086e9ab687', securityRuleDirection='ingress', securityRuleProtocol='null', securityRulePortMin=null, securityRulePortMax=null, securityRuleEthertype='IPv6', securityRuleRemoteIpPrefix='null', securityRemoteGroupID=df8bdda3-7064-488f-a5da-300fe41f6bb0, securityRuleGroupID='df8bdda3-7064-488f-a5da-300fe41f6bb0', securityRuleTenantID=''}

      , NeutronSecurityRule

      {securityRuleUUID='0b3f961d-98fd-47c4-957b-ef34a8f71a35', securityRuleDirection='egress', securityRuleProtocol='null', securityRulePortMin=null, securityRulePortMax=null, securityRuleEthertype='IPv6', securityRuleRemoteIpPrefix='null', securityRemoteGroupID=null, securityRuleGroupID='df8bdda3-7064-488f-a5da-300fe41f6bb0', securityRuleTenantID=''}

      ]]
      2015-12-14 23:00:41,756 | INFO | tp1482635200-567 | NeutronNetworkDummyProvider | 270 - org.opendaylight.neutron.dummyprovider - 0.6.0.SNAPSHOT | NeutronNetwork [networkUUID=3d357c2c-9390-469a-ac15-e8a48fb5029d, networkName=HA network tenant d9dd6609c22a4c1c816e9cb10c5cb247, adminStateUp=true, shared=false, tenantID=, routerExternal=false, providerNetworkType=vxlan, providerPhysicalNetwork=null, providerSegmentationID=1054, status=ACTIVE, segments = null]
      2015-12-14 23:00:41,757 | ERROR | lt-dispatcher-25 | DataChangeListener | 147 - org.opendaylight.controller.sal-distributed-datastore - 1.3.0.SNAPSHOT | Error notifying listener org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronNetworkChangeListener
      java.lang.NullPointerException
      at org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronNetworkChangeListener.fromMd(NeutronNetworkChangeListener.java:133)[268:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
      at org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronNetworkChangeListener.createNetwork(NeutronNetworkChangeListener.java:84)[268:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
      at org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronNetworkChangeListener.onDataChanged(NeutronNetworkChangeListener.java:74)[268:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
      at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:143)[122:org.opendaylight.controller.sal-binding-broker-impl:1.3.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.DataChangeListener.dataChanged(DataChangeListener.java:66)[147:org.opendaylight.controller.sal-distributed-datastore:1.3.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.DataChangeListener.handleReceive(DataChangeListener.java:39)[147:org.opendaylight.controller.sal-distributed-datastore:1.3.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:34)[143:org.opendaylight.controller.sal-clustering-commons:1.3.0.SNAPSHOT]
      at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)[132:com.typesafe.akka.actor:2.3.14]
      at akka.actor.Actor$class.aroundReceive(Actor.scala:467)[132:com.typesafe.akka.actor:2.3.14]
      at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)[132:com.typesafe.akka.actor:2.3.14]
      at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[132:com.typesafe.akka.actor:2.3.14]
      at akka.actor.ActorCell.invoke(ActorCell.scala:487)[132:com.typesafe.akka.actor:2.3.14]
      at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)[132:com.typesafe.akka.actor:2.3.14]
      at akka.dispatch.Mailbox.run(Mailbox.scala:220)[132:com.typesafe.akka.actor:2.3.14]
      at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)[132:com.typesafe.akka.actor:2.3.14]
      at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[129:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[129:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[129:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[129:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      2015-12-14 23:00:41,807 | INFO | tp1482635200-530 | NeutronSubnetDummyProvider | 270 - org.opendaylight.neutron.dummyprovider - 0.6.0.SNAPSHOT | NeutronSubnet [subnetUUID=2f0d7992-9d80-4a12-960b-8b47705760f4, networkUUID=3d357c2c-9390-469a-ac15-e8a48fb5029d, name=HA subnet tenant d9dd6609c22a4c1c816e9cb10c5cb247, ipVersion=4, cidr=169.254.192.0/18, gatewayIP=null, dnsNameservers=[], allocationPools=[NeutronSubnetIPAllocationPool [start=169.254.192.1, end=169.254.255.254]], hostRoutes=[], enableDHCP=false, tenantID=, ipv6AddressMode=null, ipv6RaMode=null]
      2015-12-14 23:00:41,807 | ERROR | lt-dispatcher-25 | DataChangeListener | 147 - org.opendaylight.controller.sal-distributed-datastore - 1.3.0.SNAPSHOT | Error notifying listener org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronSubnetChangeListener
      java.lang.NullPointerException
      at org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronSubnetChangeListener.fromMd(NeutronSubnetChangeListener.java:141)[268:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
      at org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronSubnetChangeListener.createSubnet(NeutronSubnetChangeListener.java:97)[268:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
      at org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.impl.NeutronSubnetChangeListener.onDataChanged(NeutronSubnetChangeListener.java:87)[268:org.opendaylight.ovsdb.openstack.net-virt:1.2.1.SNAPSHOT]
      at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:143)[122:org.opendaylight.controller.sal-binding-broker-impl:1.3.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.DataChangeListener.dataChanged(DataChangeListener.java:66)[147:org.opendaylight.controller.sal-distributed-datastore:1.3.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.datastore.DataChangeListener.handleReceive(DataChangeListener.java:39)[147:org.opendaylight.controller.sal-distributed-datastore:1.3.0.SNAPSHOT]
      at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:34)[143:org.opendaylight.controller.sal-clustering-commons:1.3.0.SNAPSHOT]
      at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)[132:com.typesafe.akka.actor:2.3.14]
      at akka.actor.Actor$class.aroundReceive(Actor.scala:467)[132:com.typesafe.akka.actor:2.3.14]
      at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)[132:com.typesafe.akka.actor:2.3.14]
      at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[132:com.typesafe.akka.actor:2.3.14]
      at akka.actor.ActorCell.invoke(ActorCell.scala:487)[132:com.typesafe.akka.actor:2.3.14]
      at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)[132:com.typesafe.akka.actor:2.3.14]
      at akka.dispatch.Mailbox.run(Mailbox.scala:220)[132:com.typesafe.akka.actor:2.3.14]
      at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)[132:com.typesafe.akka.actor:2.3.14]
      at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[129:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[129:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[129:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[129:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]

            Unassigned Unassigned
            flavio@flaviof.com Flavio Fernandes
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: