130 lines
4.7 KiB
Python
130 lines
4.7 KiB
Python
# Copyright 2016
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from oslo_config import cfg
|
|
|
|
|
|
general_group = cfg.OptGroup(
|
|
name='whitebox',
|
|
title='General Whitebox Tempest plugin config options')
|
|
|
|
general_opts = [
|
|
cfg.StrOpt(
|
|
'ctlplane_ssh_username',
|
|
help='Username to use when accessing controllers and/or compute hosts '
|
|
'over SSH.',
|
|
default='heat-admin',
|
|
deprecated_opts=[cfg.DeprecatedOpt('target_ssh_user',
|
|
group='whitebox')]),
|
|
cfg.StrOpt(
|
|
'ctlplane_ssh_private_key_path',
|
|
help='Path to the private key to use when accessing controllers '
|
|
'and/or compute hosts over SSH.',
|
|
default='/home/stack/.ssh/id_rsa',
|
|
deprecated_opts=[cfg.DeprecatedOpt('target_private_key_path',
|
|
group='whitebox')]),
|
|
cfg.BoolOpt(
|
|
'containers',
|
|
default=False,
|
|
help='Deployment is containerized.'),
|
|
cfg.DictOpt(
|
|
'hypervisors',
|
|
help="Dictionary of hypervisor IP addresses. The keys are the "
|
|
"hostnames as they appear in the OS-EXT-SRV-ATTR:host field of "
|
|
"Nova's show server details API. The values are the ctlplane IP "
|
|
"addresses. For example:"
|
|
""
|
|
" hypervisors = compute-0.localdomain:172.16.42.11,"
|
|
" controller-0.localdomain:172.16.42.10"
|
|
""
|
|
"While this looks like a poor man's DNS, this is needed "
|
|
"because the environment running the test does not necessarily "
|
|
"have the ctlplane DNS accessible."),
|
|
cfg.IntOpt(
|
|
'max_compute_nodes',
|
|
default=31337,
|
|
help="Number of compute hosts in the deployment. Some tests depend "
|
|
"on there being a single compute host."),
|
|
cfg.IntOpt(
|
|
'available_cinder_storage',
|
|
help="Cinder storage available to the deployment (in GB)."),
|
|
cfg.StrOpt(
|
|
'container_runtime',
|
|
default="docker",
|
|
choices=["docker", "podman"],
|
|
help="Name of the executable running containers. Correct values are"
|
|
" 'docker' (default) for osp 12 to 14, and 'podman' starting 15")
|
|
]
|
|
|
|
nova_compute_group = cfg.OptGroup(
|
|
name='whitebox-nova-compute',
|
|
title='Config options to manage the nova-compute service')
|
|
|
|
nova_compute_opts = [
|
|
cfg.StrOpt(
|
|
'config_path',
|
|
help='Path to the configration file for the nova-compute service.'),
|
|
cfg.StrOpt(
|
|
'restart_command',
|
|
help='Command to restart the nova-compute service, without any '
|
|
'privilege management (ie, no sudo).'),
|
|
]
|
|
|
|
nova_libvirt_group = cfg.OptGroup(
|
|
name='whitebox-nova-libvirt',
|
|
title='Config options to manage the nova-libvirt service')
|
|
|
|
nova_libvirt_opts = [
|
|
cfg.StrOpt(
|
|
'restart_command',
|
|
help='Command to restart the nova-libvirt service, without any '
|
|
'privilege management (ie, no sudo).'),
|
|
cfg.StrOpt(
|
|
'stop_command',
|
|
help='Command to stop the nova-libvirt service, without any '
|
|
'privilege management (ie, no sudo).'),
|
|
]
|
|
|
|
database_group = cfg.OptGroup(
|
|
name='whitebox-database',
|
|
title='Config options to access the database.')
|
|
|
|
database_opts = [
|
|
cfg.StrOpt(
|
|
'host',
|
|
help='Address of the database host. This is normally a controller.'),
|
|
cfg.StrOpt(
|
|
'internal_ip',
|
|
help='If the databse service is listening on separate internal '
|
|
'network, this option specifies its IP on that network. It will '
|
|
'be used to set up an SSH tunnel through the database host.'),
|
|
cfg.StrOpt(
|
|
'user',
|
|
help='Username to use when connecting to the database server. '
|
|
'This should normally be the root user, as it needs to '
|
|
'have permissions on all databases.'),
|
|
cfg.StrOpt(
|
|
'password',
|
|
help='The password to use when connecting to the database server.'),
|
|
cfg.StrOpt(
|
|
'nova_cell1_db_name',
|
|
default="nova_cell1",
|
|
help="Name of the Nova db to use for connection"),
|
|
cfg.IntOpt(
|
|
'ssh_gateway_port',
|
|
default=3306,
|
|
help="SSH port forwarding gateway number")
|
|
]
|