The devstack tail_log function has been deprecated since before Queens
and it has only printed a warning since then. It has been finally
removed from devstack in I7bd440adf2ce8283e3ad3d5d09e6b2b877e2b42e.
The sahara-grenade job is failing and it will continue to fail until
the heat devstack plugin is fixed on all stable branches
(currently broken due to the usage of an older Fedora image which
doesn't exist anymore, see Id869f83a46454897c2fe7a532eebfa2863befe5e),
so disable it.
Change-Id: I921d7bac5963c66e14a6a06b100d624924914f5a
The devstack function configure_auth_token_middleware is deprecated,
because it specifies an option (signing_dir) which has been removed
a few releases ago.
Use the new configure_keystone_token_middleware function, which does
not use the removed parameter. Remove also all the logic related
to that parameter.
Depends-On: https://review.opendev.org/628651
Change-Id: Ic13d8cfb3aeb425a7ad28ec1b8fc95629fafcc2f
So far grenade has been testing a queens->rocky upgrade.
Implement the grenade code required to upgrade to the current
master. The plugin code installs the split plugins, which
need to be listed in the PROJECTS variable in order to be cloned.
Also, don't deploy sahara-all even when deploying rocky
(it was already deprecated back then).
Finally, deploying sahara-api using wsgi has been the default
for a while and for sure when the upgrade starts from rocky
there is no need to disable it.
The grenade test should be stable enough again, so re-enable it
in both the check and the gate queue.
Change-Id: I000aae6c093c32ab1c3505448e2b9ec52b0529a2
Since plugins are not part of Sahara core anymore, loading plugins
like we currently do fails when plugins are not installed.
Currently we check the list of loaded plugins by checking the CONF
file plugins session. To fix that, we are changing to check the list
of loaded plugins on the PluginManager variable loaded_plugins, this
way we can instead of failing to start sahara if a desired plugin
is not installed, we can warn that the plugin was not loaded and
continue the application.
Change-Id: Iaae3a75cd75b06e94bc4492e5dc654a6281fdff4
On the effort to make Sahara more user and operators friendly
we are splitting the plugins from Sahara core.
The main goal of this change is to facilitate installation,
maintainance and upgrade of plugins. With the plugins outside
the main Sahara code, operators will be able to install a subset
of plugins, as well as upgrade to newer versions of the plugins
without having to wait for a new version of OpenStack to be
released. As well, it aims to facilitate new contributors to
develop and maintain their own plugins.
Sahara Spec: https://specs.openstack.org/openstack/sahara-specs/specs/rocky/plugins-outside-sahara-core.html
Change-Id: I7ed0945fd82e37daaf6b29f947d3dba06db9d158
One of the tasks we need in order to make APIv2 is deployment with
unversioned endpoints.
This patch makes deployment of unversioned sahara when deployed with devstack
Depends-On: I5066f73aa0ace79d8d5e1431f8d741d0d942d9d5
Change-Id: I06ac6da0c6784680330ae0431c20d3553f95e452
That config section should be private for keystonemiddleware, so deprecate and
discourage its use for trusts creation.
Create a new config section for credentials to create trusts with.
Change-Id: I93b9a9b4c8003463c33439f116b9a72619512b98
Nova network has been fully removed, remove use_neutron config
and related codes.
Change-Id: Ib9d87dd339d637b69fb27315d92228cbc523c8eb
Closes-Bug: #1693891
Implements: bp sahara-remove-nova-network
Namely user_domain_name and project_domain_name in the
keystone_authtoken section, and use the variable provided
by devstack and used internally by other components too.
Change-Id: I569e30699f7b25f948b17ce99a8540b9f4c3c321
The old v2 parameters are not set anymore by puppet-sahara:
https://review.openstack.org/#/c/441223/
and trust (which means cluster operations) is broken.
Because puppet-sahara is used by TripleO and Packstack, we consider
this a critical issue.
We now switch to the "new" v3 parameters from keystone_authtoken, as
incentivized by that puppet-sahara change.
We no longer use the custom options admin_user_domain_name and
admin_project_domain_name, as [keystone_authtoken] can provide them.
Note 1: A workaround is needed to access some of the configs in
[keystone_authtoken], as they are considered private for
keystonemiddleware. In sahara-api, it would have been possible to
grab these configs with only a slight bit of magic, as sahara-api
is a keystonemiddleware-enabled WSGI application. However, with
sahara-engine it is not as straightforward, since keystonemiddleware
is not integrated there. Therefore, to access these private configs
we use a very sneaky workaround inspired by [0]. This should be
removed in Queens: we should add a separate, non-private
[clients_keystone] section in sahara.conf. That is the standard way to
grab service user credentials when excluded from access to
[keystone_authtoken]. Unfortunately we could not have done that in Pike
as it was too late to have a new puppet-sahara release.
Note 2: tools/get_auth_token.py was not changed as it probably
requires other changes to work with Identity v3.
[0] Ibbc738ee4c90392af47f1b6d69aee3c8dbbf3c17
Closes-Bug: #1709091
Co-Authored-By: Jeremy Freudberg <jeremyfreudberg@gmail.com>
Change-Id: I930e544b16f0871f5e8dc1a42aae34518ff25bcd
Latest novaclient 8.0.0 removed nova-network
related functionality which Sahara depended on for
network operations, even for Neutron.
Now, use neutronclient (and Neutron resources in
Heat) for all network operations.
Additionally, fix devstack coordination backend.
Partially-Implements: bp sahara-remove-nova-network
Closes-Bug: #1692551
Co-Authored-By: Vitaly Gridnev <vgridnev@mirantis.com>
Change-Id: I6b8e12f0d33752e7790c5f40ebe6a3940ff1b0c1
In the oslo.messaging to enable or disable notifications
uses the 'notification_driver' option. This approach used
in many Openstack projects.
By default the option is empty, that means no notification will be send.
To enable notification needs to set the value with one of supported drivers
(e.g. messagingv2).
Change-Id: Ifdc38d56a4fa3a1755fff72d4bef88937c0170ed
Configuration of sahara in devstack behind a proxy fails because the
installation of "tooz[zookeeker]" does not work.
This is because sudo does not preserve environment variables, so pip
does not use the configured proxy. Using 'pip_install' instead of
'sudo pip install' should fix this, since 'pip_install' ensures that
the environment is preserved.
Change-Id: I78d483e86c586846f92bdc7118d495efe7e6df17
Closes-Bug: #1632673
when distributed periodics are enabled and zookeeper
as backend is provided, sahara-engine startup fails.
this change is fixing that.
documentation updated with details of how to correctly setup
coordination backend.
Closes-bug: 1597688
Change-Id: Ib1b85dcd4e2b67d1ec9b577d103c689a07b93058
this adds ability to configure endpoint type for
services in devstack by addition of new option for
that.
Closes-bug: 1573868
Change-Id: I9dfa6b636aeb1efb781fa20c674b39a6d2cda01f
The novaclient.v2.images module is deprecated and will be removed
after Nova 15.0.0 is released so we need to migrate to glanceclient.
note: glanceclient doesn't have any Image class. It have image json
schema and use it to generate warlock models when creates image
object.
closes-bug: 1573595
Depends-on: I2e13867bed72fd2ae6749491dd5b032c2c08f9f6
Change-Id: Ie0f04c15e6e49e8e7c77f7b7d870a368cdd5c7c7
This option is deprecated in Mitaka and has been removed in Newton,
and its default value is True already. Let's remove it.
Change-Id: I83bff581b39bc416b84f2ffbb8217b41b7ad2058
ref: https://review.openstack.org/#/c/314573/
Periodic tasks will be launched in distributed mode
by default
Partially-implements bp: distributed-periodics
Change-Id: Ib29d169daebcb846805a5baf3e0ef2c0051e8131
In order to make the notifications configuration clearer, let's put
its options into "oslo_messaging_notifications" group just like what
oslo_messaging did.
Closes-Bug: #1536034
Depends-On: I4c9f4de73e7732cb90cb742c94daddf8d2d5e398
Change-Id: I0ba6348ecbc1852e24c9eb7b5f0fa9f3e5922463
There were too many warnings in script. This patch fixes
E006 (check for lines longer than 79 columns) and
E042 (local declaration hides errors) bashate warnings.
Except some long URLs because splitting them up
doesn't increase code readability
Change-Id: I7838a820c2acea8ac31b5108296bfa26a439ac71
Partial-Bug: #1509271
this change will migrate the "sahara" process name to "sahara-all" to
provide greater clarity on what service process is running.
* change start process to sahara-all
* change stop process to sahara-all
* add a sahara-all detection to is_service_enabled
* remove dirname usage in favor of GITDIR environment variable for the
shutdown script
Change-Id: I80b82edbc6023d4dc28f005fecd8f2138809bbe3
The is_service_enabled method in devstack requires is_sahara_enabled
to be defined somewhere to be used in additional selectors like for
tempest configuration and possibly upgrade work later.
While trying to build a composit job that ran trove / heat / sahara
tests all together this was found to be missing, so sahara never got
configured for tempest.
Change-Id: I69acf6ab2d74d02e9fe8e2d419e54c9367fca500
Changes:
* use api-paste.ini config for loading middleware
* refactoring middlewares to support loading via pastedeploy
* use debug middleware from oslo_middleware library instead log_exchange
middleware
Closes-bug: #1503983
Closes-bug: #1361360
Change-Id: I444c1799ef53dbb19a601e51dd95cd8509fb1c0c
Currently the infra engine conf value only depends on the
availability of the heat service, but sometimes (for testing) we'd
like to enforce one of the values.
Change-Id: I157a127448243dc01a4b26bdb84acceaea55a822
The HEAT_CFN_IMAGE_URL was removed from the devstack code a while
ago and so there is no need to keep this code.
Change-Id: I677d145aa42e87d55651d0ba8238e116b77b8a27
It's part of the moving Devstack Sahara plugin from Devstack to
Sahara repo.
Partial-Implements: bp sahara-devstack-intree
Change-Id: I60ad5cb7041708fd7643cd3881b9f41d74164eec