Now with the merge of push notifications, processing a port update
no longer automatically implies a transition from ACTIVE to BUILD
to ACTIVE again.
This resulted in a bug where Nova would unplug and replug an interface
quickly during rebuild and it would never get a vif-plugged event.
Nothing in the data model was actually being updated that resulted in
the status being set to DOWN or BUILD and the port would return before
the agent would process it as a removed port to mark it as DOWN.
This fixes the bug by making the agent force the port to DOWN whenever
it loses its VLAN. Watching for the VLAN loss was already introduced
to detect these fast unplug/plug events before so this just adds the
status update.
Closes-Bug: #1694371
Change-Id: Ice24eea2534fd6f3b103ec014218a65a45492b1f
Router scheduling was happening before the schedule call
so sometimes the router was being scheduled to a different
host than the test was expecting.
This fixes it by explicitly setting the router to not be HA
and calls schedule before adding interfaces that would trigger
scheduling.
Closes-Bug: #1698058
Change-Id: I6c6319f1da72546a9d21af198daf9a2a67e6dec8
This patch integrates the Oslo-Versioned Objects created for
VlanAllocation, VxlanAllocation, VxlanEndpoints, GreAllocation,
GreEndpoints, GeneveAllocation and GeneveEndpoints into the
code base.
Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db
Change-Id: I0d592bae452876b24c28ca4cc4bf6392b5ab6493
Co-Authored-By: Victor Morales <victor.morales@intel.com>
Add support for QoS ingress bandwidth limiting in
openvswitch agent.
It uses default ovs QoS policies on bandwidth limiting
mechanism.
DocImpact: Ingress bandwidth limit in QoS supported by
Openvswitch agent
Change-Id: I9d94e27db5d574b61061689dc99f12f095625ca0
Partial-Bug: #1560961
It seems after the merge of
https://bugs.launchpad.net/ubuntu/+source/ebtables/+bug/1645324
that ebtables can fail to acquire a lock and bail with an error
255. This adds some retry logic to retry it up to 10 times to
work around this issue.
Closes-Bug: #1697833
Change-Id: Ic9dcf4b236a93e8811413c6ce2c4b82602544c6d
libffi-dev is required to install cffi and PyNaCL from tarballs.
cffi is installed from requirements.txt, so 'test' profile is not
specified.
We usual use wheel packages when installing python packages,
but tarball is sometimes used, for example, when a new version
is uploaded. I think it is worth adding it to bindep.txt
to avoid accidental gate failure.
Closes-Bug: #1697613
Change-Id: I4800c9f213fa5c8f28c8603e022264e6aa139090
DVR snat ports and gateway ports are not bound to any host
and so we don't see the snat namespace getting created.
The issue is the _build_routers_list in l3_dvr_db.py is not called due
to the inheritance order.
Change-Id: I56f9de31524aeef262cf2a78be3abf8487c21a12
Closes-Bug: #1695101
Nested transactions have unnecessary overhead of starting
new transactions in the database and the only place we need
them are where we expect duplicate violations during create/update.
This gets rid of them for get_objects and delete_objects so we
don't adopt additional unnecessary overhead in OVO adoption. Before
this patch, update_port calls were resulting in several independent
nested transactions that each require multiple round trips to the
database.
Change-Id: Icbfe678b6f6ebcdcd7f7ca71f6ac5febb64bdaa3
Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db
This does the same as the logic present but it emits
the registry callback event for resources.PROCESS AFTER_SPAWN
that some plugins may be expecting.
Change-Id: I6f9aeca753a5d3c0052f553a2ac46786ca113e1e
Related-Bug: #1687896
The pecan notifier hook was logging on every GET request
that it wasn't doing anything, which led to excessive logging.
This just eliminates it.
TrivialFix
Change-Id: Ie1262b54595f40f69c6859a09850845826ee8f14
This patch includes db models and migration rules for initial
logging object. The implementation bases on logging api for
security group spec[1]
[1] https://goo.gl/t3NUlr
Partially-implements: blueprint security-group-logging
Related-Bug: #1468366
Change-Id: I3f91b3927c33021facc9eb9238555c0e06a918c0
This fixes the usage of the oslo RemoteError exception checking
in the Linux Bridge trunk driver to stop calling 'str' on the
exception and just check the 'exc_type' attribute like we do
in the other agent code so it's safe to use with unicode.
Change-Id: I352ed422550343118319f8e83c4979f290f161f0
Closes-Bug: #1697383
Fix a usage regression, use case #2 in Nova Neutron Routed Networks spec
https://specs.openstack.org/openstack/nova-specs/specs/newton/implemented/neutron-routed-networks.html
Currently ip allocation is always deferred if binding:host_id is not
specified when routed networks are used. This causes initial fixed-ips
data provided by the user to be _lost_ unless the user also specify the
host.
Since the user specified the IP or Subnet to allocate in, there is no
reason to defer the allocation.
a) It is a common pattern, especially in Heat templates to:
1. Create a port with fixed-ips specifying a subnet.
2. Create a server and associate the existing port.
b) It is also common to use Neutron IPAM as a source to get VIP
addresses for clusters on provider networks.
This change enables these use cases with routed networks.
DocImpact: "The Networking service defers assignment of IP addresses to
the port until the particular compute node becomes apparent." This is no
longer true if fixed-ips is used in the port create request.
Change-Id: I86d4aafa1f8cd425cb1eeecfeaf95226d6d248b4
Closes-Bug: #1695740