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
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 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
When l3 agent node is rebooted, if HA network port status is already
ACTIVE in DB, agent will get this status from server and then spawn
the keepalived (though l2 agent might not have wired the port),
resulting in multiple HA masters active at the same time.
To fix this, when the L3 agent starts up we can have it explicitly
set the port status to DOWN for all of the HA ports on that node.
Then we are guaranteed that when they go to ACTIVE it will be because
the L2 agent has wired the ports.
Closes-bug: #1597461
Change-Id: Ib0c8a71b6ff97e43a414f3db4882914b12170d53
OVS trunks work only with OVS firewall to implement security
groups. If a trunk request is indeed processed by an OVS agent
whose firewall_driver = iptables_hybrid, we should at least
log a warning to alert the admin.
Closes-bug: #1669074
Change-Id: I60e77e60e5e6d46ceff4bff61cbc07b6534ef152
This patch integrates the Oslo-Versioned Object created for
IPAllocationPool model class.
Change-Id: Ifca5be29d322f1e85c45ca77371df37c9bf5b27f
Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db
updated_rule_sg_ids and updated_sg_members can be updated
concurrently by an RPC security_group_updated cast from the
server which will result in a RuntimeError due to set
size changing during iteration.
This adjusts the logic to just iterate over a copy of the set.
Change-Id: I0a7cf13157de256403cfd6196f64fafdfa65f180
Closes-Bug: #1696874
This should help with a gate failure where IPV4_ADDRS_SAFE_TO_USE would
not be honoured by devstack, rendering a job failed on a particular
cloud (like citycloud), like:
'Could not determine host ip address. See local.conf for suggestions on
setting HOST_IP.'
Closes-Bug: #1693689
Change-Id: Iee7cc4c129e6e9eab91107fda92f66c5379d6f95
We plan to switch to devstack-gate for fullstack job, and it revokes
direct sudo calls before executing tests, so we can't rely on sudo
working anymore.
This also moves functional-testing.filters to a more generic filename
(testing.filters) because the filters are now deployed and used by
fullstack target too.
Related-Bug: #1557168
Related-Bug: #1693689
Change-Id: I1718ea51836adbb8ef8dea79822a722dcf111127
Revision service plugin is the entity that updates the database model
attribute, and we don't allow to modify the attribute on API layer. We
should not allow to explicitly update it on OVO layer either.
This can help with spurious unit test failures that sometimes try to
update revision number and then reuse the same number to fetch the
object. If revision service plugin decides to bump the number during the
test case execution once more, using the old number may yield no
results.
Change-Id: I4666c672223ac38508738b739207f754847c62bc
Closes-Bug: #1694753
This reverts commit 1b987be2b55558dcc276fcfc8af6e39f8b6bac16.
This probably triggered a race between nova and l2 agent when
hot-detaching VIFs.
Change-Id: I2fc20666d43942446878da358ccf4472e04ad94c
Related-Bug: #1696125
Changed allowed directions for QoS minimum bandwidth rule in
SR-IOV driver to only "egress". Currently this is the only
supported direction for this rule in this backend.
Closes-Bug: #1696679
Change-Id: Ia56146143e902663e9a47231773956ab2f035c8e
Recenly pylint version was bumped to 1.7.1 in global-requirements.txt.
Pylint 1.7.1 adds more checks and breaks the neutron pep8 job.
This commit adds new checks to the disabled list to avoid the gate
breakage. Individual disabled tests can be fixed later.
The new disabled list is compatible with pylint 1.4.5,
so we can merge this regardless of pylint bump is reverted or not.
Closes-Bug: #1696403
Change-Id: If6228d0626413049b82f9d75bcdf3bea7ddacde5
Neutron RPC Server fails with exception
"object has no attribute 'rpc_workers_supported'".
Change-Id: I0997789bb61635ed36e4b95f03fc7d396511e19f
Closes-Bug: #1687896
The pep8 images in infra no longer have ssl installed by
default so we have to specify them in bindep.
Change-Id: Icbdb5d442935438f01031f745157a8b39cd672a4
The reraise_as_retryrequest decorator is already defined in
neutron_lib.db.utils and is no longer used in neutron [1].
This patch removes the dead code from neutron.
[1] http://codesearch.openstack.org/?q=reraise_as_retryrequest
Change-Id: Ie453dea132bc8b7f195b68c22a7ec150765102b2
html_last_updated_fmt option is interpreted as a
byte string in python3, causing Sphinx build to break.
This patch makes it utf-8 string.
Changing Popen to .check_output because of 3 reasons:
1. check_output() will raise CalledProcessError if
the called process returns a non-zero return code.
2. For consistency with keystone [1] and cinder [2]
3. It makes the code look much better.
[1] https://review.openstack.org/#/c/457142/
[2] https://review.openstack.org/#/c/433081
Change-Id: Ifeff184b71a83b78de751dfd0c2f43a33cd409ee
The ml2 MechanismDriver is now in neutron-lib along with its associated
constants. This patch switches over to the lib versions of those, but
leaves a shim of the MechanismDriver that just ref's the driver from
lib. This shim allows our broad consumer base of the driver to switch
over at their leisure.
NeutronLibImpact
Change-Id: I99e3de6d933a1bb341394f85415fb07306a82a01