]> review.fuel-infra Code Review - openstack-build/neutron-build.git/log
openstack-build/neutron-build.git
9 years agoUse last address in v6 allocation pool generation
Kevin Benton [Wed, 24 Jun 2015 13:50:48 +0000 (06:50 -0700)]
Use last address in v6 allocation pool generation

This reverts commit 1d61c5f736b9df7253a1939fe55f1875f988d1f4,
which reverted ee51ef72d37a02005a7733b7f2faf7236db850a1 due
to an issue with the allocation pools being mis-aligned with
the last address of a v6 subnet.

IPv6 does not have a subnet broadcast address so the last IP
address can be used as a regular address. This patch tweaks the
automatic allocation pool generation to include that last address
on v6 networks.

This was found because
NetworksTestDHCPv6.test_dhcp_stateful_fixedips_outrange makes the
assumption that the default generated pools cover the entire usable
address space.

Related-Bug: #1466322
Closes-Bug: #1468163
Change-Id: I5a2518c819757cd1fb43244901fe3e2f6c576b34

9 years agoMerge "Use string exception casting everywhere"
Jenkins [Wed, 24 Jun 2015 19:54:18 +0000 (19:54 +0000)]
Merge "Use string exception casting everywhere"

9 years agoMerge "Override opportunistic database tests to PyMySQL"
Jenkins [Wed, 24 Jun 2015 19:39:06 +0000 (19:39 +0000)]
Merge "Override opportunistic database tests to PyMySQL"

9 years agoMerge "Extend default setenv instead of replacing it in tox.ini"
Jenkins [Wed, 24 Jun 2015 19:34:57 +0000 (19:34 +0000)]
Merge "Extend default setenv instead of replacing it in tox.ini"

9 years agoMerge "Bulk move methods to ipam_backend_mixin.py"
Jenkins [Wed, 24 Jun 2015 19:34:43 +0000 (19:34 +0000)]
Merge "Bulk move methods to ipam_backend_mixin.py"

9 years agoMerge "Fix SR-IOV mech driver to set port status to down when agent is required"
Jenkins [Wed, 24 Jun 2015 19:34:27 +0000 (19:34 +0000)]
Merge "Fix SR-IOV mech driver to set port status to down when agent is required"

9 years agoMerge "Add IPset cleanup script"
Jenkins [Wed, 24 Jun 2015 19:31:22 +0000 (19:31 +0000)]
Merge "Add IPset cleanup script"

9 years agoMerge "Revert "Fix subnet creation failure on IPv6 valid gateway""
Jenkins [Wed, 24 Jun 2015 16:59:58 +0000 (16:59 +0000)]
Merge "Revert "Fix subnet creation failure on IPv6 valid gateway""

9 years agoMerge "Remove get_namespace from API extensions"
Jenkins [Wed, 24 Jun 2015 14:54:12 +0000 (14:54 +0000)]
Merge "Remove get_namespace from API extensions"

9 years agoMerge "Remove duplicate tunnel id check in sync_allocations"
Jenkins [Wed, 24 Jun 2015 11:40:11 +0000 (11:40 +0000)]
Merge "Remove duplicate tunnel id check in sync_allocations"

9 years agoMerge "Cleanup get_plugin_name() from the tree"
Jenkins [Wed, 24 Jun 2015 10:36:46 +0000 (10:36 +0000)]
Merge "Cleanup get_plugin_name() from the tree"

9 years agoMerge "Optimize ipset usage in IptablesFirewallDriver"
Jenkins [Wed, 24 Jun 2015 10:00:17 +0000 (10:00 +0000)]
Merge "Optimize ipset usage in IptablesFirewallDriver"

9 years agoMerge "Fix callback registry notification for security group rule"
Jenkins [Wed, 24 Jun 2015 09:51:20 +0000 (09:51 +0000)]
Merge "Fix callback registry notification for security group rule"

9 years agoMerge "Don't delete DVR namespace if there are still ports on this node"
Jenkins [Wed, 24 Jun 2015 06:37:01 +0000 (06:37 +0000)]
Merge "Don't delete DVR namespace if there are still ports on this node"

9 years agoMerge "Ease debugging alembic by passing proper scripts path in alembic.ini"
Jenkins [Wed, 24 Jun 2015 05:19:23 +0000 (05:19 +0000)]
Merge "Ease debugging alembic by passing proper scripts path in alembic.ini"

9 years agoRevert "Fix subnet creation failure on IPv6 valid gateway"
Henry Gessau [Wed, 24 Jun 2015 03:16:52 +0000 (03:16 +0000)]
Revert "Fix subnet creation failure on IPv6 valid gateway"

Because it breaks tests.api.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips_outrange

This reverts commit ee51ef72d37a02005a7733b7f2faf7236db850a1.

Change-Id: Id02d9034ca809f194ff7551167bfda3559fb1200

9 years agoSupport oslo_db 1.12
Cedric Brandily [Tue, 23 Jun 2015 22:08:22 +0000 (00:08 +0200)]
Support oslo_db 1.12

oslo_db 1.12[1] decorates oslo_context.context.RequestContext with
session management[2][3] and add a read-only attribute 'session'. Such
feature breaks Brocade plugin and its unittests because they define
on RequestContext the 'session' attribute which now is a read-only
property. This change uses neutron.context instead of
oslo_context.context in order to delegate session management to the
neutron.context and remove read-only attribute set.

A follow-up change will refactor neutron.context in order to use oslo_db
1.12 session management instead of homemade one.

[1] https://github.com/openstack/oslo.db/releases/tag/1.12.0
[2] https://github.com/openstack/oslo.db/commit/\
    fdbd928b1fdf0334e1740e565ab8206fff54eaa6
[3] https://github.com/openstack/oslo.db/blob/\
    fdbd928b1fdf0334e1740e565ab8206fff54eaa6/oslo_db/sqlalchemy/\
    enginefacade.py#L782

Closes-Bug: #1468128
Change-Id: I0e3331f9a383fa2562706eeadb229f55593b888c

9 years agoOverride opportunistic database tests to PyMySQL
Jeremy Stanley [Thu, 18 Jun 2015 19:09:05 +0000 (19:09 +0000)]
Override opportunistic database tests to PyMySQL

Set the OS_TEST_DBAPI_ADMIN_CONNECTION override variable so that
oslo.db opportunistic detection will know to use PyMySQL until
I12b32dc097a121bd43991bc38dd4d289b65e86c1 makes it the default
behavior.

This change removes previous code[1] enabling PyMySQL use.

[1] Ic5c1d12ab75443e1cc290a7447eeb4b452b4a9dd

Change-Id: Ic39feee0248f2ffabdba26f3779ab40a8f3838e6
Co-Authored-By: Victor Sergeyev <vsergeyev@mirantis.com>
Co-Authored-By: Cedric Brandily <zzelle@gmail.com>
9 years agoExtend default setenv instead of replacing it in tox.ini
Cedric Brandily [Tue, 23 Jun 2015 18:00:30 +0000 (20:00 +0200)]
Extend default setenv instead of replacing it in tox.ini

Some tox jobs[1] define their own setenv without extending/referencing
default setenv, it disallows to define environment variables shared by
all jobs. This change updates previous jobs[1] in order to extend
instead of replacing default setenv and enable global environement
variables (used in daughter change).

One remark, this change sets VIRTUAL_ENV environment variable in updated
jobs[1] but it has no effect on them.

[1] (dsvm-)functional, (dsvm-)fullstack and api jobs

Closes-Bug: #1468059
Change-Id: I99184f7375571fb8569a24ba04ae267108f5da08

9 years agoCleanup get_plugin_name() from the tree
Ihar Hrachyshka [Tue, 23 Jun 2015 12:28:59 +0000 (14:28 +0200)]
Cleanup get_plugin_name() from the tree

It does not seem to be used since Icehouse: the patch that removed its
last usage is: 1b36e2077141749495bb32b423f3df8cbbd0eb40

I don't think we should have it as part of abstract interface for
service plugins.

Change-Id: If03f67a617efd3a7cadb96d1a86283ac14088a83

9 years agoMerge "Fix subnet creation failure on IPv6 valid gateway"
Jenkins [Tue, 23 Jun 2015 10:57:49 +0000 (10:57 +0000)]
Merge "Fix subnet creation failure on IPv6 valid gateway"

9 years agoBulk move methods to ipam_backend_mixin.py
Pavel Bondar [Tue, 23 Jun 2015 09:07:43 +0000 (12:07 +0300)]
Bulk move methods to ipam_backend_mixin.py

ipam_backend_mixin contains methods common for both backends:
pluggable and non-pluggable, so moving methods to make them accessible
by backends.
Next methods were moved from db_base_plugin_v2.py to
ipam_backend_mixin.py:
- _validate_subnet_cidr
- _validate_network_subnetpools
- _allocate_pools_for_subnet
- _save_subnet

This commit moves methods without any internal changes.
All future changes and decomposition of these methods will be handled in
next commits.

Partially-Implements: blueprint neutron-ipam

Change-Id: I1ec786754467fc9039d2276f084f1bceaab15635

9 years agoMerge "Decompose _create_subnet_from_pool"
Jenkins [Tue, 23 Jun 2015 10:01:07 +0000 (10:01 +0000)]
Merge "Decompose _create_subnet_from_pool"

9 years agoMerge "Fix l3 agent to not create already deleted router"
Jenkins [Tue, 23 Jun 2015 08:16:03 +0000 (08:16 +0000)]
Merge "Fix l3 agent to not create already deleted router"

9 years agoMerge "VMWare NSXv: Add distributed URL locking to ini"
Jenkins [Tue, 23 Jun 2015 08:09:03 +0000 (08:09 +0000)]
Merge "VMWare NSXv: Add distributed URL locking to ini"

9 years agoMerge "Move _delete_port"
Jenkins [Tue, 23 Jun 2015 08:08:51 +0000 (08:08 +0000)]
Merge "Move _delete_port"

9 years agoMerge "Decompose create_port and save_subnet"
Jenkins [Tue, 23 Jun 2015 08:00:21 +0000 (08:00 +0000)]
Merge "Decompose create_port and save_subnet"

9 years agoMerge "Python3: do not set Request.body to a text string"
Jenkins [Tue, 23 Jun 2015 07:38:48 +0000 (07:38 +0000)]
Merge "Python3: do not set Request.body to a text string"

9 years agoAdd IPset cleanup script
Brian Haley [Thu, 16 Apr 2015 20:20:01 +0000 (16:20 -0400)]
Add IPset cleanup script

This will aid in removing stale IPsets when we change the prefix
used in creating IPset names.

Change-Id: Ia9ff79c34bd4c9124ec8663a8f616ded4f389f62
Partial-Bug: #1444201

9 years agoMerge "Prepare for full stack CI job"
Jenkins [Mon, 22 Jun 2015 18:26:32 +0000 (18:26 +0000)]
Merge "Prepare for full stack CI job"

9 years agoMerge "fix rootwrap debug filter for ping all"
Jenkins [Mon, 22 Jun 2015 16:37:26 +0000 (16:37 +0000)]
Merge "fix rootwrap debug filter for ping all"

9 years agoOptimize ipset usage in IptablesFirewallDriver
Rawlin Peters [Thu, 18 Jun 2015 17:22:13 +0000 (11:22 -0600)]
Optimize ipset usage in IptablesFirewallDriver

Currently, IptablesFirewallDriver._update_ipset_members() iterates
through a list of security group IDs and makes a call to
IpsetManager.set_members() for each security group ID in the list. The
problem is that set_members() is repeatedly called with the same
arguments over and over again because the list of security group IDs
contains duplicates. These duplicated calls are unnecessary because they
are idempotent.

For instance, with a security group of 50 rules created in this manner:
    neutron security-group-rule-create $SECGRP --remote_group_id $SECGRP
        --protocol tcp --port_range_min $i --port_range_max $i

Adding a server to that security group will cause 50 calls to
IpsetManager.set_members() because the list of security group IDs is 50 of
the same ID. Only one call to IpsetManager.set_members() is necessary
per security group ID.

This patch converts that list of security group IDs into a set, which
eliminates the duplicate idempotent calls to
IpsetManager.set_members() with the same arguments. This will affect
performance by reducing the amount of file locking around ipset when
adding servers to security groups.

Change-Id: Id2c8c8c1093c8abcf1fd897b23b0358aeb55b526
Closes-Bug: 1466921

9 years agoPython3: do not set Request.body to a text string
Cyril Roelandt [Mon, 22 Jun 2015 14:59:59 +0000 (14:59 +0000)]
Python3: do not set Request.body to a text string

In Python 3, Request.body must be set to a bytes object.

Change-Id: I17785d1e9eb253a1c6cae300b207fb0a08873b0e
Blueprint: neutron-python3

9 years agoPrepare for full stack CI job
Assaf Muller [Sun, 21 Jun 2015 19:34:21 +0000 (15:34 -0400)]
Prepare for full stack CI job

Related-Bug: #1467275

Change-Id: I90f4794f48ae151a888f37df26c087a7fdcd9d31

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 agoEase debugging alembic by passing proper scripts path in alembic.ini
Ihar Hrachyshka [Mon, 22 Jun 2015 13:43:20 +0000 (15:43 +0200)]
Ease debugging alembic by passing proper scripts path in alembic.ini

Otherwise, anyone who attempts to issue an alembic command with the file
gets:

  FAILED: Path doesn't exist:
  '<...>/neutron/neutron/db/migration/alembic'.  Please use the 'init'
  command to create a new scripts folder.

Change-Id: I5b5f2802b478c8d8c327d24faa838f7a6859b979

9 years agoUse string exception casting everywhere
Martin Roy [Thu, 18 Jun 2015 17:45:02 +0000 (13:45 -0400)]
Use string exception casting everywhere

Instead of the deprecated "message" member access,
casting to a string invokes the __str__ method of the exception
that is wired to return the message

Added a test of the failure cases of IpRouteCommand::delete_gateway
because they were missing

Running unit and functional tests locally no longer shows the warning
reported in the bug.

Change-Id: Ia79f526aa973ece1145615d65349f860aa3fd465
Closes-Bug: #1466542

9 years agoFix subnet creation failure on IPv6 valid gateway
David Edery [Sun, 21 Jun 2015 12:59:49 +0000 (15:59 +0300)]
Fix subnet creation failure on IPv6 valid gateway

Currently a valid IPv6 address gateway of the "*::ffff:ffff:ffff:ffff"
pattern is failing due to netaddr.broadcast returning value for both IPv6
and IPv4 addresses. IPv6 has no broadcast address so the fix checks if
the gateway is the subnet broadcast address only in the case of IPv4
subnet

Change-Id: I849f95b30343d0b1c90cf91203df220bf731d8d5
Closes-Bug: 1466322

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 agoDecompose _create_subnet_from_pool
Pavel Bondar [Fri, 19 Jun 2015 14:58:57 +0000 (17:58 +0300)]
Decompose _create_subnet_from_pool

Moved validations into separate methods:
- _validate_pools_with_subnetpool
Verifies that allocation pools are set only for specific subnet request.
For any subnet request allocation pools can not be set manually
- _validate_ip_version_with_subnetpool
Verifies that subnet has the same ip version as subnet pool

Partially-Implements: blueprint neutron-ipam

Change-Id: I63f6aa2a0c94c3437fa624ac800943976f4fc50f

9 years agoMove _delete_port
Pavel Bondar [Thu, 18 Jun 2015 12:24:44 +0000 (15:24 +0300)]
Move _delete_port

Pluggable ipam implementation will do additional actions on port
deletion (deallocate ip using ipam driver).
Existing _delete_port code will be resused.
Moving _delete_port to ipam_backend_mixin to make this code
accessible and extendable by both backends (pluggable and non
pluggable).

This commit is a preparation step before pluggable ipam implementation
can be used.

Partially-Implements: blueprint neutron-ipam

Change-Id: If6cd623aad9e5501a26e5fb8cdecd5f55e85cd05

9 years agoDecompose create_port and save_subnet
Pavel Bondar [Thu, 18 Jun 2015 11:52:24 +0000 (14:52 +0300)]
Decompose create_port and save_subnet

This commit is a preparation step for enabling pluggable ipam.
Some actions in create_port and save_subnet are specific for
non pluggable ipam implementation.

- create_port
Moved allocation ips for port and storing results into separate method
_allocate_ips_for_port_and_store.
Moved to ipam_non_pluggable_backend, since pluggable implementation will
be different due to rollback on failure logic included.

- save_subnet
Moved saving allocation pools into new method _save_allocation_pools.
Moved to ipam_non_pluggable_backend, since pluggable ipam implementation
does not need to save IPAvailabilityRange (availability ranges are
maintained by ipam driver for pluggable case)

Partially-Implements: blueprint neutron-ipam

Change-Id: I4a3e5d7f3aa54630279d9589225a509c96ed2186

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 agoFix l3 agent to not create already deleted router
Oleg Bondarev [Thu, 11 Jun 2015 10:38:55 +0000 (13:38 +0300)]
Fix l3 agent to not create already deleted router

In case router is deleted during l3 agent resync,
the "deleted" event is processed with higher priority, then
resync event for the router may be processed which will recreate
already deleted router.
This happens due to timestamp not being properly updated for deleted
router in router processor.
The fix adds timestamp update for deleted router.

Functional test will be updated in a follow-up patch

Logging was improved to make debugging a bit easier.

Closes-Bug: #1455439
Change-Id: I2d060064acccc10591a3d90be9011f116548cfce

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 agoDon't delete DVR namespace if there are still ports on this node
shihanzhang [Mon, 15 Jun 2015 06:51:16 +0000 (14:51 +0800)]
Don't delete DVR namespace if there are still ports on this node

Skip deleting DVR namespaces if they contain ports in the BUILD or
DOWN status.

Change-Id: I026f2014ede800c0f4532ca15f1fccdaa59d5b61
Closes-bug: #1464527

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 agoFix SR-IOV mech driver to set port status to down when agent is required
Moshe Levi [Thu, 11 Jun 2015 09:24:03 +0000 (12:24 +0300)]
Fix SR-IOV mech driver to set port status to down when agent is required

SR-IOV mech driver has 2 modes agent and agent-less. Currently in both
modes port status are active. This patch update the port status to down
when using agent mode. This will allow the SR-IOV agent to get port
update notification and apply its additional functionality
when launching vm.

Co-Authored-By: Berezovsky Irena <irenab.dev@gmail.com>
Closes-Bug: #1464186

Change-Id: Ibd9b31b4f2393b8732253d5cbfd36e8b5614860d

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"