21470 Commits

Author SHA1 Message Date
Boden R
024802aafd remove neutron.common.rpc
The neutron.common.rpc module has been in neutron-lib for awhile now and
neutron is shimmed to use neutron-lib already.
This patch removes neutron.common.rpc and switches the code over to use
neutron-lib's implementation where needed.

NeutronLibImpact

Change-Id: I733f07a8c4a2af071b3467bd710290eee11a4f4c
2019-02-06 11:05:55 -07:00
Zuul
5a8506fda6 Merge "Change log level for l3 agent router updates" 2019-02-06 14:10:49 +00:00
Zuul
4cf0c77751 Merge "Ensure dnsmasq is down before enabling it in restart method" 2019-02-05 23:21:59 +00:00
Zuul
418bed5409 Merge "Fix port forwarding functional tests logging" 2019-02-05 14:50:06 +00:00
Zuul
46dc30991a Merge "Switch isolated metadata proxy to bind to 169.254.169.254" 2019-02-05 13:51:37 +00:00
Marc Koderer
64f2fe7060 Change log level for l3 agent router updates
In case of an l3 agent sync it is important to understand when
a router is processing an update to identify when it applies
changes that can cause failovers.

Change-Id: Ie9ba2a8ffebfcc3bfb35f7a48f73a25352309b4e
2019-02-04 08:52:22 +01:00
Zuul
b86fa161ed Merge "remove neutron.common.exceptions" 2019-02-03 17:07:02 +00:00
Zuul
7a33374d71 Merge "Add Security Group scenarios to rally-jobs" 2019-02-03 15:47:22 +00:00
Zuul
3e88f941aa Merge "Switch default functional tests to python3, add job for python2" 2019-02-03 15:38:30 +00:00
Zuul
a767417c5a Merge "Bump neutron-lib to 1.23.0" 2019-02-03 14:32:06 +00:00
Zuul
cf5a95c773 Merge "Add VLAN and VXLAN link information in get_devices_info" 2019-02-03 12:43:43 +00:00
Zuul
997cb55c3b Merge "Switch tempest-multinode-full to be run on python 3" 2019-02-03 10:25:30 +00:00
Zuul
26c43a4f3e Merge "Switch tempest-slow to be run on python 3" 2019-02-03 10:25:27 +00:00
Zuul
c51ca05c26 Merge "use payloads for SECURITY_GROUP BEFORE_DELETE events" 2019-02-02 04:01:26 +00:00
Zuul
2f5aa31e33 Merge "use payloads for PORT BEFORE_DELETE callbacks" 2019-02-02 04:01:22 +00:00
Zuul
e8d6958144 Merge "Restore tenant_id check on security group rule adds to previous semantic" 2019-02-02 04:01:15 +00:00
Boden R
68fd13af40 remove neutron.common.exceptions
Today the neutron common exceptions already live in neutron-lib and are
shimmed from neutron. This patch removes the neutron.common.exceptions
module and changes neutron's imports over to use their respective
neutron-lib exception module instead.

NeutronLibImpact

Change-Id: I9704f20eb21da85d2cf024d83338b3d94593671e
2019-02-01 14:35:00 -07:00
Zuul
26bef891b9 Merge "Always fill UDP checksums in DHCPv6 replies" 2019-02-01 21:24:43 +00:00
Sai Sindhur Malleni
a6422ea8f9 Add Security Group scenarios to rally-jobs
This commit adds security group related rally scenarios to CI.

Change-Id: I11fd3a6d30f743dbeea923407bc72753ba488da4
2019-02-01 15:22:18 -05:00
Zuul
0951e846c1 Merge "use payloads for all PORT_DEVICE events" 2019-02-01 18:55:35 +00:00
Zuul
a159a7294d Merge "Add port forwarding floating IP QoS" 2019-02-01 18:31:34 +00:00
Slawek Kaplonski
24362fb973 Fix port forwarding functional tests logging
This test class now inherits also from
neutron.tests.functional.base.BaseLoggingTestCase so logs from
those tests will be logged in file.

Change-Id: I69516e7417a655e320c3482ae7e59a3ba8891290
2019-02-01 16:40:44 +00:00
Zuul
0e82cecda8 Merge "remove unused methods in common_db_mixin" 2019-02-01 15:03:42 +00:00
Slawek Kaplonski
d471a85931 Ensure dnsmasq is down before enabling it in restart method
Dnsmasq driver used by dhcp agent has restart() method which is
calling disable() and then enable() dnsmasq process again.
What can be observed in functional tests from time to time it may
happen that start dnsmasq process will be called before old process
is really down. That leads to error that IP address to which
dnsmasq wants to bind is already in use and it fails to start.

This patch adds possibility to call disable() method with block flag
set to True. In such case driver will ensure in disable() method that
process is really not active.
This blocking disable() is used in restart() method now.

Change-Id: I419a451633badbc3d32edcee1945fca3e3d9f6be
Closes-Bug: #1811126
2019-02-01 11:04:56 +01:00
Ryan Tidwell
defdc64a9b
Bump neutron-lib to 1.23.0
Bumps neutron-lib version to 1.23.0 in requirements
and lower-constraints.

Change-Id: I869d650945b915b9272fcd805826e3c40266bcc2
2019-01-31 09:13:17 -06:00
Boden R
9a8f82a0d0 use payloads for SECURITY_GROUP BEFORE_DELETE events
This patch switches over to the payload style callbacks for
BEFORE_DELETE events of SECURITY_GROUP resources.

NeutronLibImpact

Change-Id: I44ab8bfd92ece7501793979f8f45eae65f1e7a2c
2019-01-31 07:01:55 -07:00
Zuul
f3810d0da3 Merge "use payloads for all SUBNETPOOL_ADDRESS_SCOPE events" 2019-01-31 10:38:34 +00:00
Zuul
7484700deb Merge "Fix port update deferred IP allocation with host_id + new MAC" 2019-01-31 01:29:13 +00:00
Boden R
8e29f67920 use payloads for all SUBNETPOOL_ADDRESS_SCOPE events
This patch switches the code over to the payload style of callbacks [1]
for SUBNETPOOL_ADDRESS_SCOPE events.

NeutronLibImpact

[1] https://docs.openstack.org/neutron-lib/latest/contributor/callbacks.html

Change-Id: I9048b2026571694eb39279e3c0fc1d598ee1fd05
2019-01-30 14:32:08 -07:00
Boden R
662512b7cc use payloads for all PORT_DEVICE events
This patch switches the code over to the payload style of callbacks [1]
for PORT_DEVICE events.

[1] https://docs.openstack.org/neutron-lib/latest/contributor/callbacks.html

Change-Id: Ib1bbed24940f71190ac4ab687fa4a9d4dfab6aef
2019-01-30 12:42:29 -07:00
Rodolfo Alonso Hernandez
aa71530aaa Add VLAN and VXLAN link information in get_devices_info
Added VLAN parent device name and index and VXLAN link device
name and index.

Change-Id: Ib44a63c0648a7b5b07b1021b10e8994002031ce8
Related-Bug: #1804274
2019-01-30 18:31:39 +00:00
Boden R
453f39f23d use payloads for PORT BEFORE_DELETE callbacks
This patch switches BEFORE_DELETE callback events for PORT resources
over to the payload style args use a DBEventPayload object.

NeutronLibImpact

Change-Id: I8d8ff8f9ed7e2a1a6a66e3c3e6fc8e38cd9e29ca
2019-01-30 11:30:40 -07:00
Boden R
08bca27b93 remove unused methods in common_db_mixin
The following methods are no longer used in CommonDbMixin:
- register_dict_extend_funcs
- _apply_filters_to_query
- _filter_non_model_columns

This patch removes them from neutron.

NeutronLibImpact

Change-Id: Ic7042cdcb29e95cc3a13292819d77abc3971fe8a
2019-01-30 11:22:43 -07:00
Slawek Kaplonski
c2bcb90895 Switch tempest-slow to be run on python 3
This patch switches tempest-slow to new
tempest-slow-py3 job.

Depends-On: https://review.openstack.org/633983
Change-Id: Ic4162f56294a4b6c9f3773964598e1fa163aad95
2019-01-30 17:01:13 +01:00
Slawek Kaplonski
e22f1eca1e Switch tempest-multinode-full to be run on python 3
This patch switches tempest-multinode-full to new
tempest-multinode-full-py3 job.

Depends-On: https://review.openstack.org/633982
Change-Id: Iaca3b2a58c44af4c7684caeaf241ba05ef67a70a
2019-01-30 16:52:07 +01:00
Doug Wiegley
bd4c291cdf Restore tenant_id check on security group rule adds to previous semantic
We switched from swapping the tenant_id in the context to explicitly
checking the db column. Switch back, and a test that checks for
not breaking this rather odd behavior. At least, until we decide
to fix it as a bug.

Change-Id: I6af4d414b1972e14692a8356ef95db7323e3a09a
2019-01-30 14:34:41 +00:00
Bernard Cafarelli
6124f60297 Switch isolated metadata proxy to bind to 169.254.169.254
Currently the metadata proxy binds to default 0.0.0.0, which does not
add any advantage (metadata requests are not sent to random IP
addresses), and may allow access to cloud information from
third parties.

This changes the generated configuration to bind to METADATA_DEFAULT_IP
address instead.

This is not enabled in other metadata proxy configuration (in the L3
agent), as this would require net.ipv4.ip_nonlocal_bind everywhere
(currently only enabled for DVR) or transparent mode in haproxy (which
requires net.ipv4.ip_nonlocal_bind anyway)

Changed set_ip_nonlocal_bind_for_namespace() to support setting the
value in both the given and root namespace correctly, since it was
only used from inside the neutron codebase according to codesearch.

Change-Id: I388391cf697dade1a163d15ab568b33134f7b2d9
Co-Authored-By: Andrey Arapov <andrey.arapov@nixaid.com>
Closes-Bug: #1745618
2019-01-30 14:17:43 +00:00
LIU Yulong
e108ac6bdf Add port forwarding floating IP QoS
Port forwarding floating IPs QoS should be limited under
the binding QoS policy. So this patch extends the l3-agent
fip-qos agent extension floating IP list with the port
forwarding related IPs.

Change-Id: Iddabfabafc0803edd1e4ac0893dc188f1907234a
Closes-Bug: #1796925
2019-01-30 14:04:00 +00:00
Bernard Cafarelli
9359366d93 Switch default functional tests to python3, add job for python2
As a part of the python 3 community goal, this converts the functional
tests to run with python3 by default, and in Zuul.

As discussed at the Stein PTG in Denver, unit and functional tests will
still run on both versions, so this adds a python2 job for functional
tests.

This patch also suppress logging levels from some external libraries
to avoid issues with subunit.parser and python 3. For details see bug
reported for Cinder [1].

[1] https://bugs.launchpad.net/cinder/+bug/1728640

Co-Authored-By: Slawek Kaplonski <skaplons@redhat.com>

Change-Id: I8958d0b5b9147ffd1ef2d1cef5dcbf79c8be5cd4
2019-01-30 13:31:29 +00:00
Harald Jensås
b0d758e1b4 Fix port update deferred IP allocation with host_id + new MAC
IP allocation was initially deffered due to lack of binding
information. On port update the with both `mac_address` and
`binding_host_id`` in the request 'fixed_ips: []' was
appended to the new_port data. This caused the check for
fixed_ips_requested to return True, which in turn cause
deferred_ip_allocation to evaluates False.

Only set the new_port default fixed_ips to original_ips if
the original port had fixed_ips.

Closes-Bug: #1811905
Change-Id: If98a82f8432b09a29f9d0cc6627e9649b43bc4a1
2019-01-29 22:31:17 +00:00
Doug Wiegley
8914f8247f Update neutron files for new over-indentation hacking rule (E117)
Change-Id: I594e2d1238f6ffa3c1039624e3b3ed6569485837
2019-01-29 15:36:20 -05:00
Zuul
e55918ef9e Merge "Improve port dhcp Provisioning" 2019-01-29 10:57:22 +00:00
Zuul
7c152a80cc Merge "Change DHCP agent to log message after failure" 2019-01-29 09:00:07 +00:00
Zuul
3e0e4a95f0 Merge "Change L3 agent to log message after failure" 2019-01-28 15:03:44 +00:00
Zuul
f12176c97c Merge "remove the neutron.db._model_query module" 2019-01-28 13:38:15 +00:00
Zuul
3b1de171b7 Merge "shim remaining common exceptions" 2019-01-28 12:18:18 +00:00
Zuul
4e2cdb669e Merge "Remove extra spaces in admin config files" 2019-01-28 12:15:21 +00:00
Zuul
ae9bdeac0b Merge "Not set fip to ERROR if it exists on device" 2019-01-28 12:15:18 +00:00
yangjianfeng
99f4495c94 Improve port dhcp Provisioning
Currently, the dhcp Provisioning of ports is the crucial bottleneck
of that concurrently boot multiple VM.

The root cause is that these ports will be processed one by one by dhcp
agent when they belong to the same network, And the 'Provisioning complete'
port is still blocked other port's processing in other dhcp agents. The
patch aim to optimize the dispatch strategy of the port cast to agent to
improve the Provisioning process.

In server side, I classify messages to multi levels. Especially, I classify
the port_update_end or port_create_end message to two levels, the high-level
message only cast to one agent, the low-level message cast to all agent. In
agent side I put these messages to `resource_processing_queue`, with the queue,
We can delete `_net_lock` and process these messages in order of priority.

Additonally, I modified the `resource_processing_queue` for my demand. I update
`_queue` from LIST to PriorityQueue in `ExclusiveResourceProcessor`, by this
way, we can sort all message which cached in `ExclusiveResourceProcessor` by
priority.

Related-Bug: #1760047
Change-Id: I255caa0571c42fb012fe882259ef181070beccef
2019-01-28 07:26:45 +00:00
Zuul
f03797aa3d Merge "Add IPWrapper.get_devices_info using PyRoute2" 2019-01-27 00:33:46 +00:00