The wsgi-intercept dependency is only used in the functional
tests for the placement API, so we should move it to the
test-requirements.txt file so people don't try to package
it for runtime installs.
Change-Id: I0d8325e12ed7d5d022877782d6aa4ba4055c30db
Closes-Bug: #1625653
This sets up a scheduler report client that talks to a real
placement API (running via a wsgi-intercept). It then calls methods
to verify that a resource provider is created, some inventory set,
and some allocations written and deleted. For now this checks
simply that when things are done right, the right things happen
without any explosions. Additional tests could be added for unhappy
paths.
Some mocking of keystoneauth1 is required to get auth and endpoint
handling to work properly without a real keystone.
wsgi-intercept is added to requirements.txt to make the use of it in
these tests explicit. wsgi-intercept is already in global
requirements and is already required in nova (at a higher version)
by gabbi.
Change-Id: Ic28ace11796d7d746a16bdfa27cef9b8640f8c0e
This introduces a os_vif_utils module to nova/network which
contains logic for converting between the existing Nova
python objects in the nova.network.model namespace, and
the os-vif objects under os_vif.objects
The conversion is currently only wired up for the Linux
Bridge and OVS VIF types, which are directly supported
by os-vif. Conversion of other types will follow as &
when os-vif plugins are created for them.
This object model conversion is only expected to exist
for a short-term. The intention is that Neutron will
later be converted so that it sends across a serialized
os_vif.objects.vif.VIFBase object, instead of the port
binding dict. When this happens, Nova will be able to
directly deserialize the os-vif objects, skipping all
use of the nova.network.model objects.
As part of using os-vif, each registered plugin gets the
ability to read config parameters from nova.conf in a
private section named 'vif_plug_<plugin name>'. For
example the OpenVSwitch plugin will be in 'vif_plug_ovs'.
Plugins which make use of oslo.privsep for running some
privileged code will have a further private section in
nova.conf named 'vif_plug_<plugin namee>_privileged'
from which the privsep library will pull its configuration.
It is unlikely that operators will need to set any params
in this section, since the defaults should work optimally
for almost all scenarios.
Blueprint: os-vif-library
Change-Id: Id78858bc55ce4f3f0727cad644ef9c8f9f718556
Any process using oslo.privsep should now initialise the library before
first use with things like the rootwrap command to use.
This should be done near the top of main() in any command that expects
to make privileged calls via oslo.privsep (eg: nova-compute, and not
nova-api).
See I3ea73e16b07a870629e7d69e897f2524d7068ae8 for the corresponding
change in oslo.privsep.
Change-Id: I3a52f762deb176fe9201b2a0f0da363057f8aaec
Depends-On: I52259e2023e277e8fd62be5df4fd7f799e9b36d7
Closes-Bug: #1592043
This drops the paramiko < 2 compatibility code so we only need to
support one major version.
Depends-On: I2369638282b4fefccd8484a5039fcfa9795069a7
(global requirements change)
Change-Id: Ife4df9e64299e1182d77d568d1deed5ec3b608b3
Closes-Bug: #1483132
Running "tox -e pip-missing-reqs" was broken around the
time of the Mitaka release and we missed this requirement.
nova/crypto.py:29 dist=pycrypto module=Crypto.PublicKey.RSA
Essentially, since we are constrained using upper-constraints.txt
and the upper-constraints.txt has an entry for pycrypto, we
do not see a problem anywhere.
The dependency was introduced in:
If88beeb3983705621fe736995939ac20b2daf1f3
Closes-Bug: #1578047
Change-Id: I12978a6ca49524aa2256930617a259023e6908eb
microversion_parse is a new simple library that does one job: it
extracts microversions from headers. By default it will look for
the new style 'OpenStack-API-Version: compute 2.15' but can be
called to look in a variety of old style headers.
In this change 'X-OpenStack-Nova-API-Version: 2.15' continues to
work and no further changes are done. Followup patches will add
tests for the new style header and versioning of the microversion
(if required).
Depends-On: Iea8bf5cc70ad24bb352347ef347be71817db3dc5
Change-Id: I9098ab8f0800fb0550887f5eff219b18addde709
Alembic was used in attempt #1 of online schema migrations, however
that was reverted in Icae28ceee3ec975c907d73b95babab58dcb30c23 when
that approach was dropped.
There are no other uses of alembic directly in Nova, so we should not
list this requirement.
Change-Id: I452bfc8454aedff1bbaffacc99d0845186ba4234