Interpreting Results¶
Contents
Decoding test statuses¶
Status | Description |
---|---|
SUCCESS | Test passed successfully. |
FAILURE | The test failed, one of the prerequisites was not met. |
ERROR | The test failed unexpected error occurred. |
SKIPPED | The test was skipped. |
Description of the reasons for unsuccessful tests¶
Note
There is a test license validity
which checks the validity of the license for each of the specified modules in the results of self-diagnostics of RSserver, Monitor, CloudManager modules.
Reasons for unsuccessful passage:
- License not installed;
- License expired.
Client¶
Test Name | Description |
---|---|
admin role in domain | Check whether a user has ‘admin’ role in the domain.
Failure reasons:
- Could not connect to Keystone with parameters: auth_url: “http://localhost:5000”, domain_name: “default”, password: “******”, user_domain_name: “default”, username: “admin”.
- User “admin” doesn’t have “admin” role in the domain “default”.
|
check openstack endpoints | Verify that all registered and enabled Openstack services have available API endpoints.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Mandatory service types are not registered: network, image. Unavailable endpoints: Nova:public. Services with an incomplete set of endpoints: Nova:admin, Nova:internal.
|
installation source file | Check whether file with installation sources list exists and last source availability.
Failure reasons:
- Failed to obtain packages from apt repositories.
- Unable to obtain module version from PyPI.
- File doesn’t exist. Make sure that it’s here: /etc/aos/autosetup/install_history.txt.
- PyPI http://pypi.org/packages/ is unreachable.
|
keystone ldap driver | Check Keystone LDAP driver configuration.
Failure reasons:
- Custom Keystone identity driver is not properly configured.
- Keystone LDAP driver isn’t set up.
|
modules compatibility with openstack | Check modules compatibility with installed Nova version.
Failure reasons:
- Nova is not installed.
- Installed version of Nova is not compatible with one of modules.
|
modules versions | Verify that installed modules have the same version.
Failure reasons:
- Versions of the installed modules can be incompatible. You need to use the same major and minor version of the all modules.
- Installed versions of modules do not match.
|
nova journal middleware | Check Nova Journal middleware configuration.
Failure reasons:
- Audit Nova middleware is not properly configured.
- Running as a non-root user is not supported.
|
nova scheduler filter | Check Nova scheduler filter configuration.
Failure reasons:
- Custom Nova scheduler filter is not properly configured.
|
valid openstack version | Check OpenStack projects versions.
Failure reasons:
- Keystone:
- keystoneauth==3.9.0. Required keystoneauth>=1.2.0,<=2.4.3
|
CloudManager¶
Test Name | Description |
---|---|
api connection | Check CloudManager API service availability.
Failure reasons:
- Couldn’t find public endpoint for CloudManager API service.
- Could not connect to CloudManager API with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Request to CloudManager API failed
|
api service registration | Check whether CloudManager API service and endpoints are registered in Keystone.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Service with type “cloud-manager” has no endpoints.
- Service with type “cloud-manager” is not registered in Keystone.
|
arp command | Check arp command availability.
Failure reasons:
- Warning! Command arp hasn’t been found. Full module functionality isn’t guaranteed.
|
config file existence | Check base and module configuration files.
Failure reasons:
- Following configuration files are not found: /etc/aos/aos.conf, /etc/aos/cloud_manager.conf.
- Error. Invalid config file! Check existence of sections in config file.
|
connection to keystone | Check connection to Keystone service.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
connection to nova | Check connection to Nova service.
Failure reasons:
- Could not connect to Nova with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
drs service availability | Check DRS service availability.
Failure reasons:
- DRS service is not set.
- DRS service is not available.
|
leases files exist | Check leases files existence.
Failure reasons:
- No leases file found. Looks like you don’t have a DHCP server.
|
migrations applied | Check for all available versions are applied
Failure reasons:
- Not all migrations applied, please, run ‘openstack aos db migrate’.
- Could not connect to DB with parameters: engine: “mysql+pymysql”, host: “localhost”, name: “db_name”, password: “******”, port: “3306”, username: “username”.
|
ping command | Check ping command availability.
Failure reasons:
- Warning! Command ping hasn’t been found. Full module functionality isn’t guaranteed.
|
pxe folder owner write permissions | Check write permissions for PXE images folder.
Failure reasons:
- user doesn’t have write permissions to PXE images folder.
- aos-cloud-manager-api process is not running. Try to run ‘systemctl status aos-cloud-manager-api’ to check its status.
- Folder for PXE images does not exist, check config PXE parameter.
- user is not owner of PXE images folder.
|
registered celery tasks | Check all tasks are registered in Celery.
Failure reasons:
- Could not connect to RabbitMQ with parameters: BROKER_TYPE: “amqp”, HOST: “localhost”, PASSWORD: “******”, PORT: “5672”, USERNAME: “username”.
- Failed to get asynchronous tasks list. Connection was to RabbitMQ with parameters: BROKER_TYPE: “amqp”, HOST: “localhost”, PASSWORD: “******”, PORT: “5672”, USERNAME: “username”.
- Task is not registered in Celery: celery_task. Please try to reload Celery worker: systemctl restart aos-cloud-manager-worker.
|
systemd services | Check CloudManager systemd services.
Failure reasons:
- Following services are not registered in systemd: aos-cloud-manager-api, aos-cloud-manager-beat, aos-cloud-manager-listener, aos-cloud-manager-worker
- Following services are not running: aos-cloud-manager-api, aos-cloud-manager-beat, aos-cloud-manager-listener, aos-cloud-manager-worker
|
Clouds¶
Test Name | Description |
---|---|
api connection | Check Clouds API service availability.
Failure reasons:
- Couldn’t find public endpoint for Clouds API service.
- Could not connect to Clouds API with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Request to Clouds API failed
|
api service registration | Check whether Clouds API service and endpoints are registered in Keystone.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Service with type “clouds” is not registered in Keystone.
|
config file existence | Check base and module configuration files.
Failure reasons:
- Following configuration files are not found: /etc/aos/aos.conf, /etc/aos/clouds.conf
- Invalid config file. Check existence of section “keystone”.
|
connection to barbican | Check connection to Barbican service.
Failure reasons:
- Could not connect to Barbican with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
connection to glance | Check connection to Glance service.
Failure reasons:
- Could not connect to Glance with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
connection to keystone | Check connection to Keystone service.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
connection to nova | Check connection to Nova service.
Failure reasons:
- Could not connect to Nova with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
migrations applied | Check for all available versions are applied
Failure reasons:
- Not all migrations applied, please, run ‘openstack aos db migrate’.
- Could not connect to DB with parameters: engine: “mysql+pymysql”, host: “localhost”, name: “aos”, password: “******”, port: “3306”, username: “aos”.
|
registered celery tasks | Check all tasks are registered in Celery.
Failure reasons:
- Could not connect to RabbitMQ with parameters: BROKER_TYPE: “amqp”, HOST: “localhost”, PASSWORD: “******”, PORT: “5672”, USERNAME: “aos”.
- Failed to get asynchronous tasks list. Connection was to RabbitMQ with parameters: BROKER_TYPE: “amqp”, HOST: “localhost”, PASSWORD: “******”, PORT: “5672”, USERNAME: “aos”.
- Task is not registered in Celery: celery_task. Please try to reload Celery worker: systemctl restart aos-clouds-worker.
|
systemd services | Check Clouds systemd services.
Failure reasons:
- Following services are not registered in systemd: aos-clouds-api, aos-clouds-worker
- Following services are not running: aos-clouds-api, aos-clouds-worker
|
Dashboard¶
Test Name | Description |
---|---|
available images | Check images existence available in current project.
Failure reasons:
- Could not connect to Glance with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- There are no images available for the current project “<project_name>” (“<domain_name>” domain). Need to create one first.
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
cloud manager connection | Test connection to CloudManager.
Failure reasons:
- Couldn’t find public endpoint for CloudManager API service.
- Could not connect to CloudManager API with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Request to CloudManager API failed
|
connection to neutron | Check connection to Neutron service.
Failure reasons:
- Could not connect to Neutron with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
dashboard installed | Verify that Dashboard is loaded by openstack_dashboard.
Failure reasons:
- Test is not available for user “<user>”
- There is a problem with OpenStack dashboard.
- Dashboard is not registered in OpenStack dashboard.
|
migrations applied | Check for all available versions are applied
Failure reasons:
- Could not connect to DB with parameters: engine: “mysql+pymysql”, host: “localhost”, name: “db_name”, password: “******”, port: “3306”, username: “username”.
- Not all migrations applied, please, run ‘openstack aos db migrate’
- Test is not available for user “<user>”
|
monitor connection | Test connection to Monitor.
Failure reasons:
- Couldn’t find public endpoint for Monitor API service.
- Could not connect to Monitor API with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Request to Monitor API failed
|
rs server connection | Test connection to RSserver.
Failure reasons:
- Couldn’t find public endpoint for RS Server API service.
- Could not connect to RS Server API with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Request to RS Server API failed
|
scheduler connection | Test connection to Scheduler.
Failure reasons:
- Couldn’t find public endpoint for Scheduler API service.
- Could not connect to Scheduler API with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Request to Scheduler API failed
|
Journal¶
Test Name | Description |
---|---|
journal api connection | Check Journal API service availability.
Failure reasons:
- Couldn’t find public endpoint for Journal API service.
- Could not connect to Journal API with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Request to Journal API failed
|
journal api service registration | Check whether Journal API service and endpoints are registered in Keystone.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Service with type “journal” has no endpoints.
- Service with type “journal” is not registered in Keystone.
|
journal systemd services | Check Journal systemd services.
Failure reasons:
- Following services are not running: aos-journal-api, aos-journal-listener
- Following services are not registered in systemd: aos-journal-api, aos-journal-listener
|
migrations applied | Check for all available versions are applied
Failure reasons:
- Not all migrations applied, please, run ‘openstack aos db migrate’
- Could not connect to DB with parameters: engine: “mysql+pymysql”, host: “localhost”, name: “aos”, password: “******”, port: “3306”, username: “aos”.
|
Monitor¶
Test Name | Description |
---|---|
config file existence | Check base and module configuration files.
Failure reasons:
- Following configuration files are not found: /etc/aos/aos.conf, /etc/aos/monitor.conf
- Required section “keystone” is not found in the configuration files.
- Config file “/etc/aos/aos.conf” is empty!
|
connection to gnocchi | Check connection to Gnocchi service.
Failure reasons:
- Couldn’t find public endpoint for Gnocchi service.
- Could not connect to Gnocchi with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
connection to keystone | Check connection to Keystone service.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
connection to zabbix | Check connection to Zabbix service.
Failure reasons:
- Could not connect to Zabbix with parameters: ADMIN_USER: “Admin”, HOST: “localhost”, HOST_GROUP: “host_group”, PASSWORD: “******”.
|
gnocchi metrics | Check Gnocchi meters existence.
Failure reasons:
- Couldn’t find public endpoint for Gnocchi service.
- Test requires to be authorized in OpenStack as admin.
- Could not connect to Gnocchi with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- No recent data found for the following Gnocchi meters: cpu, memory.usage, network.incoming.bytes, network.incoming.packets, network.outgoing.bytes, network.outgoing.packets. Please make sure that Gnocchi worker is running and configured to collect required meters.
- Failed to get data from Gnocchi service. For more details please see Gnocchi logs.
|
migrations applied | Check for all available versions are applied
Failure reasons:
- Not all migrations applied, please, run ‘openstack aos db migrate’
- Could not connect to DB with parameters: engine: “mysql+pymysql”, host: “localhost”, name: “db_name”, password: “******”, port: “3306”, username: “username”.
|
monitor api connection | Check Monitor API service availability.
Failure reasons:
- Couldn’t find public endpoint for Monitor API service.
- Could not connect to Monitor API with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Request to Monitor API failed
|
monitor api service registration | Check whether Monitor API service and endpoints are registered in Keystone.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Service with type “monitor” has no endpoints.
- Service with type “monitor” is not registered in Keystone.
|
monitor systemd services | Check Monitor systemd services.
Failure reasons:
- Following services are not registered in systemd: aos-monitor-api, aos-monitor-listener
- Following services are not running: aos-monitor-api, aos-monitor-listener
|
OTPSender¶
Test Name | Description |
---|---|
api connection | Check Clouds API service availability.
Failure reasons:
- Couldn’t find public endpoint for OTPsender API service.
- Could not connect to OTPsender API with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Request to OTPsender API failed
|
api service registration | Check whether OTPsender API service and endpoints are registered in Keystone.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Service with type “otp-sender” is not registered in Keystone.
|
config file existence | Check base and module configuration files.
Failure reasons:
- Following configuration files are not found: /etc/aos/aos.conf, /etc/aos/otp_sender.conf.
- Invalid config file. Check existence of section “keystone”.
|
connection to keystone | Check connection to Keystone service.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
email connection | Check mail server connection.
Failure reasons:
- Mail server connection failed: (503, ‘Authentication error’)
- Not all required parameters are set in “email” section.
|
registered celery tasks | Check all tasks are registered in Celery.
Failure reasons:
- Could not connect to Redis with parameters: url: “redis://:******@localhost:6379/0”.
- Failed to get asynchronous tasks list. Connection was to Redis with parameters: url: “redis://:******@localhost:6379/0”.
- Task is not registered in Celery: celery_task. Please try to reload Celery worker: systemctl restart aos-otp-sender-worker.
|
systemd services | Check Clouds systemd services.
Failure reasons:
- Following services are not registered in systemd: aos-otp-sender-api, aos-otp-sender-worker
- Following services are not running: aos-otp-sender-api, aos-otp-sender-worker
|
telegram connection | Check Telegram connection.
Failure reasons:
- Telegram connection failed: error
- Not all required parameters are set in “telegram” section.
|
RSclient¶
Test Name | Description |
---|---|
check rs server connection | Checks that RSclient can connect to RSserver.
Failure reasons:
- Unexpected server response. Unable to connect to server: http://test.rs.stand:9365
- Reason: Server is not available. Check URL for connection.
|
config file has required values | Checks that all required values are present in config file.
Failure reasons:
- Parameters “cloud, connect” are missing in config file.
|
config file read save | Checks write permissions for config file.
Failure reasons:
- Failed save to config file. Please check write permissions of /user/.rsclient/client.conf.
- Failed to parse config file.
|
locale files are in place | Checks whether localization files exists.
Failure reasons:
- Localization file is missing. It should be located at /rs_client/locale/ru_RU/LC_MESSAGES/rsclient.mo.
|
session file has required values | Checks that all required values are present in session file.
Failure reasons:
- Parameters “user, password, domain_name” are missing in session file.
|
session file read save | Checks write permissions for session file.
Failure reasons:
- Failed save to session file. Please check write permissions of /user/.rsclient/client_session.
- Failed to parse session file.
|
RSserver¶
Test Name | Description |
---|---|
apache config enabled | Verify that module apache configuration file is enabled.
Failure reasons:
- Error. Apache config file is not enabled.
|
apache config existence | Check module apache configuration file existence.
Failure reasons:
- Configuration file for Apache not found.
|
config file existence | Check base and module configuration files.
Failure reasons:
- Following configuration files are not found: /etc/aos/aos.conf, /etc/aos/rs_server.conf
- Invalid config file. Check existence of section “keystone”.
|
connection to keystone | Check connection to Keystone service.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
connection to nova | Check connection to Nova service.
Failure reasons:
- Could not connect to Nova with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
migrations applied | Check for all available versions are applied
Failure reasons:
- Not all migrations applied, please, run ‘openstack aos db migrate’
- Could not connect to DB with parameters: engine: “mysql+pymysql”, host: “localhost”, name: “db_name”, password: “******”, port: “3306”, username: “username”.
|
redis connection | Check connection to Redis
Failure reasons:
- Could not connect to Redis with parameters: url: “redis://:******@localhost:6379/0”.
|
registered celery tasks | Check all tasks are registered in Celery.
Failure reasons:
- Could not connect to RabbitMQ with parameters: BROKER_TYPE: “amqp”, HOST: “localhost”, PASSWORD: “******”, PORT: “5672”, USERNAME: “username”.
- Failed to get asynchronous tasks list. Connection was to RabbitMQ with parameters: BROKER_TYPE: “amqp”, HOST: “localhost”, PASSWORD: “******”, PORT: “5672”, USERNAME: “username”.
- Task is not registered in Celery: celery_task. Please try to reload Celery worker: systemctl restart aos-rs-worker
|
rs api | Verify that RSserver API is working.
Failure reasons:
- Unable to detect hostname of RSserver API server.
- Unable to connect to http://localhost:9365/v1/request-vm/. Service is not running or running on another port.
- Expected response code 400 (Bad Request), but got 500 (Internal Server Error). Please check RS server state.
|
rs server api connection | Check RSserver API service availability.
Failure reasons:
- Couldn’t find public endpoint for RS Server API service.
- Could not connect to RS Server API with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Request to RS Server API failed
|
rs server api service registration | Check whether RSserver API service and endpoints are registered in Keystone.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Service with type “rs-server” has no endpoints.
- Service with type “rs-server” is not registered in Keystone.
|
rs server systemd services | Check RSserver systemd services.
Failure reasons:
- Following services are not registered in systemd: aos-rs-beat, aos-rs-broker-api, aos-rs-listener, aos-rs-server-api, aos-rs-worker
- Following services are not running: aos-rs-beat, aos-rs-broker-api, aos-rs-listener, aos-rs-server-api, aos-rs-worker
|
rs web | Verify that RSserver web is working.
Failure reasons:
- Unable to detect hostname of RSserver API server.
- Unable to connect to http://localhost:8888/trs/. Service is not running or running on another port.
- Expected response code less than 400, but got 500 (Internal Server Error). Please check RS server state.
|
Scheduler¶
Test Name | Description |
---|---|
config file existence | Check base and module configuration files.
Failure reasons:
- Following configuration files are not found: /etc/aos/aos.conf, /etc/aos/scheduler.conf
- Error. Invalid config file! Check existence of section “keystone”.
|
connection to keystone | Check connection to Keystone service.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
|
connection to rabbit | Check connection to RabbitMQ server.
Failure reasons:
- Could not connect to RabbitMQ with parameters: BROKER_TYPE: “amqp”, HOST: “localhost”, PASSWORD: “******”, PORT: “5672”, USERNAME: “username”.
|
migrations applied | Check for all available versions are applied
Failure reasons:
- Could not connect to DB with parameters: engine: “mysql+pymysql”, host: “localhost”, name: “db_name”, password: “******”, port: “3306”, username: “username”.
- Not all migrations applied, please, run ‘openstack aos db migrate’
|
registered tasks to schedule | Check all schedulable tasks are registered in Celery.
Failure reasons:
- Could not connect to RabbitMQ with parameters: BROKER_TYPE: “amqp”, HOST: “localhost”, PASSWORD: “******”, PORT: “5672”, USERNAME: “username”.
- Failed to get scheduling tasks list. Connection was to RabbitMQ with parameters: BROKER_TYPE: “amqp”, HOST: “localhost”, PASSWORD: “******”, PORT: “5672”, USERNAME: “username”.
- Task is not available to schedule: scheduler.tasks.aggregate_audit. Please try to reload Scheduler Celery worker: systemctl restart aos-scheduler-worker
|
scheduler api connection | Check Scheduler API service availability.
Failure reasons:
- Couldn’t find public endpoint for Scheduler API service.
- Could not connect to Scheduler API with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Request to Scheduler API failed
|
scheduler api service registration | Check whether Scheduler API service and endpoints are registered in Keystone.
Failure reasons:
- Could not connect to Keystone with parameters: password: “******”, project_domain_name: “default”, tenant: “admin”, user_domain_name: “default”, username: “admin”.
- Service with type “scheduler” has no endpoints.
- Service with type “scheduler” is not registered in Keystone.
|
scheduler systemd services | Check Scheduler systemd services.
Failure reasons:
- Following services are not registered in systemd: aos-scheduler-api, aos-scheduler-beat, aos-scheduler-worker
- Following services are not running: aos-scheduler-api, aos-scheduler-beat, aos-scheduler-worker
|
Note
Test valid openstack version
for Client module checks if the installed dependencies meet the official requirements of the corresponding version OpenStack. Example requirements from the official OpenStack documentation.