This refactors resource dependencies to improve the following points.
- Avoid unnecessary dependencies across services. For example aodh
service does not require cinder db.
- Restart only api service when config files like paste.ini, which
are used only be api service is changed.
Change-Id: Id4916244bdf4cd4ff2b45a45ec3e25fb0d115249
This removes leftover of a few options already removed from nova.
1. [DEFAULT] enable_network_quota
This option was for nova-network and has been removed[1].
2. [api] allow_instance_snapshots
This was removed by [2]
3. [api] hide_server_address_states
This was removed by [3]
[1] 6fe31d97542467656cdecd90c2e0a9057a4f7480
[2] 1b112acb344bce835c98759fea2e89ffdfdd967b
[3] 9b69afd4573bf6e44d696e2bdacac44f172e8f3c
Change-Id: I937176f33f7391cac8a7da38fe6828b0b0d49759
We have to ensure the eventlet services are stopped before starting
apache, to avoid duplicate port bindings. We already had the order
for nova-api but the one for nova-metadata-api has been missing.
Change-Id: I7379041105308829796d346e5c7ca7e309090715
The nova::api::nova_metadata_wsgi_enabled parameter has been deprecated
but in fact users have had to set the options to deploy nova API by
httpd and mod_wsgi.
This removes the logic to deploy api run by httpd and mod_wsgi along
with metadata api run by eventlet, so that we can remove the option
in the next cycle.
Change-Id: Ic28c6783d7e7ccebc0a18878155d02521f504091
since we have this parameter we should use it and not rely on
nova::params::api_metadata_service_name for decision.
Change-Id: I002419e4af20da489a3cd2bedb2acb011c8ef7ed
The value currently defined in the class matches the service default
value so we can safely remove that hard-coding.
Change-Id: I998879531dd4b5792ca9674f91b555f349ca3ca7
This parameter was deprecated during the previous cycle in favor of
the same parameter in the base nova class.
Change-Id: I8982d2e856fce3b5769f0380cd481c298cae7917
This ensures the parameters used by if-else logic accept only boolean
values because non-boolean can result in unexpected behavior.
Change-Id: I3a27d94e453f9cfbea701337308a7086693c89bb
All service resources should be skipped when manage_service is false.
This fixes the leaked resources to avoid error when resolving resource
dependencies.
Closes-Bug: #1998931
Change-Id: Ifebba6f17727c6a70ed851b84433d3536d089510
... service validation was deprecated during Yoga cycle by [1].
The parameters were left for interface compatibility but have had no
effect since then.
[1] 2476bd9af5
Change-Id: I4acfc7e903e0666e48c49c1911e67af8ab48d425
The [DEFAULT] instance_name_template parameter is used not only by
nova-api but by other services like nova-conductor or nova-compute.
This change migrate the parameter from the api class to the base class
so that users can configure the parameter for all services.
Change-Id: I0f590f12017e743a17d989d3a1008faa9b840e87
These parameters were deprecated during Yoga cycle[1] and has no effect
now.
[1] 25651f25e2
Related-Bug: #1941855
Change-Id: Ic1479131983b790a38c9ae6002b5e83bfcded59d
... because the parameter was already deprecated.
Change-Id: I95b7730c507bf290b084acd229f72d348b83da38
Related-Bug: #1967686
Depends-on: https://review.opendev.org/836253
This parameter defaults to false, thus the hard-coded default can be
replaced by $::os_service_default.
Change-Id: I8a2f5a0e34010cd58032df0a3d858aff17647a7a
The current default values are same as the service defaults, thus can
be replaced by $::os_service_default.
Change-Id: Iccee55261472221769b549d0617cf1c8bf274e65
Following the past deprecation in puppet-keystone[1], this change
deprecates service validation for nova-api.
[1] 3c95205e0253895e477b9135c10f5175d4166cfc
Change-Id: I6c409232f5b5120b93d1d47ffa416309d3d9d643
This change introduces some [api] parameters, which determine how
nova-api queries cell databases to get a list of instances.
Change-Id: Ifeb7ead9c70022371202d5f4d8644c8cd0fa5019
... instead of the individual service resource which can be named
differently according to service_name.
Closes-Bug: #1949658
Change-Id: I6be21a4653d67c63a3bd1fa8b814ecdb1257f097
Nowadays the python-cinderclient package is supposed to be installed
automatically when nova packages are installed because of package
dependencies, thus we don't need to install it explicitly.
Change-Id: Ic3b764ede243923be631a97da95ba9f2f2f6111b
We don't need to implement a speicific logic to ensure the parameter is
absent but can pass $::os_service_default. This change updates default
of the instance_name_template parameter so that we can simplify our
current logic to manage the parameter.
Change-Id: I5fcd8e15c5b3a3386104506fb9f7b54eda2eb867
nova-api service should be stopped before httpd service is started,
thus nova-api should notify httpd.
Change-Id: Ibffb65269daaeca62554cfbecb536361ab70611a
Change Id58b4dad29a6ea0f2998d8e41aa09ba0037ea94c deprecate
the `allow_resize_to_same_host` parameter from nova::compute
in favor of same parameter defined in nova::api.
This change updates the description of `allow_resize_to_same_host`
parameter in nova::api.
Change-Id: I10ad60b29b48430d439691533666b8e72b8d0b65
Currently adding a new authtoken parameter requires changes
in nearly 30 different puppet projects. For options without defaults,
defining these individually in each puppet-* project doesn't
appear to add any value since validation is already happening
in the keystone::resource::authtoken class.
This change adds a params parameter which is a hash of options to
pass through to the authtoken resource. The individual params are
still used as defaults, but any keys set in the params hash override
them. I propose deprecating these individual parameters in a future
commit.
Depends-On: https://review.opendev.org/#/c/743858/
Change-Id: I695834ac03a52d8569e50db600676a89e165491d
The cleanup of keystone parametes in api-paste.ini was implemented
really long ago[1], and it's almost useless now.
[1] ee46988692
Change-Id: Ifbeebc8af29a1fb04f3dab145e272227156386dc
In Debian, starting with Stein (and in fact, the latest version of
the Nova package for Stein), both nova-api and nova-api-metadata are
now running under UWSGI. This patch makes it possible to use that by
default, instead of Apache, which is a way more convenient than
running over Apache.
Change-Id: Iad05e5dcdd095993c36b1ae8797cc2b9b7c5318b