Opening stable/icehouse

Bump version to next stable release on icehouse branch, and set
defaultbranch in .gitreview for convenience.

Change-Id: I70ddfb8cc70f9d7fca4ff63f95d5bd9c7fb7ef81
NSX: ensure dhcp port is setup on metadata network

Change in scheduling behavior caused a regression
where the dhcp port is no longer provisioned on
the (admin) metadata network created when a subnet
is uplinked to a router.

This change recovers the past behavior and extend UT
coverage to avoid further regression.

Closes-bug: #1304127

Change-Id: I8420203f68a43368f3784adb0c4cbbe55f048662
(cherry picked from commit 4cb3eb2a98246f28f8016cfe32946d365203fbae)
gw_port should be set as lazy='join'

This forces the object to be ready ahead of accessing time.
The change in loading behavior is also beneficial while listing
routers, as reduces the amount of queries being issued. Tests
show a performance gain of 15-30% for router-list times.

As Mr. Aaron Rosen is used to saying: Woot woot!!

Closes-bug: #1309144

Change-Id: Ibae261b91de26ca7c50e3f6c80e9be2a799785a3
(cherry picked from commit 966dbb5368d710e2652b18f5b9cb4295f58598da)
Validate CIDR given as ip-prefix in security-group-rule-create

There was no validation for the provided ip prefix. This just adds
a simple parse using netaddr and explodes with appropriate message.
Also makes sure ip prefix _is_ cidr (192.168.1.1-->192.168.1.1/32).

Validation occurs at the attribute level (API model) as well as at
the db level, where the ethertype is validated against the ip_prefix
address type.

Unit test cases added - bad prefix, unmasked prefix and incorrect
ethertype. Also adds attribute test cases for the added
convert_ip_prefix_to_cidr method

Closes-Bug: 1255338

Conflicts:
	neutron/tests/unit/test_security_groups_rpc.py

Change-Id: I71fb8c887963a122a5bd8cfdda800026c1cd3954
(cherry picked from commit 65aa92b0348b7ab8413f359b00825610cdf66607)
netaddr<=0.7.10 raises ValueError instead of AddrFormatError

This patch ensures that ValueError is also caught in addition to
AddrFormatError as in netaddr>=0.7.11 AddrFormatError is raised and
in netaddr<=0.7.10 ValueError is raised.

Change-Id: I595c90e42129a2d365f3860e3042e826bd031365
Closes-bug: #1308675
(cherry picked from commit dd2ccd12adfb6c7d4aa500ba4120f767beeed35c)
Merge "NSX: ensure dhcp port is setup on metadata network" into stable/icehouse
NSX: Fix fake_api_client to raise NotFound

If one quries NSX doing GET /ws.v1/lswitch/LS_UUID/lport and LS_UUID
is a UUID that does not exist in NSX. NSX raises a 404. If LS_UUID is *
NSX returns an empty result string. This patch fixes the fake_api_client
so that it's behavior is correct.

Change-Id: Id66299d6ae3cfa43a65d4cb28f34348d64d8ed65
Closes-bug: 1311291
(cherry picked from commit dd143a619900792a0563b9ac4fe1f78197291d94)
Merge "gw_port should be set as lazy='join'" into stable/icehouse
Merge "NSX: Fix fake_api_client to raise NotFound" into stable/icehouse
Update ensure()/reconnect() to catch MessagingError

The error handling code that gets connections reset if necessary
caught ConnectionError. It really needs to catch MessagingError,
which ConnectionError inherits from. There are other types of
MessagingErrors that may occur, such as InternalError, and they need
to cause the connection to reset, as well.

This fix has already been merged into oslo.messaging.

--

Cherry-picked from oslo-incubator 234f64d608266f43d8856ff98c89ceba6699d752
See also https://bugzilla.redhat.com/show_bug.cgi?id=1086077

Closes-bug: #1303890
Change-Id: Ic5082b74a362ded8b35cbc75cf178fe6e0db62d0
(cherry picked from commit 9a830b370551019a4bd3a0c7504f48961e755bd4)
IBM: set secret=True on passwd config field

This should carry secret=True to avoid being logged as clear text.

Change-Id: I7d15b9648b3a037589405b9ca9d26aae4a834f15
Closes-bug: 1311943
(cherry picked from commit 4c82fc82238c56400998e3e25b3039e817015bac)
Fixed floating IP logic in PLUMgrid plugin

  * Fixed associate and disassociate
    floating IP logic
  * Added unit tests

Change-Id: I310f5550bca1c9015cbda3e0338eb90a36dc96f1
Closes-Bug: 1298495
(cherry picked from commit 9f8cb33557ecc7c0a832610e913a56a8b8e6c524)
NSX: add nsx switch lookup to dhcp and metadata operations

The operations in questions were still using the neutron network
uuid as the nsx switch uuid, but this is no longer valid.

Close-bug: #1312439

Change-Id: I0f4bf02bb176c5c3914c7dd7e8249121af1b5a79
(cherry picked from commit 0f2f768578900a7ca74091ab400bd9facce9eaf9)
NSX: change api mapping for Service Cluster to Edge Cluster

NSX 4.2 GA has tweaked the naming for certain resources. Edge
Cluster vs Service CLuster is one of them.

Closes-bug: #1312822

Change-Id: Id4ddd99128c5e82e7a40c2d9e7385b272549cc3e
(cherry picked from commit 07a8751f799ede6b3d4868d8268148f21e17a47a)
Merge "Fixed floating IP logic in PLUMgrid plugin" into stable/icehouse
NSX: fix migration for networks without a subnet

In case the network is without a subnet, calling the validation
logic during the report phase leads to an error because the LSN
would have been already allocated during the migration phase.

Bypass the issue by calling the plugin directly, which is what
the validation logic does in the first place.

Closes-bug: #1313997

Change-Id: I14f77ae3b0cc147c4ea1c79e56bdd809de7c76a0
(cherry picked from commit 47e51e7521784f6a2edcfbf71a9aac0237e76e42)
Merge "NSX: change api mapping for Service Cluster to Edge Cluster" into stable/icehouse
NSX: fix API payloads for dhcp/metadata setup

NSX 4.2 GA has tweaked the way dhcp and metadata
ports are configured. This patch takes care of
that.

Closes-bug: #1312822

Change-Id: I4e8496bf721c0f35df4228ec9c6f8066275e8c7a
(cherry picked from commit bfdec043f1429ac4aa884e9422861b4e6c1ca815)
Make default nova_url use a version

The default nova_url for neutron is missing an API
version number. This can cause requests to fail
because the Nova /versions API cannot respond
to Neutron notification requests.

It seems reasonable for the default value to
at least have a chance at being correct so
this patch upgrades the default Nova API url to
use the Nova 'v2' API.

Related-bug: #1298640
Change-Id: Ib1449de84fbc01fb704ebfe4a016ac8f4932be96
(cherry picked from commit c09a14089a5ca7cd3093895ee0248876499a6d06)
set api.extensions logging to ERROR in unit tests

neutron.api.extensions generates a lot of output in a normal
unit test run. It's responsible for > 80% of the lines in the
subunit_log.txt. Logging each file load 10k times slows everything
down, takes up valuable memory, and doesn't really help with testing.

Instead we can set this to ERROR level in a fixture to ignore most
of that logging and help make the unit tests run faster.

Change-Id: I86b41f20342b4080859ee036220ddffa200f0562
(cherry picked from commit df96a03e6c74f1fceb4525900bca885307907b79)