Changes in python packaging tooling mean that the wsgi_scripts functionality via PBR may not longer function. We migrate freezer to use wsgi modules to ensure consistent behavior and achieve the community goal. For more details see the proposed OpenStack goal [1]. We also fix compatability with Falcon 4.1 which is a requirements for 2026.1 [1] https://review.opendev.org/c/openstack/governance/+/902807 Change-Id: I6f73ee5fe6194d2a5390dfb5389e336719332cb1 Signed-off-by: Dmitriy Rabotyagov <noonedeadpunk@gmail.com>
This directory contains the Freezer-API DevStack plugin.
To configure the Freezer API with DevStack, you will need to enable this plugin by adding one line to the local section of your local.conf file.
To enable the plugin, add a line of the form:
enable_plugin freezer-api <GITURL> [GITREF]
where:
<GITURL> is the URL of a freezer-api repository
[GITREF] is an optional git ref (branch/ref/tag). The default is master.
For example:
enable_plugin freezer-api https://git.openstack.org/openstack/freezer-api master
The plugin makes use of apache2 by default. To use the uwsgi server set the following environment variable:
export FREEZER_API_SERVER_TYPE=uwsgi
The default port is 9090. To configure the api to listen on a different port set the variable FREEZER_API_PORT. For example to make use of port 19090 use:
export FREEZER_API_PORT=19090
The plugin makes use of elasticsearch as db backend by default. To use the sqlachemy set the following environment variable:
export FREEZER_BACKEND='sqlalchemy'
Running Freezer tempest tests
Install DevStack step by step =============================
Download DevStack:
git clone https://opendev.org/openstack/devstack cd devstackAdd stack user and change devstack directory user group:
./create_stack_user.sh chown -R stack ./devstack/ chown -R stack.stack ./devstack/Add this repo as an external repository.This is a sample local.conf file for freezer developer:
[[local|localrc]] ADMIN_PASSWORD=stack DATABASE_PASSWORD=stack RABBIT_PASSWORD=stack SERVICE_PASSWORD=$ADMIN_PASSWORD DEST=/opt/stack LOGFILE=$DEST/logs/stack.sh.log # only install keystone/horizon/swift in devstack # disable_all_services # enable_service key mysql s-proxy s-object s-container s-account horizon enable_plugin freezer https://opendev.org/openstack/freezer master enable_plugin freezer-api https://opendev.org/openstack/freezer-api master enable_plugin freezer-tempest-plugin https://opendev.org/openstack/freezer-tempest-plugin master enable_plugin freezer-web-ui https://opendev.org/openstack/freezer-web-ui master export FREEZER_BACKEND='sqlalchemy'Use stack user to run
stack.sh:su stack ./stack.sh
5.You can source openrc in your shell, and then use the openstack command line tool to manage your devstack.:
souce /opt/stack/devstack/openrc admin admin
Running Freezer tempest tests
Listing Freezer tempest tests:
tempest list-pluginsConfig the "tempest.conf" file:
cd /opt/stack/tempest tox -e genconfig cd /opt/stack/tempest/etc cp tempest.conf.sample tempest.confThis is a sample "tempest.conf" file:
[auth] admin_username = admin admin_project_name = admin admin_password = stack admin_domain_name = Default [identity] uri_v3 = http://172.16.1.108/identity/v3Running freezer tempest tests:
cd /opt/stack/tempest tempest run -r freezer_tempest_pluginRunning one tempest test case:
cd /opt/stack/tempest tempest run -r freezer_tempest_plugin.tests.freezer_api.api.test_api_jobs.TestFreezerApiJobs.test_api_jobs_post
- For more information, see:
-
https://docs.openstack.org/devstack/latest/index.html https://docs.openstack.org/tempest/latest/