Add a requirements file for contrib/rackspace/

This is so we have a common API for installing contrib plugins
from devstack.

Change-Id: Ib9bf2f7712be0e2112c9b44fc5579b25e609f2e2
See: https://review.openstack.org/#/c/71199/
Replace stack_get_all_by_tenant with stack_get_all

Preparing the database for the unscoped list stacks, this removes
stack_get_all_by_tenant in favor of a single function that is tenant
aware.  This way, you can call stack_get_all(tenant_safe=False) and get
all stacks, regardless of the tenants.

tenant_safe defaults to True.

Implements: blueprint management-api (partial)
Change-Id: Ifdcfc44a3483a089ae803cfd044151262957674a
Evaluate lazy functions in autoscaling launch config

Instead of just copying an autoscaling launch config, first resolve any
lazily-evaluated functions by calling function.resolve(). This also has
the same effect as doing copy.deepcopy() for our purposes, so there is no
need to do both.

Change-Id: I5621c9bd1ef7686f5cf321e39e1a457f31d0783d
unit tests: Always resolve static functions

In some unit tests we were passing data to handle_update() that had not
been passed through Stack.resolve_static_data() and getting away with it
because it contained only runtime functions. With the move to only one
kind of function, this is no longer sufficient.

Change-Id: I08b968b2a83fd3c1f0af97e62ea4745c87c24652
Fix test_association_eip unit test

Change-Id: I8e8cb6642402b898003e7227914c409fa443a320
unit tests: Fix types in Fn::ResourceFacade tests

The Metadata and UpdatePolicy sections of a template contain maps, not
strings.

Change-Id: I09288cc87be8d9927142107ced7d6835897a5428
Move refresh_server() to nova_utils

Move refresh_server() to nova_utils so Server, Instance, and
CloudServer can use it.

Change-Id: Ib97eead3930a6a7de66ffa6aa4453b2bab80b0c6
Add ability to create provider networks (vlan,flat).

Provider network map directly to an existing physical network in
a data center. It's routable by default. Neutron v2.0 API implements
it using Provider Networks Neutron API Extension. This is different
from tenant network(implemented by 'OS::Neutron::Net'resource) and has
different requirements.

This ('OS::Neutron::ProviderNet') resource leverages additional
attributes as listed below from Neutron API extension.

provider:network_type - Specifies the nature of the physical network
mapped to this network resource. Examples are flat and vlan.

provider:physical_network - Identifies the physical network on top of
which this network object is being implemented.

provider:segmentation_id - Identifies an isolated segment on the
physical network.

Change-Id: Ic085d13c866722b0e6ed9fd7a4f43dd92d5b1a0b
Implements: blueprint neutron-net-resource-add-provider-network
Fix resource mapping for Rackspace

resource_mapping() always returns all existing resource names and
their classes. available_resource_mapping() takes the dependencies
into account and only returns the ones whose dependencies have been
met.

Partial-Bug: #1271226
Change-Id: I3a7467e87f7ff81badd51f121ecea98f2924e506
Rackspace Cloud Networks resource

Rackspace Cloud Networks isn't compatible with Neutron, so this
resource allows the use of that service.

Change-Id: Ie44f6e2490abc32c89a77bee1ccdd0964bdbcc8b
Add flavor constraint

The patch adds a new nova.flavor constraint which allows validating
against existing nova flavors.

Change-Id: Ie2b5eb698eb23bb0b265caa7fdcf93976ab70e28
Co-Authored-By: cedric.soulas@cloudwatt.com
Merge "Move refresh_server() to nova_utils"
Merge "Add a requirements file for contrib/rackspace/"
Merge "Evaluate lazy functions in autoscaling launch config"
Merge "unit tests: Always resolve static functions"
Merge "Add flavor constraint"
Merge "Fix resource mapping for Rackspace"
Merge "Rackspace Cloud Networks resource"
Merge "Fix test_association_eip unit test"
Merge "unit tests: Fix types in Fn::ResourceFacade tests"