]> review.fuel-infra Code Review - openstack-build/neutron-build.git/log
openstack-build/neutron-build.git
9 years agoRemove a few obsolete options from midonet.ini example
YAMAMOTO Takashi [Fri, 7 Aug 2015 05:05:38 +0000 (14:05 +0900)]
Remove a few obsolete options from midonet.ini example

Relevant change:
    https://github.com/openstack/networking-midonet/commit/0ee831b5e816568fdc2079f0ac4ac866eb300ada

Change-Id: Ib437209d026fc83b7885101d3813ffae29f8b240

9 years agoMerge "Validate interface_mappings on Linux bridge init"
Jenkins [Thu, 6 Aug 2015 22:03:15 +0000 (22:03 +0000)]
Merge "Validate interface_mappings on Linux bridge init"

9 years agoMerge "NSX: Rename default_interface_name option"
Jenkins [Thu, 6 Aug 2015 21:22:55 +0000 (21:22 +0000)]
Merge "NSX: Rename default_interface_name option"

9 years agoMerge "Fixing ICMP type and code validation"
Jenkins [Thu, 6 Aug 2015 12:01:33 +0000 (12:01 +0000)]
Merge "Fixing ICMP type and code validation"

9 years agoMerge "DB, IPAM & RPC changes for IPv6 Prefix Delegation"
Jenkins [Thu, 6 Aug 2015 11:55:09 +0000 (11:55 +0000)]
Merge "DB, IPAM & RPC changes for IPv6 Prefix Delegation"

9 years agoMerge "Install arp spoofing protection flow after setting port tag"
Jenkins [Thu, 6 Aug 2015 10:57:32 +0000 (10:57 +0000)]
Merge "Install arp spoofing protection flow after setting port tag"

9 years agoMerge "Fix typos in neutron code"
Jenkins [Thu, 6 Aug 2015 09:29:44 +0000 (09:29 +0000)]
Merge "Fix typos in neutron code"

9 years agoMerge "Move away nested transaction from _ensure_default_security_group"
Jenkins [Thu, 6 Aug 2015 09:29:07 +0000 (09:29 +0000)]
Merge "Move away nested transaction from _ensure_default_security_group"

9 years agoMerge "Initialize ancillary_port_info dict as blank in OVS agent"
Jenkins [Thu, 6 Aug 2015 07:57:19 +0000 (07:57 +0000)]
Merge "Initialize ancillary_port_info dict as blank in OVS agent"

9 years agoMerge "Enable fullstack multinode tests, add L3 HA test exemplar"
Jenkins [Thu, 6 Aug 2015 07:56:37 +0000 (07:56 +0000)]
Merge "Enable fullstack multinode tests, add L3 HA test exemplar"

9 years agoMerge "Python 3: convert dict_keys object to list"
Jenkins [Thu, 6 Aug 2015 07:56:19 +0000 (07:56 +0000)]
Merge "Python 3: convert dict_keys object to list"

9 years agoMerge "Fix ipset can't be destroyed when last rule is deleted"
Jenkins [Thu, 6 Aug 2015 06:44:44 +0000 (06:44 +0000)]
Merge "Fix ipset can't be destroyed when last rule is deleted"

9 years agoMerge "Revert "Remove VPN from API tests""
Jenkins [Thu, 6 Aug 2015 05:57:06 +0000 (05:57 +0000)]
Merge "Revert "Remove VPN from API tests""

9 years agoMerge "Enable VPN plugin for API test"
Jenkins [Thu, 6 Aug 2015 05:56:54 +0000 (05:56 +0000)]
Merge "Enable VPN plugin for API test"

9 years agoMerge "Fix dhcp autoschedule test assertion logic"
Jenkins [Thu, 6 Aug 2015 01:22:52 +0000 (01:22 +0000)]
Merge "Fix dhcp autoschedule test assertion logic"

9 years agoRevert "Remove VPN from API tests"
Doug Wiegley [Wed, 5 Aug 2015 20:05:41 +0000 (20:05 +0000)]
Revert "Remove VPN from API tests"

This reverts commit df35d21141dc4544421ccbff8715ea6da3e03def.

Also tweaks the gate_hook to get vpn installed via devstack plugin.

Change-Id: Id304a7d010c682acd3250928a29efd850b2e69cb

9 years agoEnable VPN plugin for API test
Paul Michali [Wed, 5 Aug 2015 20:51:46 +0000 (16:51 -0400)]
Enable VPN plugin for API test

Since API tests still contain VPN test cases, enable the VPN devstack
plugin, so that the service is enabled.

Change-Id: Icc3c4038a0772a85a2377bc10d50ab84927c4bad

9 years agoValidate interface_mappings on Linux bridge init
Kevin Benton [Thu, 30 Jul 2015 00:28:50 +0000 (17:28 -0700)]
Validate interface_mappings on Linux bridge init

Verify that the interfaces actually exist that are defined in
interface_mappings on Linux bridge startup. If they do not, exit
immediately similar to how OVS handles incorrect bridge_mappings.

This prevents an unfriendly exception in the rpc setup routine.

Change-Id: I050b9b66aa0b27f148e67123eedf29fe332e6f65
Closes-Bug: #1470584

9 years agoInitialize ancillary_port_info dict as blank in OVS agent
Ihar Hrachyshka [Wed, 29 Jul 2015 08:52:59 +0000 (10:52 +0200)]
Initialize ancillary_port_info dict as blank in OVS agent

The first assignment of ancillary_port_info was from the scan_ancillary_ports
function which could result in an exception and result in ancillary_port_info
being unbound for the port stats scan below.

This patch just initializes ancillary_port_info as an empty dict so the port
stats will always have an input.

Closes-Bug: #1479265
Change-Id: I37084bf27d4c328a7b78ca71cf26813207697361

9 years agoEnable fullstack multinode tests, add L3 HA test exemplar
Assaf Muller [Thu, 7 May 2015 06:02:59 +0000 (09:02 +0300)]
Enable fullstack multinode tests, add L3 HA test exemplar

* Created a 'resources' subdir and moved all fixture files
  to it.
* Split ML2ConfigFixture to the server-side ml2 configuration
  fixture, and the OVS agent configuration fixture.
* Neutron process logs were using H:M:S format as their file name,
  but when starting multiple agents of the same type my machine
  was fast enough to do that in the same second so that different
  processes were outputting to the same log file. No good!
  Added ms to the log name format. I also changed the log time
  from UTC to local timezone.
* Renamed and moved 'FullstackFixture' to neutron/tests/fullstack/
  resources/environment.Environment
* Added a 'Host' abstraction that groups agents that report with
  the same 'host' value. Hosts may be interconnected by the
  environment via shared bridges.
* The 'Environment' class will accept global
  attributes (This will be later filled with stuff like tunneling,
  l2pop or other environment-level flags), and in this patch accepts
  a  list of host attributes (Configuration that may differ between
  hosts like the l3 agent mode [legacy, dvr, dvr_snat]).
* Made OVS agent and L3 agent fixtures expose their bridges
  so that I could interconnect them.
* Added a super simple L3 HA test to show that this entire thing
  works.

Change-Id: Ie64de9f35bd6ab7cbad494061613ecf5e0ccd806

9 years agoDB, IPAM & RPC changes for IPv6 Prefix Delegation
John Davidge [Thu, 16 Jul 2015 17:26:24 +0000 (18:26 +0100)]
DB, IPAM & RPC changes for IPv6 Prefix Delegation

This patch includes the DB, IPAM & RPC changes needed for the IPv6 Prefix
Delegation feature.

To enable this feature, the subnetpool_id attribute of subnets has been
modified to allow for a special subnetpool identifier - "prefix_delegation".

WORKFLOW:

1. Admin sets default_ipv6_subnet_pool in neutron.conf to "prefix_delegation"
2. User creates a new IPv6 subnet without a CIDR or subnetpool ID
3. User creates an interface between this subnet and a router with an existing
external interface

The agent-side changes will follow in separate patches.

A documentation patch is up for review here:

https://review.openstack.org/#/c/178739

Video guides for configuring and using this feature are available on
YouTube:

https://www.youtube.com/watch?v=wI830s881HQ
https://www.youtube.com/watch?v=zfsFyS01Fn0

Change-Id: Ic0c6ed4dba74da94a75838178a1837f93d2d0885
Co-Authored-By: Baodong (Robert) Li <baoli@cisco.com>
Partially-Implements: blueprint ipv6-prefix-delegation

9 years agoPython 3: convert dict_keys object to list
Cyril Roelandt [Wed, 5 Aug 2015 09:39:50 +0000 (11:39 +0200)]
Python 3: convert dict_keys object to list

This makes sure we use the same types in Python 2 and 3, prevents TypeErrors
from happening, and should have no performance impact since the the lists are
quite small anyway.

Change-Id: I4e8563231a22a440b4f22b76b17f76f2ba45e606
Blueprint: neutron-python3

9 years agoRemove VPN from API tests
Henry Gessau [Wed, 5 Aug 2015 01:29:46 +0000 (21:29 -0400)]
Remove VPN from API tests

Change Idd5524ed0b602408be5a53830981a8ab974b390c removed the
VPN service from devstack installations in the gate, so now we
can no longer test VPN APIs from neutron. The tests will be
added to the vpnaas repo's API test suite.

Change-Id: I25267bd6713cf38f7134f4f047dc550c6f4a2a78

9 years agoMerge "Python 3: fix test_ovs_tunnel"
Jenkins [Tue, 4 Aug 2015 16:52:00 +0000 (16:52 +0000)]
Merge "Python 3: fix test_ovs_tunnel"

9 years agoMerge "_get_dvr_sync_data: Return a list, rather than dict_values for python3"
Jenkins [Tue, 4 Aug 2015 16:41:37 +0000 (16:41 +0000)]
Merge "_get_dvr_sync_data: Return a list, rather than dict_values for python3"

9 years agoFix typos in neutron code
Edgar Magana [Tue, 4 Aug 2015 15:03:20 +0000 (08:03 -0700)]
Fix typos in neutron code

Fix typos found in neutron code and docs

Change-Id: I4afc3a4b36dd47d47d1238ac22e7f09e2d75050d
Related-Bug: #1424139

9 years agoMerge "Update port bindings for master router"
Jenkins [Tue, 4 Aug 2015 14:08:03 +0000 (14:08 +0000)]
Merge "Update port bindings for master router"

9 years agoMerge "Check that VXLAN is not in use in LB VXLAN check"
Jenkins [Tue, 4 Aug 2015 12:28:47 +0000 (12:28 +0000)]
Merge "Check that VXLAN is not in use in LB VXLAN check"

9 years agoPython 3: fix test_ovs_tunnel
Cyril Roelandt [Tue, 4 Aug 2015 12:27:48 +0000 (14:27 +0200)]
Python 3: fix test_ovs_tunnel

In Python 3, this happens:

>>> d = {}
>>> a = d.values()
>>> b = d.values()
>>> a == b
False

And anyway we're not really willing to pass dict_values objects around; we are
expecting lists, just like in Python 2, so let's just do the conversion.

Change-Id: I62ef32d50ba5ce64a653ffc62ba18c53cab9b15c
Blueprint: neutron-python3

9 years agoMerge "Python 3: Fix test_security_groups_db"
Jenkins [Tue, 4 Aug 2015 11:26:42 +0000 (11:26 +0000)]
Merge "Python 3: Fix test_security_groups_db"

9 years ago_get_dvr_sync_data: Return a list, rather than dict_values for python3
YAMAMOTO Takashi [Tue, 4 Aug 2015 09:47:51 +0000 (18:47 +0900)]
_get_dvr_sync_data: Return a list, rather than dict_values for python3

Align with the non-dvr case.

Blueprint: neutron-python3
Change-Id: I37d24875be530f200118374e9f8046f32a902c8e

9 years agoFixing ICMP type and code validation
Roey Chen [Fri, 24 Jul 2015 18:17:19 +0000 (11:17 -0700)]
Fixing ICMP type and code validation

The case where type is not specifed (None) but the code is '0' will not
result in an error, as it should.

APIImpact

Closes-Bug: #1480966
Change-Id: I878b13ec46a93947765227c40282efa9a7e02ca8

9 years agoMerge "Add DNS and DHCP log into dhcp agent"
Jenkins [Tue, 4 Aug 2015 04:08:09 +0000 (04:08 +0000)]
Merge "Add DNS and DHCP log into dhcp agent"

9 years agoMerge "Prevent update alloc pool over existing gateway ip"
Jenkins [Tue, 4 Aug 2015 00:44:18 +0000 (00:44 +0000)]
Merge "Prevent update alloc pool over existing gateway ip"

9 years agoMerge "Fix a microsecond format of isoformat()"
Jenkins [Mon, 3 Aug 2015 20:57:02 +0000 (20:57 +0000)]
Merge "Fix a microsecond format of isoformat()"

9 years agoMerge "List up necessary files for thirdparty-ci.rst"
Jenkins [Mon, 3 Aug 2015 20:56:50 +0000 (20:56 +0000)]
Merge "List up necessary files for thirdparty-ci.rst"

9 years agoMerge "Extend vxlan_group option to allow a range of group addresses"
Jenkins [Mon, 3 Aug 2015 20:37:01 +0000 (20:37 +0000)]
Merge "Extend vxlan_group option to allow a range of group addresses"

9 years agoMerge "Updated sub_projects.rst for networking-vsphere"
Jenkins [Mon, 3 Aug 2015 19:09:36 +0000 (19:09 +0000)]
Merge "Updated sub_projects.rst for networking-vsphere"

9 years agoMerge "Replaces reduce with six.moves.reduce for py 2/3 compatibility"
Jenkins [Mon, 3 Aug 2015 18:29:54 +0000 (18:29 +0000)]
Merge "Replaces reduce with six.moves.reduce for py 2/3 compatibility"

9 years agoMerge "Adding a cleanup for 'qlbaas-' namespaces in netns_cleanup"
Jenkins [Mon, 3 Aug 2015 18:29:41 +0000 (18:29 +0000)]
Merge "Adding a cleanup for 'qlbaas-' namespaces in netns_cleanup"

9 years agoMerge "Update dhcp host portbinding on failover"
Jenkins [Mon, 3 Aug 2015 15:27:13 +0000 (15:27 +0000)]
Merge "Update dhcp host portbinding on failover"

9 years agoReplaces reduce with six.moves.reduce for py 2/3 compatibility
sonu.kumar [Mon, 3 Aug 2015 11:45:52 +0000 (17:15 +0530)]
Replaces reduce with six.moves.reduce for py 2/3 compatibility

This patch replaces "reduce" with "six.moves.reduce" to comply with
the newer python version i.e. python3.

Partially-Implements: Blueprint neutron-python3

Change-Id: Iddb52d86665123ade5920bc09f7802e29440e7dd

9 years agoPython 3: Fix test_security_groups_db
Cyril Roelandt [Mon, 3 Aug 2015 09:56:41 +0000 (11:56 +0200)]
Python 3: Fix test_security_groups_db

In Python 3, Exception() is not iterable.

Change-Id: I89ffefeebb18f967129245936270318014f17f3f
Blueprint: neutron-python3

9 years agoAdd DNS and DHCP log into dhcp agent
changzhi [Fri, 17 Jul 2015 02:43:09 +0000 (10:43 +0800)]
Add DNS and DHCP log into dhcp agent

Enable set DNS and DHCP log of dnsmasq for dhcp agent
Add a new configuration named 'dnsmasq_base_log_dir'
in dhcp_agent.ini.

This entry should be a path of log file. It should
like this:

    dnsmasq_base_log_dir=/tmp

And the DNS and DHCP log will be written into the file
"/tmp/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/dhcp_dns_log".
The dir path will be created if the given path doesn't exists.

DocImpact

Closes-Bug: #1475636
Change-Id: I87be346ec5059eaa8a29f48fe53933af82d1b155

9 years agoInstall arp spoofing protection flow after setting port tag
shihanzhang [Wed, 8 Jul 2015 01:32:39 +0000 (09:32 +0800)]
Install arp spoofing protection flow after setting port tag

when ovs-agent set a tag for a port, it will first remove all
flows on this port, because it should guarantee that no drop_port
flow installed by port_dead remains, so arp spoofing protection
flow must be installed after it.

Closes-Bug: #1472452

Change-Id: I566d0fd93b39e81a34214f1a7a0a1decc9a169d6

9 years agoMove 1c844d1677f7 expand migration to appropriate branch
Salvatore Orlando [Mon, 3 Aug 2015 06:36:54 +0000 (23:36 -0700)]
Move 1c844d1677f7 expand migration to appropriate branch

Commit cb60d0bb4e0cc0cba68f59fdf5f4e89d6ec52950 added an expand
migration. Howewer it indicated a contract migration as its
ancestor (2a16083502f3). As a result the migration was treated
by alembic as a contract one, even if it was defined in the
'expand' directory.

This patch 'rebases' this migration on top of the expand branch
HEAD. This might impact trunk chasers which have already executed
migration 1c844d1677f7 as a part of the contract branch.

Change-Id: I431aa684ccd029c6cff37a7666bb7ce1a7541f9c

9 years agoFix ipset can't be destroyed when last rule is deleted
shihanzhang [Mon, 1 Jun 2015 08:17:37 +0000 (16:17 +0800)]
Fix ipset can't be destroyed when last rule is deleted

when it deletes a security group all rules, it should
include this sg information in RPC method
'security_group_info_for_devices', otherwise the ports
in this sg can't corrcectly update their iptables and
ipset sets.

Change-Id: Ibb071ce84590bd46cda2c1e010a566e75e22b4d2
Closes-bug: #1460562

9 years agoMerge "Remove unnecessary executable permission"
Jenkins [Mon, 3 Aug 2015 04:52:42 +0000 (04:52 +0000)]
Merge "Remove unnecessary executable permission"

9 years agoMove away nested transaction from _ensure_default_security_group
Roey Chen [Wed, 29 Jul 2015 11:45:29 +0000 (04:45 -0700)]
Move away nested transaction from _ensure_default_security_group

This patch remove the nested transaction started in
_ensure_default_security_group, before calling create_security_group.
Instead, a nested transaction will be started inside
create_security_group.

The purpose of this change is to reduce the time period in which the db
transaction is open (to avoid races, db lock timeouts, etc), when creating
the default security-group.

Closes-Bug: #1479558
Change-Id: Ia0efa72c70c2f405c851370b0b26770008e5ff95

9 years agoMerge "Introduce get_ports_attributes in OVSBridge"
Jenkins [Sun, 2 Aug 2015 12:42:10 +0000 (12:42 +0000)]
Merge "Introduce get_ports_attributes in OVSBridge"

9 years agoIntroduce get_ports_attributes in OVSBridge
rossella [Thu, 9 Jul 2015 22:08:50 +0000 (22:08 +0000)]
Introduce get_ports_attributes in OVSBridge

OVSBridge was inheriting db_list from BaseOVS, which was
returning the information of all the ports on the machine,
not only the ones belonging to the bridge.
The OVSNeutronAgent was using that method with the assumption
that ports were filtered by bridge.
To avoid confusion, this patch add a new method to OVSBridge
get_ports_attributes to query the info for all the ports
belonging to the bridge.
db_list is removed from BaseOVS since that method is already
available in ovsdb/api.py
ovs_lib methods that use db_list are refactored accordingly.

Co-Authored-By: Assaf Muller <amuller@redhat.com>
Change-Id: I2ce6d232744f48ba7fc0f824a7db32e3655bc2aa
Closes-Bug: 1473199

9 years agoMerge "Remove unneeded OS_TEST_DBAPI_ADMIN_CONNECTION"
Jenkins [Sun, 2 Aug 2015 03:20:12 +0000 (03:20 +0000)]
Merge "Remove unneeded OS_TEST_DBAPI_ADMIN_CONNECTION"

9 years agoMerge "Fixes a typo phys_brs in place of phys_br"
Jenkins [Sat, 1 Aug 2015 11:01:37 +0000 (11:01 +0000)]
Merge "Fixes a typo phys_brs in place of phys_br"

9 years agoRemove unnecessary executable permission
Qiaowei Ren [Thu, 16 Jul 2015 07:09:28 +0000 (15:09 +0800)]
Remove unnecessary executable permission

Bunch of neutron source code files are marked as executable which is not
appropriate, this patch just 'chmod -x' to all of them.

Closes-Bug: #1468564

Change-Id: Idec4ae16501d68e044e103db24ad3be0e0751e9a

9 years agoMerge "Enable resource usage tracking for reference plugins."
Jenkins [Sat, 1 Aug 2015 03:35:43 +0000 (03:35 +0000)]
Merge "Enable resource usage tracking for reference plugins."

9 years agoMerge "Arista Drivers decomposition part II"
Jenkins [Sat, 1 Aug 2015 00:48:44 +0000 (00:48 +0000)]
Merge "Arista Drivers decomposition part II"

9 years agoMerge "Python 3: pass bytes to base64.encode{string,bytes}"
Jenkins [Fri, 31 Jul 2015 22:29:00 +0000 (22:29 +0000)]
Merge "Python 3: pass bytes to base64.encode{string,bytes}"

9 years agoMerge "Python3: pass bytes to binascii.crc32"
Jenkins [Fri, 31 Jul 2015 22:28:38 +0000 (22:28 +0000)]
Merge "Python3: pass bytes to binascii.crc32"

9 years agoMerge "Fix order of calls in update_port"
Jenkins [Fri, 31 Jul 2015 22:23:05 +0000 (22:23 +0000)]
Merge "Fix order of calls in update_port"

9 years agoMerge "Python 3: Use '//' instead of '/'"
Jenkins [Fri, 31 Jul 2015 22:16:49 +0000 (22:16 +0000)]
Merge "Python 3: Use '//' instead of '/'"

9 years agoNSX: Rename default_interface_name option
Abhishek Raut [Fri, 31 Jul 2015 22:07:59 +0000 (15:07 -0700)]
NSX: Rename default_interface_name option

Since this option is configured in the DEFAULT section of nsx.ini,
the name of the option clashes with that in the networking_l2gw repo.
Proposal is to prefix our option with "nsx_" to avoid such interference.
Unfortunately this module was not moved to openstack/vmware-nsx
during decomposition and therefore this patch is being proposed on
the neutron repository.

Change-Id: Ib568333a5ab8ad76600beb4981d7c6047c0603a0
Partial-bug: #1480485

9 years agoArista Drivers decomposition part II
Sukhdev Kapur [Thu, 30 Jul 2015 22:23:52 +0000 (15:23 -0700)]
Arista Drivers decomposition part II

As a part of vendor driver decomposition,
this patch moves the remaining Arista specific
code to openstack/networking-arista

Change-Id: Ie16b5ed936b116043dea36ec967bb5ae9cdacbdf
Partial-Implements: blueprint core-vendor-decomposition

9 years agoMerge "Initialize port_info dict as blank in OVS agent"
Jenkins [Fri, 31 Jul 2015 18:11:42 +0000 (18:11 +0000)]
Merge "Initialize port_info dict as blank in OVS agent"

9 years agoMerge "Ensure non-overlapping cidrs in subnetpools with galera"
Jenkins [Fri, 31 Jul 2015 16:20:31 +0000 (16:20 +0000)]
Merge "Ensure non-overlapping cidrs in subnetpools with galera"

9 years agoMerge "sriov: implement spoofchecking configuration"
Jenkins [Fri, 31 Jul 2015 16:09:04 +0000 (16:09 +0000)]
Merge "sriov: implement spoofchecking configuration"

9 years agoPython 3: pass bytes to base64.encode{string,bytes}
Cyril Roelandt [Tue, 28 Jul 2015 14:43:00 +0000 (16:43 +0200)]
Python 3: pass bytes to base64.encode{string,bytes}

In Python 3, base64.encodestring expects bytes. Also, base64.encodebytes should
be used in order not to trigger a DeprecationWarning.

Change-Id: Iaae377b612feda7e01963f0d527c898bc0fd21d1
Blueprint: neutron-python3

9 years agoPython3: pass bytes to binascii.crc32
Cyril Roelandt [Thu, 23 Jul 2015 09:23:21 +0000 (09:23 +0000)]
Python3: pass bytes to binascii.crc32

In Python3, binascii.crc32 must be given bytes. This commit does not change the
behaviour in Python 2.

Change-Id: I91607ced4ab26d1d2e3eb31a3e4b2a4b2131b7bd
Blueprint: neutron-python3

9 years agoFix order of calls in update_port
Sam Betts [Thu, 16 Jul 2015 13:08:59 +0000 (14:08 +0100)]
Fix order of calls in update_port

https://review.openstack.org/#/c/196908 introduced some extra logic to
do with DVR to update_port, however it changed the ordering of some of
the calls, this patch ensures that the calls that need to happen before
precommit happen in the right place.

Change-Id: I560100b3be76c616a93bf7d3264675dce6cef732
Closes-Bug: #1475297

9 years agoMerge "Moved out cisco n1kv mech driver and db models"
Jenkins [Fri, 31 Jul 2015 13:13:32 +0000 (13:13 +0000)]
Merge "Moved out cisco n1kv mech driver and db models"

9 years agoCheck that VXLAN is not in use in LB VXLAN check
Kevin Benton [Wed, 29 Jul 2015 23:32:43 +0000 (16:32 -0700)]
Check that VXLAN is not in use in LB VXLAN check

The Linux bridge VXLAN supported check was only checking that the
test interface didn't exist instead of checking that both the interface
and the VXLAN didn't exist. This caused it to fail on startup if
a VXLAN interface existed under a different name using one of the
VXLANs that the agent tried to test support with.

This patch adds a check to ensure that the VXLAN ID isn't in use as well.

Closes-Bug: #1470579
Change-Id: I3a91ce54da86e319b7a4485dfae3fc99885383d4

9 years agoInitialize port_info dict as blank in OVS agent
Kevin Benton [Tue, 28 Jul 2015 23:15:34 +0000 (16:15 -0700)]
Initialize port_info dict as blank in OVS agent

The first assignment of port_info was from the scan_ports function
which could result in an exception and result in port_info being
unbound for the port stats scan below.

This patch just initializes port_info as an empty dict so the port
stats will always have an input.

Closes-Bug: #1479105
Change-Id: I017a6dd334e2673072c977cc13b73e8cceb16712

9 years agoEnsure non-overlapping cidrs in subnetpools with galera
Cedric Brandily [Thu, 28 May 2015 16:35:17 +0000 (18:35 +0200)]
Ensure non-overlapping cidrs in subnetpools with galera

This change enables galera support in _lock_subnetpool[1]. It uses an
update to disallow 2 transactions performing concurrent subnet
allocation in the same subnetpool to succeed: the 2 transactions will
conflict because they update the same row so the db (including Galera
multi-writer cluster) will discard the last transaction and
Controller.create[2] will catch and retry the "discarded" allocation.

This change adds the "hash" attribute in "subnetpools" table to enable
previous update.

[1] neutron.ipam.subnet_alloc.SubnetAllocator
[2] neutron.api.v2.base

Change-Id: I74f7100a6fd9b7787be693adffec15ec468d0018
Closes-Bug: #1451576

9 years agoMerge "test_db_base_plugin_v2: Improve DBReferenceError generation"
Jenkins [Fri, 31 Jul 2015 09:15:19 +0000 (09:15 +0000)]
Merge "test_db_base_plugin_v2: Improve DBReferenceError generation"

9 years agoMerge "SR-IOV: Fix SR-IOV agent to run ip link commands as root"
Jenkins [Fri, 31 Jul 2015 09:14:36 +0000 (09:14 +0000)]
Merge "SR-IOV: Fix SR-IOV agent to run ip link commands as root"

9 years agoMerge "Updated from global requirements"
Jenkins [Fri, 31 Jul 2015 09:04:50 +0000 (09:04 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "Update dhcp agent cache for network:dhcp ports"
Jenkins [Fri, 31 Jul 2015 07:47:07 +0000 (07:47 +0000)]
Merge "Update dhcp agent cache for network:dhcp ports"

9 years agoMerge "Add plural names for quota resources"
Jenkins [Fri, 31 Jul 2015 06:58:24 +0000 (06:58 +0000)]
Merge "Add plural names for quota resources"

9 years agoMerge "Introduce usage data tracking for Neutron"
Jenkins [Fri, 31 Jul 2015 06:57:44 +0000 (06:57 +0000)]
Merge "Introduce usage data tracking for Neutron"

9 years agoMerge "Keep dns nameserver order consistency"
Jenkins [Fri, 31 Jul 2015 04:43:24 +0000 (04:43 +0000)]
Merge "Keep dns nameserver order consistency"

9 years agoMerge "Python 3: fix test_attributes"
Jenkins [Thu, 30 Jul 2015 15:30:01 +0000 (15:30 +0000)]
Merge "Python 3: fix test_attributes"

9 years agoSR-IOV: Fix SR-IOV agent to run ip link commands as root
Moshe Levi [Thu, 30 Jul 2015 09:04:15 +0000 (12:04 +0300)]
SR-IOV: Fix SR-IOV agent to run ip link commands as root

Commit https://review.openstack.org/#/c/155523/
remove the remaining root_helper args, but didn't
update the SR-IOV agent to execute them as root.

This patch updates the agent to execute ip link commands
as root and pass options argument as a list in the
self._as_root method.

Closes-Bug: #1479694
Change-Id: I53cafd61845a69fae3a759fb7526950d655ffa20

9 years agoPython 3: Use '//' instead of '/'
fumihiko kakuma [Wed, 29 Jul 2015 23:17:10 +0000 (08:17 +0900)]
Python 3: Use '//' instead of '/'

In python 3, division(/) returns a float.
So use '//' instead of '/' in the case that an integer is required.

Change-Id: I9170ea57d5b967533767871fa612a02d797cda17
Blueprint: neutron-python3

9 years agoPrevent update alloc pool over existing gateway ip
John Kasperski [Thu, 30 Jul 2015 04:52:01 +0000 (23:52 -0500)]
Prevent update alloc pool over existing gateway ip

The gateway IP for a subnet is not allowed to be listed in the
allocation pool for that subnet. This restriction is checked and
enforced at subnet-create time.

During subnet-update, it is only partially checked. An
exception is returned if the update request tries to place the gateway
IP in an existing allocation pool OR if both gateway and allocation
pool are being changed and the gateway is located in the new pool.

If only the allocation pool is being updated, no check is made to
verify that the new allocation pool does not contain the existing
gateway IP.

Closes-Bug: #1479514
Change-Id: Id9583d6ad88188955388931cd688ca19bd2c9717

9 years agoMoved out cisco n1kv mech driver and db models
Saksham Varma [Fri, 24 Jul 2015 05:46:23 +0000 (22:46 -0700)]
Moved out cisco n1kv mech driver and db models

Moving out Cisco N1Kv database models and the mech driver
to the openstack/networking-cisco repo as part of the second
phase vendor-core decomposition

Partial-Bug: #1479123
Partial-implements: blueprint core-vendor-decomposition

Change-Id: I65a704b238d8cbe2951a6912fa4f1e8518c6f412

9 years agoMerge "Create packages for quota modules"
Jenkins [Wed, 29 Jul 2015 22:21:29 +0000 (22:21 +0000)]
Merge "Create packages for quota modules"

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Wed, 29 Jul 2015 20:44:01 +0000 (20:44 +0000)]
Updated from global requirements

Change-Id: I3a884a73d51df0f93b5cc88b3e3250d81bb1f455

9 years agoMerge "Moving out cisco n1kv extensions"
Jenkins [Wed, 29 Jul 2015 17:44:42 +0000 (17:44 +0000)]
Merge "Moving out cisco n1kv extensions"

9 years agosriov: implement spoofchecking configuration
Roman Bogorodskiy [Thu, 16 Apr 2015 07:07:55 +0000 (09:07 +0200)]
sriov: implement spoofchecking configuration

- Make sriov agent to set the spoofchecking on VFs
  according to port_security_enabled attribute of the port.
- Extend vf management sanity check to probe spoof checking
  capability

Implements: blueprint sriov-spoofchk
Change-Id: I4d1060be26ee6cbd7d766c2bde364f694533de69

9 years agoMerge "Correct fcntl.flock use in Pidfile.unlock"
Jenkins [Wed, 29 Jul 2015 17:38:02 +0000 (17:38 +0000)]
Merge "Correct fcntl.flock use in Pidfile.unlock"

9 years agoFixes a typo phys_brs in place of phys_br
Ritesh Anand [Thu, 25 Jun 2015 19:25:12 +0000 (12:25 -0700)]
Fixes a typo phys_brs in place of phys_br

Change-Id: I0301952d5f7d4cd78c5d35c38aa5c6caabcc6298
Closes-Bug: #1423774

9 years agoUpdate dhcp agent cache for network:dhcp ports
sridhargaddam [Mon, 27 Jul 2015 03:46:48 +0000 (03:46 +0000)]
Update dhcp agent cache for network:dhcp ports

When a network with a dhcp_enabled subnet is scheduled on a dhcp
agent, dhcp driver creates the network:dhcp port for the subnet.
However, the port info is not updated in dhcp agents internal cache.
Subsequently if the user deletes the network:dhcp port, the port is
properly deleted on the server side (i.e., in the database) and when
the port_delete_end notification is sent to the dhcp agent, it simply
ignores it as the port entry would be missing in the cache. This patch
fixes this issue by updating the dhcp agents cache when dhcp driver
creates the network:dhcp port for the subnets.

Closes-Bug: #1478426
Change-Id: I69f5834dd964a4320c606c4e0aa2cdba70416943

9 years agoMerge "Allow overriding of the neutron endpoint URL in metadata agent"
Jenkins [Wed, 29 Jul 2015 14:16:00 +0000 (14:16 +0000)]
Merge "Allow overriding of the neutron endpoint URL in metadata agent"

9 years agoKeep dns nameserver order consistency
changzhi [Thu, 16 Jul 2015 02:14:16 +0000 (10:14 +0800)]
Keep dns nameserver order consistency

Currently, there is no dns servers prioritization for subnets
for Neutron.

Generally speaking, it is useful to keep the order of dns
nameservers consistent. Add a new column named 'order' in table
'dnsnameservers' and add nameserver into DB one by one.

Closes-Bug: #1218629
Implements: blueprint keep-dns-nameserver-orderconsistency
Change-Id: Id937aea411397d39370368a4eb45be26c4eefa9e

9 years agoExtend vxlan_group option to allow a range of group addresses
John Nielsen [Wed, 22 Jul 2015 18:43:04 +0000 (12:43 -0600)]
Extend vxlan_group option to allow a range of group addresses

If vxlan_group is specified in CIDR notation, it is interpreted as a
range of group addresses. VXLAN VNIs are mapped to group addresses in
a many-to-one round robin fashion, or one-to-one if a large enough
range is provided. Since VNIs are 24 bits, a /8 such as 239.0.0.0/8
allows each VNI to use a unique multicast group. (239.0.0.0/8 also
happens to be the "site-local" multicast range.)

With multiple VNIs on a single multicast group, it is likely that
VTEPs will unnecessarily receive broadcast/unknown/multicast
datagrams for VNIs in which they do not participate. Using a range of
groups mitigates or eliminates this issue. It is thus an alternative
to the l2_population extension and driver for environments where both
multicast and linuxbridge are used.

The default setting is unchanged, but the comments in the ini file
suggest 239.0.0.0/8 as an alternative. Administrators are free to use
any valid multicast range that can be expressed in CIDR notation, and
should choose a size and starting address that make sense for their
environment.

DocImpact
Closes-Bug: #1477331
Change-Id: If9a3487a28ba2b02a6ef934c5421cec5d505b53c

9 years agoMerge "Updated from global requirements"
Jenkins [Tue, 28 Jul 2015 23:39:34 +0000 (23:39 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "[neutron-db-manage] revision: properly bootstrap a new branch"
Jenkins [Tue, 28 Jul 2015 19:18:44 +0000 (19:18 +0000)]
Merge "[neutron-db-manage] revision: properly bootstrap a new branch"

9 years agoEnable resource usage tracking for reference plugins.
Salvatore Orlando [Thu, 4 Jun 2015 22:43:35 +0000 (15:43 -0700)]
Enable resource usage tracking for reference plugins.

Specify which resources should be tracked when initializing
the ML2 and l3_router plugins. This will enable usage tracking
for the following resources:
- Networks
- Ports
- Subnets
- Subnet pools
- Security groups
- Security group rules
- Routers
- Floating IPs

Partially implements blueprint: bp/better-quotas

Change-Id: I57287b15ffdadc30297651a01e9f05110e9ce6b6

9 years agoAdd plural names for quota resources
Salvatore Orlando [Tue, 23 Jun 2015 11:54:28 +0000 (04:54 -0700)]
Add plural names for quota resources

Introduce a 'plural_name' attribute in the BaseResource
class in the neutron.quota.resource module. This will
enable to specify the plural name of a resource when it's
entered in the quota registry.

This will come handy for managing reservations and also
removes the need for passing the collection name when
counting a resource.

Also, the name of the 'resources' parameter for the
_count_resource routine has ben changed to collection_name,
as the previous one was misleading, since it led to believe
it should be used for a collection, whereas it is simply
the name of a collection.

Change-Id: I0b61ba1856e9552cc14574be28fec6c77fb8783c
Related-Blueprint: better-quotas

9 years agoIntroduce usage data tracking for Neutron
Salvatore Orlando [Thu, 16 Apr 2015 18:56:27 +0000 (11:56 -0700)]
Introduce usage data tracking for Neutron

This patch introduces application logic support for tracking
Neutron resource usage data, thus introducing a different
way of enforcing quota limits, which now relies on records
tracking resource usage for each tenant.

When these records go "out-of-sync" with actual resource usage,
the quota usage table entry is marked "dirty".
And it will be resynchronized the next time a resource count is
requested. Changes in resource utilization are detected using
SQLAlchemy events.

This patch however does not automatically enable resource usage
tracking for any plugin. Plugins must explicitly declare for which
resources they wish to enable tracking. To this aim, this patch
provides the @tracked_resources decorator.

As some operators might wish to not use resource usage tracking, this
patch adds the track_quota_usage configuration option. If set to
False, DB-level usage tracking will not be performed, and
resources will be counted as before, ie: invoking a plugin method.

Usage tracking is performed using a new resource type,
TrackedResource, which can work side by side with CountableResource,
the one Neutron used so far. To this aim a ResourceRegistry class
has been introduced for registering and managing resources. Most
of the resource management code previously embedded in the
QuotaEngine class is being moved to ResourceRegistry as a part of
this patch.

Partially implements blueprint better-quota

Change-Id: If461399900973a38d7b82e0b3ac54fc052f09529

9 years agoCreate packages for quota modules
Salvatore Orlando [Tue, 2 Jun 2015 23:13:35 +0000 (16:13 -0700)]
Create packages for quota modules

This patch simply renames quota modules introducing two
new packages:
1) neutron.quota
2) neutron.db.quota

This paves the way for adding more quota related modules.
Unit tests paths are changed accordingly, as well as references
to moved modules.
This patch hovewer preserves the ability of importing
neutron.db.quota_db in order to avoid breaking repositories which
use neutron as a requirement.

Change-Id: I946e87f1b2ebb3e80d64aecfe58aeff9f81896f3
Related-blueprint: better-quotas