Commit Graph

331 Commits

Author SHA1 Message Date
Jenkins 2746402350 Merge "Use plain routes list for os-assisted-volume-snapshots endpoint" 2017-05-04 12:21:01 +00:00
Jenkins de5cfea77d Merge "Use plain routes list for os-agents endpoint instead of stevedore" 2017-05-04 12:20:25 +00:00
Jenkins 686f500ed2 Merge "Use plain routes list for os-floating-ip-dns endpoint instead of stevedore" 2017-05-04 12:17:12 +00:00
Jenkins 2ba7f781dd Merge "Use plain routes list for os-floating-ips-bulk endpoint instead of stevedore" 2017-05-04 01:52:09 +00:00
Jenkins 700ab86f8d Merge "Use plain routes list for os-floating-ip-pools endpoint instead of stevedore" 2017-05-03 17:00:03 +00:00
Jenkins 10e086697c Merge "Use plain routes list for server-metadata endpoint instead of stevedore" 2017-05-03 16:00:31 +00:00
Jenkins 97b4014510 Merge "Add pbr-installed wsgi application for metadata api" 2017-05-03 10:35:12 +00:00
Jenkins 19fdd69048 Merge "Remove nova-cert leftovers" 2017-05-03 03:26:50 +00:00
Kevin_Zheng f41acdd57e Use plain routes list for server-metadata endpoint instead of stevedore
This patch adds server-metadata related routes by a plain list,
instead of using stevedore. After all the Nova API endpoints moves to the
plain routes list, the usage of stevedore for API loading will be removed
from Nova.

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: I88ca06d63016ffd1e38b61e6de0b75f88ecdb138
2017-05-03 02:45:17 +00:00
Chris Dent bc257f7a23 Add pbr-installed wsgi application for metadata api
Modify the wsgi application for the compute api so that it can be
used by different services and use it for the metadata service,
resulting in a wsgi script named nova-metadata-wsgi.

Change-Id: Icb35fe2b94ab02c0ba8ba8129ae18aae0f794756
2017-05-02 16:58:11 +00:00
Emilien Macchi f2121f5880 Remove nova-cert leftovers
Right now, we can't build Nova package in RDO because the tooling still
find some bits for nova-cert in Nova codebase.
This patch aims to purge them:

- man entry for nova-cert
- nova-cert binary in setup.cfg

Change-Id: Iebee0fbcdad5808e6543e3bcad10ea1f08b8f306
2017-05-02 08:19:29 -04:00
ghanshyam 564f14f4bc Use plain routes list for os-assisted-volume-snapshots endpoint
This patch adds os-assisted-volume-snapshots related routes
by a plain list, instead of using stevedore. After all the Nova
API endpoints moves to the plain routes list, the usage of stevedore
for API loading will be removed from Nova.

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: I1dabc1021e6899d5d5c293e3af3eccfba8d245e2
2017-05-01 20:59:26 +03:00
ghanshyam 891fe89fb5 Use plain routes list for os-agents endpoint instead of stevedore
This patch adds os-agents related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for API loading will be
removed from Nova.

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: Ie34c861cdcab5ae7ea73e8c00e9c190ae6a32a94
2017-05-01 20:31:17 +03:00
ghanshyam 58676763b9 Use plain routes list for os-floating-ip-dns endpoint instead of stevedore
This patch adds os-floating-ip-dns related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for API loading will be
removed from Nova.

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: Id0df46d980c8141e6207d221e9bbe1d31f50aea3
2017-05-01 20:03:20 +03:00
ghanshyam 79093584de Use plain routes list for os-floating-ips-bulk endpoint instead of stevedore
This patch adds os-floating-ips-bulk related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for API loading will be
removed from Nova.

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: Ibd52a1dd8b1f0b89d6ed9547131ccfe25a36275a
2017-05-01 19:22:14 +03:00
ghanshyam ed0abdbc68 Use plain routes list for os-floating-ip-pools endpoint instead of stevedore
This patch adds os-floating-ip-pools related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for API loading will be
removed from Nova.

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: I50de6ca3fa7ad6bd1ca317682fd0ab0362ea9e29
2017-05-01 19:01:16 +03:00
ghanshyam 0710fdaf4e Use plain routes list for os-floating-ips endpoint instead of stevedore
This patch adds os-floating-ips related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for API loading will be
removed from Nova.

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: Iffcd760bc7b9f35596255ab8e59734166eed98af
2017-05-01 18:39:40 +03:00
Jenkins 49d82a5b22 Merge "Register osapi_compute when nova-api is wsgi" 2017-04-26 18:09:10 +00:00
Chris Dent d3c084f234 Register osapi_compute when nova-api is wsgi
When the nova-api services starts from its own standalone binary it
registers itself in the services table. The original wsgi script in
nova/wsgi/nova-api.py did not, leading to the bug referenced below.

The new wsgi script at nova.api.openstack.compute.wsgi, modelled on
a similar thing used for the placement API, provides the necessary
service registration.

If a ServiceTooOld exception happens while trying to register the
service then a very simple (currently very stubby) application is
loaded instead of the compute api. This application returns a 500
and a message.

Some caveats/todos:

* wsgi apps managed under mod-wsgi (and presumably other containers)
  are not imported/compiled/run until the first request is made. In
  this case that means the service handling does not happen until
  that first request, somewhat defeating the purpose if the api is a
  bit idle.

Change-Id: I7c4acfaa6c50ac0e4d6de69eb62ec5bbad72ff85
Closes-Bug: #1661360
2017-04-25 15:40:37 +00:00
He Jie Xu a72a36c0f6 Use plain routes list for '/os-aggregates' endpoint instead of stevedore
This patch adds '/os-aggregates' related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for API loading will be
removed from Nova.

Also note that the original 'ProjectMapper' use the 'routes.Mapper.resource'
to create a set of routes for a resource which comform to the Atom
publishing protocol. It includes some of URL mappings we didn't document
before. This patch will remove those URL mappings. For the detail,
please reference:
http://lists.openstack.org/pipermail/openstack-dev/2017-March/114736.html

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: Ia41c096a579eb1a7c5b99bd6e9267ab4b7f81776
2017-04-25 22:38:37 +08:00
He Jie Xu c20d52d1af Use plain routes list for '/os-keypairs' endpoint instead of stevedore
This patch adds '/os-keypairs' related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for API loading will be
removed from Nova.

Also note that the original 'ProjectMapper' use the 'routes.Mapper.resource'
to create a set of routes for a resource which comform to the Atom
publishing protocol. It includes some of URL mappings we didn't document
before. This patch will remove those URL mappings. For the detail,
please reference:
http://lists.openstack.org/pipermail/openstack-dev/2017-March/114736.html

Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I9b18e7acce37ba935f4302cc89c3aeccc4f50915
2017-04-25 22:38:37 +08:00
ghanshyam 45011b4f72 Use plain routes list for flavors-access endpoint instead of stevedore
This patch adds flavors-access related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for API loading will be
removed from Nova.

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: I284516a396e99a5a1c2113ad4ef3e4618628caa9
2017-04-25 22:38:37 +08:00
ghanshyam e91a282a31 Use plain routes list for flavors-extraspecs endpoint instead of stevedore
This patch adds flavors-extraspecs related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for API loading will be
removed from Nova.

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: I7578ef265458365b44b366c4021d0566c39ea936
2017-04-25 22:38:37 +08:00
ghanshyam 66dd9aa1ce Use plain routes list for flavor endpoint instead of stevedore[1]
This patch adds flavor related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for API loading will be
removed from Nova.
flavor access and extraspecs router will be added in part2.

Also note that the original 'ProjectMapper' use the 'routes.Mapper.resource'
to create a set of routes for a resource which comform to the Atom
publishing protocol. It includes some of URL mappings we didn't document
before. This patch will remove those URL mappings. For the detail,
please reference:
http://lists.openstack.org/pipermail/openstack-dev/2017-March/114736.html

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: I1c3db4e94ccc27925d800876dcf470614f563cd1
2017-04-25 22:38:37 +08:00
He Jie Xu 874ba55a49 Use plain routes list for '/servers' endpoint instead of stevedore
This patch add '/servers' related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for loading the API
will be removed from Nova.

To remove the servers extension from stevedore, all the extensions
which depend on servers needs to be removed together. Those
extensions are about the servers API response extension and the action
extension.

Also note that the original 'ProjectMapper' use the 'routes.Mapper.resource'
to create a set of routes for a resource which comform to the Atom
publishing protocol. It includes some of URL mappings we didn't document
before. This patch will remove those URL mappings, also remove the
corresponding URL mappings for 'os-volumes_boot' endpoint. For the detail,
please reference:
http://lists.openstack.org/pipermail/openstack-dev/2017-March/114736.html

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: I76c384c10bd804fc2049aef305044149bb55d0dc
2017-04-25 22:38:33 +08:00
Matt Riedemann 75a7e6fc7d Remove unused os-pci API
The os-pci API was never part of the v2.0 API and was added
to the v3 API, but when the v3 API turned into the v2.1 API
which is backward compatible with the v2.0 API, the os-pci
API was removed from v2.1. The original intent was to enable
it in a microversion but that never happened.

We should just delete this API since it has a number of issues
anyway:

1. It's not documented (which makes sense since it's not enabled).
2. The PciHypervisorController just takes the compute_nodes.pci_stats
   dict and dumps it to json out of the REST API with no control over
   the keys in the response. That means if we ever change the fields
   in the PciDevicePool object, we implicitly introduce a backward
   incompatible change in the REST API.
3. We don't want to be reporting host stats out of the API [1].
4. To make the os-hypervisors extension work in a multi-cell environment
   we'd have to add uuids to the PciDevices model and change the API to
   return and take in uuids to identify the devices for GET requests.
5. And last but not least, no one has asked for this in over two years.

As a result of removing this API we can also remove the join on the
pci_devices table when showing details about an instance or listing
instances, which were added years ago because of the PciServerController:

Id3c8a0b187e399ce2acecd4aaa37ac95e731d46c

Id3e60c3c56c2eb4209e8aca8a2c26881ca86b435

[1] https://docs.openstack.org/developer/nova/policies.html?#metrics-gathering

Closes-Bug: #1426241
Closes-Bug: #1673869

Change-Id: I9099744264eeec175672d10d04da69648dec1a9d
2017-04-18 23:47:40 -04:00
Jenkins 9afa680a81 Merge "Remove domains *-log-* from compile_catalog" 2017-04-10 17:11:33 +00:00
He Jie Xu 56d7c05d3f Remove the stevedore extension point for server create
This patch remove the stevedore extension point for server
create.

This patch move all the extension points into ServersController
class attribute 'server_create_func_list'. This is for
backward-compatible with the stevedore extension interface.

The final goal is that merging all of those extended code into
the ServerController. So this is a middle step for refactor.

Partial-implement-blueprint api-no-more-extensions-pike

Change-Id: I9a8f56037b35e89543626922221b910ab8b1917e
2017-04-06 18:52:11 +00:00
Andreas Jaeger 0057ec5135 Use Sphinx 1.5 warning-is-error
With pbr 2.0 and Sphinx 1.5, the setting for treat sphinx warnings as
errors is setting warning-is-error in build_sphinx section. Migrate the
setting from the old warnerror one.

Change-Id: Icd5cf4c279c566e1eddeede8df11a9d1c4d4c83f
2017-03-03 18:52:56 +01:00
Alfredo Moralejo 2024a927d3 Remove domains *-log-* from compile_catalog
Translation for logs are being retired [1] and compile_catalog
will fail once they are not found.

[1] http://lists.openstack.org/pipermail/openstack-i18n/2017-March/002799.html

Change-Id: I6467340ec583e357c097dbdfd3c16fe5de73eaad
2017-03-01 09:48:13 +00:00
Takashi NATSUME 1585ca189e Fix doc generation warnings
Fix the following warnings.

- A warning in config sample generation
- Warnings about nova-status.rst

Change-Id: Ifcc3b4a89eeea9d0dd62e2a8b560c5e6a9ff3d1a
Closes-Bug: #1659485
2017-02-24 17:43:08 +00:00
Jenkins 99b4bc34ad Merge "conf: remove deprecated image url options" 2017-02-09 12:23:19 +00:00
Maciej Szankin ff8dcf6dcd conf: remove deprecated image url options
Change-Id: I7687cc89545a7a8b295dd6535b4ccebc913a2e0e
Implements: blueprint centralize-config-options-pike
2017-02-03 21:32:33 +00:00
OpenStack Proposal Bot 9385eaff09 Updated from global requirements
Change-Id: I740a7d5e9f1740e2b1d1fbd9cff110fa83741e29
2017-01-20 19:43:54 +00:00
Dina Belova ecc8de8d6c Integrate OSProfiler and Nova
* Add osprofiler wsgi middleware. This middleware is used for 2 things:
  1) It checks that person who want to trace is trusted and knows
     secret HMAC key.
  2) It starts tracing in case of proper trace headers
     and adds the first wsgi trace point with info about the HTTP request

* Add initialization of osprofiler on start of a service
  Currently that includes oslo.messaging notifier instance creation
  to send Ceilometer backend notifications.

oslo-spec: https://review.openstack.org/#/c/103825/
python-novaclient change: https://review.openstack.org/#/c/254699/
based on: https://review.openstack.org/#/c/105096/

Co-Authored-By: Boris Pavlovic <boris@pavlovic.me>
Co-Authored-By: Munoz, Obed N <obed.n.munoz@intel.com>
Co-Authored-By: Roman Podoliaka <rpodolyaka@mirantis.com>
Co-Authored-By: Tovin Seven <vinhnt@vn.fujitsu.com>

Implements: blueprint osprofiler-support-in-nova
Change-Id: I82d2badc8c1fcec27c3fce7c3c20e0f3b76414f1
2017-01-18 15:00:14 +07:00
Matt Riedemann a1f3a5946a Add nova-status upgrade check command framework
This adds the basic framework for the nova-status
upgrade check commands. Follow up patches will flesh
this out to perform cells v2 and placement API related
upgrade status checks.

A man page is added for the new CLI and as part of that
the man page index is sorted.

Part of blueprint cells-scheduling-interaction
Part of blueprint resource-providers-scheduler-db-filters

Change-Id: I687dd7317703a1bb76c197ebba849ca368c0872e
2016-12-19 16:40:50 -05:00
Mike Perez c07c0d4b8e Remove deprecated nova-all binary
This was deprecated and to set to be removed in Ocata. It was only
intended for testing purposes and not for production use. Individual
binaries will be used instead.

Change-Id: I260962ec7c4167b07e9480a04454a9cb5666f8ed
2016-10-12 10:02:17 -07:00
Jenkins c52920aced Merge "Adds nova-policy-check cmd" 2016-09-01 17:56:56 +00:00
Sean Dague d957bfb9f1 create placement API wsgi entry point
We want a wsgi_script as the entry point for our placement API
actually getting run, this is wrapping in the smooth and mellow pbr
patterns that make it sensible to also run just by starting it on the
command line.

This also actually initializes the logging subsystem for the placement
API, and does the standard pattern of dumping the configuration if
DEBUG is enabled. Pieces of this were cribbed/inspired by equivalent
keystone code.

The config directory is now setable via environment, which may be be
needed by folks with venvs.

Change-Id: I00d032554de273d7493cfb467f81687c08fd5389
2016-08-30 21:20:08 -04:00
Claudiu Belu 9864801d46 Adds nova-policy-check cmd
This patch adds new command line 'nova-policy'. This is administrator
command line, it is tool for experience the policy discovery which
is still under-development.

Co-Authered-by: Alex Xu <hejie.xu@intel.com>

Change-Id: If4abf0fca043de2cb5c719a53505526f3c0b871b
Implements: blueprint discoverable-policy-cli
2016-08-29 14:59:58 +08:00
Andrew Laski 3b609a52fb Add entry_point for oslo policy scripts
There are two helper scripts in oslo.policy to help deployers understand
their policy configuration better. With the setup.cfg entry these can be
called directly from oslo.policy.

Change-Id: I08dc33367401ec1f98e1795a52d4e981f09a07de
Implements: bp policy-in-code
2016-08-24 16:37:13 -04:00
Matt Riedemann 7596c1f3d9 Remove leftover list_opts entry points
All remaining list_opts methods come from nova.conf.opts
now so remove the last remaining unused (nonexistent)
list_opts registrations.

Change-Id: Idfc9c464bae828dd1d024369cb972401e52ac101
2016-07-28 18:15:13 -04:00
Matt Riedemann 5c08552cc8 Remove nova.cache_utils oslo.config.opts entrypoint
There was never a list_opts method in nova.cache_utils,
and the options registeration was moved to nova.conf.cache
in 466bce576a so we can
cleanup the entrypoint.

Change-Id: If02620752c1bb018117f2c6755d9b9661185e4d6
2016-07-28 18:14:12 -04:00
Matt Riedemann 760826f302 Remove neutronv2.api oslo.config.opt entry point
list_opts was moved from neutronv2.api to nova.conf.neutron
in 1b8b0834a0 so we can cleanup
this broken entry point.

Change-Id: Ie3e1b25b6a0117aed2f87d1fd6ecaab35201349f
2016-07-28 18:14:11 -04:00
Jenkins 317f7d758c Merge "Add policy sample generation" 2016-06-29 14:32:04 +00:00
Andrew Laski 5e38fa3cb5 Add policy sample generation
This adds the entry point and config file necessary for using the
oslo.policy sample generation script. It also adds a tox target to
simplify the usage of it.

The command is also run in the docs tox target since the sample file
can be considered documentation.

Change-Id: I18a1fa567fc04b0e0a37c02f20024b2ce483f060
Partially-Implements: bp policy-in-code
2016-06-28 20:52:44 +00:00
Sean Dague 76b58b8f89 remove personality extension
This removes personality extension, as well as the rebuild extension
point for servers.

We add an operation flag to translate extension because personality
extension uses different kwarg names depending on the operation. This
is done with a set of constants which should prevent typos silently
causing failures.

A few variables are renamed in servers.py to avoid multiline
statements.

Part of bp:api-no-more-extensions

Change-Id: I47deae0279f85d9a355d1248b6e90af732406514
2016-06-24 14:44:53 -04:00
Sean Dague f26739394f remove preserve-ephemeral rebuild extension
This folds this back into the main rebuild flow. As there were no unit
tests for this, doing so was pretty simple.

Part of bp:api-no-more-extensions

Change-Id: I19f791ed5af917b5509940765fedc1b944fcf315
2016-06-24 14:32:23 -04:00
Sean Dague 600480e59d remove access_ips extension
Part of bp:api-no-more-extensions

Change-Id: Id48dfdf29bb6b250ad505428bd034074cb611cc1
2016-06-24 14:32:23 -04:00
Sean Dague 525285eb1c remove os-disk-config part 4
There are no test changes as all new code is tested by the
extension_info functional tests, and should we want to eliminate the
extension_info portion of our API later, new tests would just make
this much harder to tear down.

This modifies default policy to drop os-disk-config as well as
modifying extension tests to pass even though we're injecting
additional hardcoded items into the list for compatibility.

Part of bp:api-no-more-extensions

Change-Id: I0192ccef7e858fd0ff15c339f683abaabbdc09b7
2016-06-22 07:36:33 -04:00