]> review.fuel-infra Code Review - openstack-build/neutron-build.git/log
openstack-build/neutron-build.git
9 years agoFix callback registry notification for security group rule
Oleg Bondarev [Tue, 2 Jun 2015 13:14:40 +0000 (16:14 +0300)]
Fix callback registry notification for security group rule

Some housekeeping was done in
 - SecurityGroupDbMixin:
   - create_rule_bulk() calls to create_rule();
   - registry notification is in create_rule();
   - separate validation for a single rule and for a group of rules
 - SecurityGroupServerRpcMixin:
   - overriden methods call to corresponding super class methods;

Hopefully code is now self-documented enough

Closes-Bug: #1461024
Change-Id: Ia75d7e206716bbe74aae89e4cebd0c2c40af68a8

9 years agoMerge "Fixes bulk insertion of data to ml2_port_binding"
Jenkins [Mon, 22 Jun 2015 08:31:08 +0000 (08:31 +0000)]
Merge "Fixes bulk insertion of data to ml2_port_binding"

9 years agoMerge "Disable keepalived process in keepalived func test"
Jenkins [Mon, 22 Jun 2015 08:18:41 +0000 (08:18 +0000)]
Merge "Disable keepalived process in keepalived func test"

9 years agoMerge "NSX QoS ext: RXTX factor can be decimal"
Jenkins [Mon, 22 Jun 2015 07:59:57 +0000 (07:59 +0000)]
Merge "NSX QoS ext: RXTX factor can be decimal"

9 years agoMerge "read_hosts_file_leases shouldn't parse stateless IPv6"
Jenkins [Mon, 22 Jun 2015 06:33:28 +0000 (06:33 +0000)]
Merge "read_hosts_file_leases shouldn't parse stateless IPv6"

9 years agoMerge "Allow setting Agents description to None"
Jenkins [Sun, 21 Jun 2015 21:30:07 +0000 (21:30 +0000)]
Merge "Allow setting Agents description to None"

9 years agoMerge "Fix RPC version to be a string"
Jenkins [Sun, 21 Jun 2015 13:53:48 +0000 (13:53 +0000)]
Merge "Fix RPC version to be a string"

9 years agoMerge "Decompose DVR CSNAT L3 Agent from Compute Node L3 Agent"
Jenkins [Sun, 21 Jun 2015 13:49:18 +0000 (13:49 +0000)]
Merge "Decompose DVR CSNAT L3 Agent from Compute Node L3 Agent"

9 years agoMerge "cleanup openstack-common.conf and sync updated files"
Jenkins [Sun, 21 Jun 2015 11:37:10 +0000 (11:37 +0000)]
Merge "cleanup openstack-common.conf and sync updated files"

9 years agoAllow setting Agents description to None
Henry Gessau [Sun, 21 Jun 2015 05:30:05 +0000 (01:30 -0400)]
Allow setting Agents description to None

Fix the validator for the 'description' attribute of Agents, allowing
it to be set to None.

Fix an API test that had two problems:
 1. It was not restoring the description to the agent it had updated
 2. It was retoring the description to '' instead of None.

Closes-Bug: #1466642

Change-Id: I50723e1346be0953d26216ba24907bac008ccfb6

9 years agoFix RPC version to be a string
Darragh O'Reilly [Sat, 20 Jun 2015 11:55:27 +0000 (11:55 +0000)]
Fix RPC version to be a string

The RPC version was being passed as a float which caused an
exception.

Change-Id: I2a2888fcafcc426009fc841b81049a22e072ce75
Closes-Bug: #1467087

9 years agoMerge "Change ensure_dir to not check directory exists first"
Jenkins [Fri, 19 Jun 2015 23:52:34 +0000 (23:52 +0000)]
Merge "Change ensure_dir to not check directory exists first"

9 years agoMerge "Add request factory for pluggable IPAM"
Jenkins [Fri, 19 Jun 2015 23:03:43 +0000 (23:03 +0000)]
Merge "Add request factory for pluggable IPAM"

9 years agoMerge "Move _add_auto_addrs_on_network_ports"
Jenkins [Fri, 19 Jun 2015 22:42:47 +0000 (22:42 +0000)]
Merge "Move _add_auto_addrs_on_network_ports"

9 years agoDecompose DVR CSNAT L3 Agent from Compute Node L3 Agent
Gal Sagie [Mon, 25 May 2015 12:20:05 +0000 (15:20 +0300)]
Decompose DVR CSNAT L3 Agent from Compute Node L3 Agent

Currently the same dvr router class is used both by the L3 Agent
in the compute nodes that is responsible for the virtual routers
namespace and the fip namespace and also used by the centralized
SNAT L3 Agent in the network node.
This is the first step to decompose the two into different
classes.

The above means that we have one class of DVR router which is used
for two jobs (the virtual router namespace wiring and the fips wiring
in the compute node in one hand and the centralized snat wiring in the other)
The end goal of this patch is to separate the two into different classes
which will also help maintaining it and also help projects that want
to use one but not the other (for example only use the centralized
SNAT behaviour with there own DVR implementation)

Change-Id: I581a097b9e7c49f20d0eb0e4ca66a25e90d9511b
Partial-Bug: #1458541
Partially-Implements: blueprint dvr-router-code-decompose

9 years agocleanup openstack-common.conf and sync updated files
Davanum Srinivas [Sun, 7 Jun 2015 14:10:18 +0000 (10:10 -0400)]
cleanup openstack-common.conf and sync updated files

Periodic update of latest files from oslo-incubator

Change-Id: Ie7eb02e4e9277c18abfb438b6cf710e0aa426b15

9 years agoMerge "Python3: use dict.keys() instead of dict.iterkeys()"
Jenkins [Fri, 19 Jun 2015 19:10:34 +0000 (19:10 +0000)]
Merge "Python3: use dict.keys() instead of dict.iterkeys()"

9 years agoMerge "Python3: do not use '+' on dict_items objects"
Jenkins [Fri, 19 Jun 2015 15:47:15 +0000 (15:47 +0000)]
Merge "Python3: do not use '+' on dict_items objects"

9 years agoMerge "fix DHCP port changed when dhcp-agent restart"
Jenkins [Fri, 19 Jun 2015 15:29:10 +0000 (15:29 +0000)]
Merge "fix DHCP port changed when dhcp-agent restart"

9 years agoMerge "Fix cisco_csr_identifier_map.ipsec_site_conn_id"
Jenkins [Fri, 19 Jun 2015 15:28:56 +0000 (15:28 +0000)]
Merge "Fix cisco_csr_identifier_map.ipsec_site_conn_id"

9 years agoMerge "Fix 'router_gateway' port status can't be updated"
Jenkins [Fri, 19 Jun 2015 15:23:18 +0000 (15:23 +0000)]
Merge "Fix 'router_gateway' port status can't be updated"

9 years agoMerge "Python3: do not use im_self/im_func/func_closure"
Jenkins [Fri, 19 Jun 2015 15:13:55 +0000 (15:13 +0000)]
Merge "Python3: do not use im_self/im_func/func_closure"

9 years agoMerge "DHCP agent: Set an "ipxe" tag to work with Ironic"
Jenkins [Fri, 19 Jun 2015 15:10:20 +0000 (15:10 +0000)]
Merge "DHCP agent: Set an "ipxe" tag to work with Ironic"

9 years agoPython3: do not use '+' on dict_items objects
Cyril Roelandt [Fri, 19 Jun 2015 13:24:34 +0000 (13:24 +0000)]
Python3: do not use '+' on dict_items objects

In Python 3, dict.items() returns an iterator. Iterators cannot be added.

Blueprint: neutron-python3
Change-Id: I487178ebceae9946cb53dea1e847d7715f4577f3

9 years agoDisable keepalived process in keepalived func test
Jakub Libosvar [Fri, 19 Jun 2015 13:52:35 +0000 (15:52 +0200)]
Disable keepalived process in keepalived func test

Previously, keepalived process itself was disabled that lead to
respawning of keepalived by KeepalivedManager. This patch disables
KeepalivedManager in cleanup thus no respawn happens.

Closes-Bug: #1466873
Change-Id: If5524116e5d4fc41600920d31481282c5b797f7b

9 years agoPython3: do not use im_self/im_func/func_closure
Cyril Roelandt [Thu, 18 Jun 2015 11:52:28 +0000 (11:52 +0000)]
Python3: do not use im_self/im_func/func_closure

One should use __self__, __func__ and __closure__ instead, as they work
with both Python 2 and 3.

Change-Id: I2b2847cfd5b4fa70e45387ff369240227ce9e526
Blueprint: neutron-python3

9 years agoAdd request factory for pluggable IPAM
Pavel Bondar [Wed, 17 Jun 2015 12:48:09 +0000 (15:48 +0300)]
Add request factory for pluggable IPAM

Pluggable IPAM implementation requires separation between requesting
address/subnet and it's actual allocation, which can happen on
third-party IPAM servers. Request factory stands for simplifying
building right request from input.

Added AddressRequestFactory and SubnetRequestFactory.

AddressRequestFactory creates instance of AnyAddressRequest or
SpecificAddressRequest depending on presence of ip address in input.
SubnetRequestFactory creates instance of AnySubnetRequest or
SpecificSubnetRequest depending on input.

get_subnet_request_factory and get_address_request_factory can be
redefined on driver level to use custom request factories.

Partially-Implements: blueprint neutron-ipam

Change-Id: Iedc0cfa326d60810099148f0ef8a1edac9e8aa12

9 years agoPython3: use dict.keys() instead of dict.iterkeys()
Cyril Roelandt [Fri, 19 Jun 2015 11:59:46 +0000 (13:59 +0200)]
Python3: use dict.keys() instead of dict.iterkeys()

The "keys" method works on both Python 2 and 3, and the performance
impact should be negligible.

Change-Id: I4771797859666000921e4e38cc5de72a8c084ca0
Blueprint: neutron-python3

9 years agoNSX QoS ext: RXTX factor can be decimal
Salvatore Orlando [Tue, 9 Jun 2015 10:41:07 +0000 (03:41 -0700)]
NSX QoS ext: RXTX factor can be decimal

In Nova flavors it is ok to specify a decimal RXTX factor.
For this reason when applying QoS to a port Neutron should not
convert this factor to an integer value, but simply ensure
it's a valid float number and positive.

Partial-Bug: #1463363

Change-Id: I983123ef7fd8f1b52b358aff3b579459fce63033

9 years agoMove _add_auto_addrs_on_network_ports
Pavel Bondar [Thu, 18 Jun 2015 11:17:58 +0000 (14:17 +0300)]
Move _add_auto_addrs_on_network_ports

Moved to ipam_non_pluggable_backend.py since implementation
is specific for non pluggable ipam backend.
Pluggable implementation will additionally include rollback on failure actions.

This commit is a preparation step for using pluggable ipam.
More changes in this methods are expected to be done by following
patches.

Partially-Implements: blueprint neutron-ipam

Change-Id: I1876846526e370a7fcfa05b9a23fd9065973f111

9 years agoMerge "Ensure tests run under python2.7"
Jenkins [Fri, 19 Jun 2015 10:24:41 +0000 (10:24 +0000)]
Merge "Ensure tests run under python2.7"

9 years agoMerge "Remove _check_ip_in_allocation_pool"
Jenkins [Fri, 19 Jun 2015 10:24:25 +0000 (10:24 +0000)]
Merge "Remove _check_ip_in_allocation_pool"

9 years agoDHCP agent: Set an "ipxe" tag to work with Ironic
Lucas Alvares Gomes [Thu, 9 Apr 2015 13:02:36 +0000 (14:02 +0100)]
DHCP agent: Set an "ipxe" tag to work with Ironic

Ironic expects neutron to have an "ipxe" tag for the option 175 which is
sent by iPXE/gPXE when booting a node. The problem is that up to now this
tag was not created by Neutron, causing the nodes deployed with Ironic
+ iPXE to fail to boot. This patch is creating this tag when launching
the dnsmasq process.

DocImpact
Change-Id: I45a0f51365b37e7d85848fcdcbcf7aa6a1dddfed
Closes-Bug: #1442123

9 years agoRemove _check_ip_in_allocation_pool
Pavel Bondar [Wed, 17 Jun 2015 15:47:11 +0000 (18:47 +0300)]
Remove _check_ip_in_allocation_pool

_check_ip_in_allocation_pool is not used anywhere in neutron.
Cleaning up unused code from db_base_plugin_v2.py.
Caller was removed over a year ago in change
Ib31550fa9000fc75768a327cb6cc1c419e06568f

Partially-Implements: blueprint neutron-ipam

Change-Id: I41b7254835c308dda679ee2a5ebbccba528fd108

9 years agoUpdated from global requirements
Doug Wiegley [Fri, 19 Jun 2015 00:13:43 +0000 (18:13 -0600)]
Updated from global requirements

Since we can't merge proposal bot at the moment, due to a conflict with
setup.py, at least get our reqs files up to snuff.

Change-Id: Ie313c81502dfe17a4afdcfdba4e207b9866e1399

9 years agoMerge "Remove from BridgeDevice homemade execute in namespace"
Jenkins [Thu, 18 Jun 2015 23:03:01 +0000 (23:03 +0000)]
Merge "Remove from BridgeDevice homemade execute in namespace"

9 years agoMerge "API Extensions: inherit from the ExtensionDescriptor"
Jenkins [Thu, 18 Jun 2015 22:54:25 +0000 (22:54 +0000)]
Merge "API Extensions: inherit from the ExtensionDescriptor"

9 years agoMerge "Decompose db_base_plugin_v2.py with changes"
Jenkins [Thu, 18 Jun 2015 22:34:36 +0000 (22:34 +0000)]
Merge "Decompose db_base_plugin_v2.py with changes"

9 years agoMerge "Remove duplicated debug logging around locking"
Jenkins [Thu, 18 Jun 2015 21:25:21 +0000 (21:25 +0000)]
Merge "Remove duplicated debug logging around locking"

9 years agoMerge "Fixed the only sphinx warning in docs"
Jenkins [Thu, 18 Jun 2015 19:48:39 +0000 (19:48 +0000)]
Merge "Fixed the only sphinx warning in docs"

9 years agoFixed the only sphinx warning in docs
Ihar Hrachyshka [Mon, 15 Jun 2015 14:06:21 +0000 (16:06 +0200)]
Fixed the only sphinx warning in docs

We made previous attempt to get rid of all warnings, but it turned out
that gate does not execute tox's docs job but runs build_sphinx
directly.

The latter behaviour should be fixed, but while at it, we
should prepare neutron job to be executed in gate by cleaning up all
warnings.

Closes-Bug: #1466554

Change-Id: I8c265eae2175425568479116d1faef7d87fdcc02

9 years agoMerge "Ensure no "db" related functional/fullstack tests are skipped in the gate"
Jenkins [Thu, 18 Jun 2015 10:12:48 +0000 (10:12 +0000)]
Merge "Ensure no "db" related functional/fullstack tests are skipped in the gate"

9 years agoMerge "Use PyMySQL in MySQL related functional/fullstack tests"
Jenkins [Thu, 18 Jun 2015 10:12:35 +0000 (10:12 +0000)]
Merge "Use PyMySQL in MySQL related functional/fullstack tests"

9 years agoMerge "Refactor rpc_loop() in ovs neutron agent"
Jenkins [Thu, 18 Jun 2015 10:06:22 +0000 (10:06 +0000)]
Merge "Refactor rpc_loop() in ovs neutron agent"

9 years agoread_hosts_file_leases shouldn't parse stateless IPv6
venkata anil [Thu, 18 Jun 2015 10:03:12 +0000 (10:03 +0000)]
read_hosts_file_leases shouldn't parse stateless IPv6

Error when _read_hosts_file_leases tries to parse stateless IPv6 entry
in hosts file
TRACE neutron.agent.dhcp.agent ip = host[2].strip('[]')
TRACE neutron.agent.dhcp.agent IndexError: list index out of range

Neutron creates entries in dhcp host file for each subnet of a port.
Each of these entries will have same mac address as first field,
and may have client_id, fqdn, ipv4/ipv6 address for dhcp/dhcpv6 stateful,
or tag as other fields.

For dhcpv6 stateless subnet with extra_dhcp_opts,
host file will have only mac address and tag. So _read_hosts_file_leases
shouldn't check for ip address for this entry in host file.

Closes-bug: #1465330
Change-Id: Iad6605ac5c7bcd6ec9204352037ed021f5007738

9 years agoMerge "Move get_inteface_by_ip from LinuxBridge class to ip_lib"
Jenkins [Thu, 18 Jun 2015 07:21:10 +0000 (07:21 +0000)]
Merge "Move get_inteface_by_ip from LinuxBridge class to ip_lib"

9 years agoMerge "Put output of docs job into doc/build/html"
Jenkins [Thu, 18 Jun 2015 07:12:54 +0000 (07:12 +0000)]
Merge "Put output of docs job into doc/build/html"

9 years agoMerge "Add devices to update in RPC call security_groups_provider_updated"
Jenkins [Thu, 18 Jun 2015 07:12:42 +0000 (07:12 +0000)]
Merge "Add devices to update in RPC call security_groups_provider_updated"

9 years agoFix 'router_gateway' port status can't be updated
shihanzhang [Fri, 30 Jan 2015 01:50:52 +0000 (09:50 +0800)]
Fix 'router_gateway' port status can't be updated

when it creates a ovs bridge without parameter 'bridge-id',
it's default 'bridge-id' is None, so ovs agent should also
deal with these ovs bridges, for example if ancillary bridge
br-ex does not be handled, the 'router_gateway' port status
can't be updated.

Change-Id: If428eadadfd36a9b19ea75920120e48ac49659f2
Closes-Bug: #1416181

9 years agoMerge "ovsdb: session.rpc never initialized"
Jenkins [Thu, 18 Jun 2015 01:18:50 +0000 (01:18 +0000)]
Merge "ovsdb: session.rpc never initialized"

9 years agoUpdate version for Liberty
Doug Hellmann [Tue, 16 Jun 2015 19:49:15 +0000 (19:49 +0000)]
Update version for Liberty

Update the version for Liberty, switching from date-based versioning
to pre-versioning using SemVer. See
http://lists.openstack.org/pipermail/openstack-dev/2015-May/065211.html
and
http://lists.openstack.org/pipermail/openstack-dev/2015-June/067082.html
for details.

Change-Id: I6a35fa0dda798fad93b804d00a46af80f08d475c

9 years agoMerge "Add networking-sfc to the list of affiliated Neutron projects"
Jenkins [Wed, 17 Jun 2015 20:17:51 +0000 (20:17 +0000)]
Merge "Add networking-sfc to the list of affiliated Neutron projects"

9 years agoMerge "Minor improvements to sub_projects document"
Jenkins [Wed, 17 Jun 2015 20:14:32 +0000 (20:14 +0000)]
Merge "Minor improvements to sub_projects document"

9 years agoAdd networking-sfc to the list of affiliated Neutron projects
armando-migliaccio [Wed, 17 Jun 2015 18:33:56 +0000 (11:33 -0700)]
Add networking-sfc to the list of affiliated Neutron projects

The project is being bootstrapped in [1,2], this change reflects
that in the sub_projects doc.

[1] I3825a1e02713f45e2c769eaa8fd0f1ab48d14372
[2] Iec53129d7c19620d690e71032c83907f03c66d9f

Change-Id: I7c235bfe444bbb9afc7d4d8c92704c9bfc09ab49

9 years agoMinor improvements to sub_projects document
armando-migliaccio [Wed, 17 Jun 2015 18:31:01 +0000 (11:31 -0700)]
Minor improvements to sub_projects document

Let's remove the empty table, to cut down the risk of inconsistency,
and further explain what the list of affiliated project is for.

Change-Id: I3c8970db8de4fc211233903e8220cda72d47e193

9 years agoPython 3: do not use cmp(), nor sorted(..., cmp=...)
Cyril Roelandt [Wed, 17 Jun 2015 14:25:56 +0000 (14:25 +0000)]
Python 3: do not use cmp(), nor sorted(..., cmp=...)

* The "cmp" function has been removed, so we must not use it any more;
* The "cmp" keyword argument of the "sorted" function has been removed, so
  replace it with "key=functool.cmp_to_key".

Change-Id: Ic39d29dc1002a68f36f04c32e53a36bc826dce78
Blueprint: neutron-python3

9 years agoMerge "Ensure netfilter is enabled for bridges"
Jenkins [Wed, 17 Jun 2015 14:37:52 +0000 (14:37 +0000)]
Merge "Ensure netfilter is enabled for bridges"

9 years agoMerge "Refactor scan_ports() and update_ancillary_ports() in OVS Neutron Agent"
Jenkins [Wed, 17 Jun 2015 13:29:25 +0000 (13:29 +0000)]
Merge "Refactor scan_ports() and update_ancillary_ports() in OVS Neutron Agent"

9 years agoMove get_inteface_by_ip from LinuxBridge class to ip_lib
Miguel Angel Ajo [Tue, 16 Jun 2015 11:48:26 +0000 (13:48 +0200)]
Move get_inteface_by_ip from LinuxBridge class to ip_lib

get_interface_by_ip is moved fro LinuxBridgeManager to ip_lib
as a more generic get_device_by_ip.

System-faking unit tests have been switched for functional
testing that also performs a negative test.

This can be reused in the openvswitch-agent code to validate
local_ip reusing the LinuxBridge logic.

Change-Id: I9237871a6e24dd99556c71844624be510e20d289
Related-Bug: #1464178
Related-Bug: #1408603

9 years agoFix cisco_csr_identifier_map.ipsec_site_conn_id
Vladislav Belogrudov [Wed, 17 Jun 2015 11:02:22 +0000 (14:02 +0300)]
Fix cisco_csr_identifier_map.ipsec_site_conn_id

Some database engines require exact match of sizes of foreign keys
and referenced fields. Foreign key ipsec_site_conn_id of table
cisco_csr_identifier_map is varchar(64) but it references field
id varchar(36) of table ipsec_site_connections. This gives error
while running migration scripts in such databases.

This fix only applies to new installations. Existing databases will
be corrected by migration scripts introduced in
https://review.openstack.org/190569 - they will take care of resizing
the field and adjusting the model.

Change-Id: I6cc9625a2d96d1330b06eb727cc7fa5363c697b8
Depends-On: I384a9bbaba05ef94174b666bdcfb276eedc74134
Closes-Bug: #1463806

9 years agoMerge "Refactor _update_subnet_allocation_pools"
Jenkins [Wed, 17 Jun 2015 10:04:04 +0000 (10:04 +0000)]
Merge "Refactor _update_subnet_allocation_pools"

9 years agoRefactor rpc_loop() in ovs neutron agent
Aman Kumar [Wed, 17 Jun 2015 06:16:24 +0000 (23:16 -0700)]
Refactor rpc_loop() in ovs neutron agent

This patch segregates the port_info recieved by
scan_ports and scan_ancillary_ports.

This refactoring is basically required for this patch set:
https://review.openstack.org/#/c/165023/

Co-Authored-By: Romil Gupta <romilg@hp.com>
Change-Id: I9b43c230cda9d2659ad0e806bebe8a3dc12826ec
Partial-Bug: #1329223

9 years agoovsdb: session.rpc never initialized
Aaron Rosen [Wed, 17 Jun 2015 00:23:09 +0000 (17:23 -0700)]
ovsdb: session.rpc never initialized

Previously, if idl.Transaction.commit_block() returned a status of
TRY_AGAIN we would check self.api.idl._session.rpc.status which would
result in an attribute error as rpc is None.

This patch fixes this attribute error by removing this unneeded check. In
addtion, the force_reconnect() is also removed as ovs.jsonrpc handles
reconnecting automatically for us.

Change-Id: Ibf3ce5cd3432845f8938a1d83637ecf59b14b5ca
Closes-bug: 1465889

9 years agoMerge "Refactor TestRpcWorker and TestWorkerService"
Jenkins [Tue, 16 Jun 2015 22:12:43 +0000 (22:12 +0000)]
Merge "Refactor TestRpcWorker and TestWorkerService"

9 years agoMerge "Juno_initial migration"
Jenkins [Tue, 16 Jun 2015 20:47:43 +0000 (20:47 +0000)]
Merge "Juno_initial migration"

9 years agoMerge "Revert "Revert "Set default of api_workers to number of CPUs"""
Jenkins [Tue, 16 Jun 2015 20:44:43 +0000 (20:44 +0000)]
Merge "Revert "Revert "Set default of api_workers to number of CPUs"""

9 years agoMerge "Python3: do not change the size of a dict while iterating over it"
Jenkins [Tue, 16 Jun 2015 20:42:19 +0000 (20:42 +0000)]
Merge "Python3: do not change the size of a dict while iterating over it"

9 years agoRemove duplicated debug logging around locking
Rawlin Peters [Mon, 15 Jun 2015 16:57:02 +0000 (10:57 -0600)]
Remove duplicated debug logging around locking

Currently, iptables_manager.py does extra unnecessary logging about lock
acquisition and release. It uses lockutils.lock() which passes
do_log=True by default, which causes lockutils.lock() to do debug
logging about lock acquisition/release. IptablesManager itself also writes
debug log info about lock acquisition and release.

This change will eliminate unnecessary duplicate logging in order to
reduce log noise about locking. This change is also related to
https://github.com/harlowja/fasteners/commit/f88f2fea7fe250b7d26cdcbc84633ccbbc68eeee
which reduces the logging level in the underlying lock implementation
used by oslo.concurrency. That change along with this one will remove
the duplicate debug logging about locking in iptables_manager.py and also in
ipset_manager.py.

Change-Id: If6f4a7101f3783ad83645e28bbb5c577dd403d3b
Closes-Bug: 1464727

9 years agoMerge "docs: added job to well known tox envlist"
Jenkins [Tue, 16 Jun 2015 14:39:54 +0000 (14:39 +0000)]
Merge "docs: added job to well known tox envlist"

9 years agoRefactor scan_ports() and update_ancillary_ports() in OVS Neutron Agent
Aman Kumar [Tue, 16 Jun 2015 12:32:44 +0000 (05:32 -0700)]
Refactor scan_ports() and update_ancillary_ports() in OVS Neutron Agent

Used a helper method which contains the common code from scan_ports()
and update_ancillary_ports(). And also renamed the name of
update_ancillary_ports() method to scan_ancillary_ports() to have parity
between normal ports and ancillary ports.

Added unit tests for scan_ancillary_ports.

Co-Authored-By: Romil Gupta <romilg@hp.com>
Partial-Bug: #1329223

Change-Id: I8b3e00a9371d5a03cc8b4be24bf20eec10bef5df

9 years agoPython3: do not change the size of a dict while iterating over it
Cyril Roelandt [Tue, 16 Jun 2015 13:38:13 +0000 (13:38 +0000)]
Python3: do not change the size of a dict while iterating over it

This does not work in Python3, so we have to store the items first.

Change-Id: I7d8641f980fe62d2900559433d5060a6281a97f8
Blueprint: neutron-python3

9 years agoRefactor TestRpcWorker and TestWorkerService
Elena Ezhova [Mon, 1 Jun 2015 09:34:41 +0000 (12:34 +0300)]
Refactor TestRpcWorker and TestWorkerService

TestRpcWorker and TestWorkerService have a duplicate test_reset.
This patch introduces a base class from which tests for service
workers can inherit.

Change-Id: Ic4690c3b066b03c2fbb463f1329208ad1307d83d

9 years agoJuno_initial migration
Ann Kamyshnikova [Tue, 2 Jun 2015 15:45:51 +0000 (18:45 +0300)]
Juno_initial migration

Havana was deprecated with the kilo release, and icehouse will be
deprecated with the liberty release, so havana_inital migration should be
removed and replaced with juno_initial.

Closes-bug: #1461103

Change-Id: I2e6802c9ab64d164bd888278d555dfeeaf47257b

9 years agoMerge "Python 3: use dict.values instead of dict.itervalues"
Jenkins [Tue, 16 Jun 2015 08:52:50 +0000 (08:52 +0000)]
Merge "Python 3: use dict.values instead of dict.itervalues"

9 years agoMerge "Add get_events to OVSDB monitor"
Jenkins [Tue, 16 Jun 2015 08:24:46 +0000 (08:24 +0000)]
Merge "Add get_events to OVSDB monitor"

9 years agodocs: added job to well known tox envlist
Ihar Hrachyshka [Tue, 16 Jun 2015 07:21:42 +0000 (09:21 +0200)]
docs: added job to well known tox envlist

This is to make 'tox -l' return the job name in its output (needed to
allow run-docs.sh script in project-config to determine whether the job
is present, to rely on it when generating docs in gate).

Change-Id: I80eb169b7b4e5a3490586722c64394dbb724928d

9 years agoMerge "Context: Remove logic for read_deleted and deprecate it"
Jenkins [Mon, 15 Jun 2015 21:44:28 +0000 (21:44 +0000)]
Merge "Context: Remove logic for read_deleted and deprecate it"

9 years agoMerge "Refactor update_port in db_base_plugin_v2"
Jenkins [Mon, 15 Jun 2015 20:22:16 +0000 (20:22 +0000)]
Merge "Refactor update_port in db_base_plugin_v2"

9 years agoAPI Extensions: inherit from the ExtensionDescriptor
Sean M. Collins [Mon, 15 Jun 2015 17:51:05 +0000 (13:51 -0400)]
API Extensions: inherit from the ExtensionDescriptor

For consistency in the codebase, API extensions should inherit from the
abstract base class ExtensionDescriptor.

Change-Id: Id4829c265866e80c042c433bebcc01383e1e7417

9 years agoMerge "Remove fossilized remains"
Jenkins [Mon, 15 Jun 2015 19:52:11 +0000 (19:52 +0000)]
Merge "Remove fossilized remains"

9 years agoMerge "Refactor _update_ips_for_port"
Jenkins [Mon, 15 Jun 2015 19:16:02 +0000 (19:16 +0000)]
Merge "Refactor _update_ips_for_port"

9 years agoRemove fossilized remains
Henry Gessau [Mon, 15 Jun 2015 18:47:21 +0000 (14:47 -0400)]
Remove fossilized remains

Clean up ancient stuff that hasn't been touched in over 3 years.

Change-Id: I67fcd85027fb6614cafe8d92ddbf8c24aed58a4f

9 years agoMerge "Reflect project moves from stackforge to openstack."
Jenkins [Mon, 15 Jun 2015 18:23:43 +0000 (18:23 +0000)]
Merge "Reflect project moves from stackforge to openstack."

9 years agoRefactor update_port in db_base_plugin_v2
Pavel Bondar [Wed, 10 Jun 2015 13:18:40 +0000 (16:18 +0300)]
Refactor update_port in db_base_plugin_v2

This commit is a preparation step for using pluggable IPAM.
- moved validations into _validate_port_for_update;
- updating ip addresses for port is backend specific, so
  moved into _update_port_with_ips in ipam_non_pluggable_backend;
- writing port changes to db is common for both backends, so
  moved into _update_db_port in ipam_backend_mixin;
- updated to use namedtuple to track add/original/remove ips;
- added _make_fixed_ip_dict to exclude keys other than
  ip_address and subnet_id;

Partially-Implements: blueprint neutron-ipam

Change-Id: I1110e88f372b1d0cc7ec72049ba69a6d548da867

9 years agoMerge "Fix Enum usage in 589f9237ca0e_cisco_n1kv_ml2_driver_tables"
Jenkins [Mon, 15 Jun 2015 17:17:22 +0000 (17:17 +0000)]
Merge "Fix Enum usage in 589f9237ca0e_cisco_n1kv_ml2_driver_tables"

9 years agoRefactor _update_ips_for_port
Pavel Bondar [Wed, 10 Jun 2015 11:56:58 +0000 (14:56 +0300)]
Refactor _update_ips_for_port

This commit is a preparation step for using pluggable IPAM.
_update_ips_for_port was refactored and split into two methods:
- _get_changed_ips_for_port
  This method contains calculations common for pluggable and
  non-pluggable IPAM implementation, was moved to ipam_backend_mixin.
- _update_ips_for_port
  This method is specific for non-pluggable IPAM implementation, so it
  was moved to ipam_non_pluggable_backend_common.

Other changes:
- _update_ips_for_port now returns namedtuple with added, removed, original
  ips (previously added and original ips were returned).
  List of removed ips is required by pluggable IPAM implementaion
  to apply rollback-on-failure logic;
- removed unused port_id argument from _update_ips_for_port argument list;

Partially-Implements: blueprint neutron-ipam

Change-Id: Id50b6227c8c2d94c35473aece080a6f106a5dfd8

9 years agoPython 3: use dict.values instead of dict.itervalues
Cyril Roelandt [Mon, 15 Jun 2015 15:07:28 +0000 (15:07 +0000)]
Python 3: use dict.values instead of dict.itervalues

This works with both Python 2 and 3, and should not have any performance
impact.

Change-Id: I2a14945c60de513b91c6f022ff5dcc503ce2a8ad
Blueprint: neutron-python3

9 years agoPut output of docs job into doc/build/html
Ihar Hrachyshka [Mon, 15 Jun 2015 14:15:11 +0000 (16:15 +0200)]
Put output of docs job into doc/build/html

This is the path where jenkins/scripts/run-docs.sh that is used by gate
to generate project documentation expects to see the output.

Change-Id: Id276fa59edb33f7789ab06055300b4dc2385472a

9 years agoEnsure no "db" related functional/fullstack tests are skipped in the gate
Cedric Brandily [Tue, 9 Jun 2015 16:00:58 +0000 (16:00 +0000)]
Ensure no "db" related functional/fullstack tests are skipped in the gate

Currently neutron uses MySQLTestCase[1] and
PostgreSQLOpportunisticTestCase[2] for functional and fullstack tests
using a real MySQL/PostgreSQL database. These classes skip tests when
the db is unavailable (db not installed/configured, missing packages,
etc.) which is fine when tests are runned by developers but not when
runned by the gate jobs.

This change updates MySQLTestCase[1] and defines PostgreSQLTestCase[1]
as PostgreSQL oslo.db test class wrapper: when the db is unavailable,
these classes ensure tests will:

* fail in the gate (dsvm-functional, dsvm-fullstack jobs),
* be skipped by default otherwise (functional, fullstack jobs).

[1] neutron.tests.common.base
[2] oslo_db.sqlalchemy.test_base

Closes-Bug: #1404093
Change-Id: I77b12e728ce9a7b0222c3df081842635f6375a3e

9 years agoUse PyMySQL in MySQL related functional/fullstack tests
Cedric Brandily [Wed, 10 Jun 2015 20:35:11 +0000 (22:35 +0200)]
Use PyMySQL in MySQL related functional/fullstack tests

mysql-python driver has been replaced by PyMySQL driver[1] in neutron
code but MySQL related functional/fullstack tests try to use
mysql-python driver because of MySQLOpportunisticTestCase[2] and tests
are skipped because mysql-python driver is no more available.

This change provides a backend implementation for mysql+pymysql, a base
base testcase MySQLTestCase[2] using mysql+pymysql implementation
(currently oslo.db provides none of them but will in the future) and
replaces MySQLOpportunisticTestCase with MySQLTestCase.

[1] I73e0fdb6eca70e7d029a40a2f6f17a7c0797a21d
[2] neutron.tests.common.base

Closes-Bug: #1463980
Change-Id: Ic5c1d12ab75443e1cc290a7447eeb4b452b4a9dd

9 years agoSkip rescheduling networks if no DHCP agents available
Eugene Nikanorov [Thu, 4 Jun 2015 21:46:22 +0000 (01:46 +0400)]
Skip rescheduling networks if no DHCP agents available

This eliminates the problem of unscheduled networks in case
of communication failure between agents and servers which
can occur if messaging queue service fails.

Change-Id: Ied4fa301fc3d475bee25c47f3a01c2381ae9a01e
Closes-Bug: #1461714

9 years agoReflect project moves from stackforge to openstack.
Russell Bryant [Sat, 13 Jun 2015 01:26:37 +0000 (21:26 -0400)]
Reflect project moves from stackforge to openstack.

Several git repos were just moved from stackforge to openstack.
Reflect the move in various places where the URL was in docs and
comments.  In passing, also change URLs to git.openstack.org instead
of github, as that is the official home of all of these repos.

Change-Id: I6c79a192d6604cef01e88d5b305fcc2b0f9c6b30
Co-Authored-By: Kyle Mestery <mestery@mestery.com>
Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Kyle Mestery <mestery@mestery.com>
9 years agoMerge "Fix a regression in "Separate ovs-ofctl using code as a driver" change"
Jenkins [Sat, 13 Jun 2015 22:58:11 +0000 (22:58 +0000)]
Merge "Fix a regression in "Separate ovs-ofctl using code as a driver" change"

9 years agoMerge "Make Vlantransparent extension inherit from ExtensionDescriptor"
Jenkins [Sat, 13 Jun 2015 20:57:18 +0000 (20:57 +0000)]
Merge "Make Vlantransparent extension inherit from ExtensionDescriptor"

9 years agoMerge "Remove meaningless no_delete from L3 test"
Jenkins [Sat, 13 Jun 2015 12:36:18 +0000 (12:36 +0000)]
Merge "Remove meaningless no_delete from L3 test"

9 years agoMerge "OVSNeutronAgent pass the config as parameter"
Jenkins [Sat, 13 Jun 2015 10:54:12 +0000 (10:54 +0000)]
Merge "OVSNeutronAgent pass the config as parameter"

9 years agoDecompose db_base_plugin_v2.py with changes
Pavel Bondar [Mon, 8 Jun 2015 11:15:30 +0000 (14:15 +0300)]
Decompose db_base_plugin_v2.py with changes

This commit is a preparation step for using pluggable IPAM.
1. Moved get_subnets functionality to db_base_plugin_common to make it
accessible by ipam backends.
2. Reworked update_subnet routine:
- moved db part into update_db_subnet;

Partially-Implements: blueprint neutron-ipam

Change-Id: Idb8f54d9fccaad1137222d156590c37d86aa576b

9 years agoMerge "Stop sending gratuitous arp when ip version is 6"
Jenkins [Fri, 12 Jun 2015 21:49:44 +0000 (21:49 +0000)]
Merge "Stop sending gratuitous arp when ip version is 6"

9 years agoMerge "Python3: replace 'unicode' with 'six.text_type'"
Jenkins [Fri, 12 Jun 2015 20:59:34 +0000 (20:59 +0000)]
Merge "Python3: replace 'unicode' with 'six.text_type'"

9 years agoMerge "Enable all deprecation warnings for test runs"
Jenkins [Fri, 12 Jun 2015 19:03:19 +0000 (19:03 +0000)]
Merge "Enable all deprecation warnings for test runs"