We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.
Change-Id: I9530cd2433e0e34f05667d33bd6469b2592f8738
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The linter sees the trailing comma after the function call as building
a tuple without wrapping it in parens. That doesn't seem to be the
intent (it looks like a typo), so remove the comma.
Change-Id: Ie3e051c43d68d09716fc0a4506ed111908730280
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The deprecated rpc_backend parameter was removed from oslo.messaging in
I193cc0e613459a6dbbfd54ed0901a54ded78d712
Use transport_url parameter instead
Change-Id: Ia73fe052986617dd6ce5e68cced0c4c88516a33e
Closes-Bug: #1795878
When code needs to load a list of all ports that are not router
interfaces, they tend to fetch the port information into memory and then
iterate over the ports, inspecting each port's device_owner. For large
numbers of ports this is presumably inefficient. This came up in a
discussion of just such a part in the code [1].
A more efficient solution is to perform this filtering in SQL. This
change adds an argument to an existing method in the Port object to do
that.
[1] https://review.openstack.org/580721
Change-Id: I742d8a79175209e42f8bd6319956e960c73201ee
Change _bind_centralized_snat_port_on_dvr_subnet() to pull
the subnet uuid out of the fixed IP earlier, since that
is all it is passing in its remote RPC call.
Trivialfix
Change-Id: I9686fd619214a3c33af253af5ad69e9f406c7e18
Sometimes due to NIC driver incorrect behavior, VFs might be
missing in 'ip link show' output. This may lead to a VM boot
failure as agent will just skip such missing devices.
Make the agent do a resync in case a newly added device
'disappears' during processing, which should cause a MAC to
get assigned.
Co-authored-by: Oleg Bondarev <obondarev@mirantis.com>
Change-Id: I148b5a025fc388821fd1269d02908cc8ce1882fe
Closes-bug: #1784484
wsgi call to best_match() generates the following warning:
DeprecationWarning: The behavior of AcceptValidHeader.best_match
is currently being maintained for backward compatibility, but it
will be deprecated in the future, as it does not conform to the RFC.
Change to use acceptable_offers() as was done in nova code.
Simlar changes in the wsgi best language code as well, except
new call is to lookup().
Required bump to get WebOb 1.8.2.
Trivialfix
Change-Id: I45a222c098658eef6a49adcc168b0f5625ea49db
As agreed during the Stein PTG, this patch proposes an update to the
code review policies, aimed at minimizing the impact of code changes in
Neutron on the Stadium and other networking related projects.
Change-Id: I455a62daa9115962cd6347d1f3966dae533e4abb
This patch bumps the requirements and lower constraints to pick up
neutron-lib 1.19.0 so we can consume it.
Change-Id: Ib0e3d19c18e6688f274c0573331a4595f7dbdaf0
In order to get openstack/placement installed as part of the
neutron grenade jobs, we have to list it as a required project.
Needed by https://review.openstack.org/604454/
Change-Id: I742660f398b52c62503acf00aaf7faa9a5a8650a
The tempfile in test_unwatch_log() generates a warning
in the 'cover' tests:
sys:1: ResourceWarning: unclosed file
<_io.TextIOWrapper name='/var/tmp/tmpz1l83cix/tmpjz5uavc7/
watch_log_temp_file_name' mode='a' encoding='UTF-8'>
Create it in setUp() which will trigger an automatic
cleanup on test completion.
Trivialfix
Change-Id: I816ac65a935250f8606dba75d7080eb9c384fceb
- This change updates _set_bridge_name to set
the bridge name field in the vif binding details.
- This change adds the integration_bridge name
to the agent configuration report.
Change-Id: I454efcb226745c585935d5bd1b3d378f69a55ca2
Closes-Bug: #1788009
This patch switches BEFORE_DELETE callback events for AGENT resources
over to the payload style args use a DBEventPayload object. In addition,
the _delete_mac_associated_with_agent is now refactored into it's own
method to allow the context parameter to be parsed by
retry_if_session_inactive.
NeutronLibImpact
Change-Id: I0af951f4346f9290c2eba6aad17f772fbf27bb2f
Newer pylint added some checks that trigger a lot for this
code base. Turn them off until we are ready to apply the
new rules. They are:
- c-extension-no-member (Informational)
- keyword-arg-before-vararg (Warning)
- inconsistent-return-statements (Refactor recommendation)
Change-Id: I8c1f72bb334c87d62d47e8296d13c660d6bb5576
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
There is a bare raise in a function that is used as an exception
handler. Remove it and have the caller raise inside it's except
block instead.
Change-Id: Ib494d320e1c2e6cc6daa20255e30291fc2e258e8
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
pylint compares the function arguments for gettext to what it can see,
and under python3 the signature does not match. This code is already
correctly branching based on python version, so just tell the linter
to ignore the line.
Change-Id: I653fe8bc11804dc20206f6296d89c14568ee4bc1
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The population of is_filter in network_ip_availability and
portbindings_extended modules was a walk-around for the missing
of this keyword in neutron-lib's resource attributes.
This issue is resolved in the release of neutron-lib 1.19.0
so this walk-around can be removed.
Depends-On: https://review.openstack.org/#/c/605690/
Change-Id: I7bb29bbe68f7e9afbc20704948661dd5e9dae912
Note: this is a squash of two changes since they are
dependent on each other, and are currently blocking
the gate queue.
Sometimes cleanup methods are failing in the check and
gate queues trying to delete non-existing namespaces.
Since they could have been deleted asynchronously, don't
raise if the failure is "No such file or directory" since
the system is in the intended state.
Cleaned-up the DHCP agent to longer check for existence
first, and the tests to longer mock-out the namespace
exists check.
Fix test_legacy_router_lifecycle failures
Multi-path routes returned via the pyroute2 library have
their outgoing interfaces in the 'multipath' dictionary
element, not in the route dictionary. In that case return
all the multipath routes correctly.
Change-Id: I5415cb3a88ff2640a19598a1fcb2278388815343
Closes-bug: #1795482
Closes-bug: #1795548
The issue scenario happens when we disassociate a floating IP
while the 'master' router host is restarted or powered-off.
When the L3 agent is powered-on again, the HA router state config
still remains 'master', but the ha port is down. And the message
queue still has one 'router_update' message (floating IP
disassociate message), so the L3 agent will sync this router info
at least twice during the restart, one is the router_update, the
other is the L3 agent full-sync.
The first one will add the centralized FIP to the qg-device, because
the router state is 'master'. So for DVR HA routers, only add the
centralized floating IP to the qg-device in the snat-namespace when
the HA port is up. For the restart procedure, if the HA port is up,
but the router is set to 'backup', do not add the floating IP.
Closes-Bug: #1794305
Change-Id: Ib39fe7dcd437a867c69852885c461a594167f6a1