# Copyright 2019 Red Hat, Inc. # 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 whitebox_neutron_plugin_options = cfg.OptGroup( name="whitebox_neutron_plugin_options", title="Whitebox neutron tempest plugin config options" ) WhiteboxNeutronPluginOptions = [ cfg.BoolOpt('exec_on_tester', default=True, help='Specify whether to run validated commands on current ' 'testing node or other host using ssh.'), cfg.StrOpt('tester_ip', default='127.0.0.1', help='IP of host to execute validated commands.'), cfg.StrOpt('tester_user', default='zuul', help='User at host to execute validated commands.'), cfg.StrOpt('tester_pass', default='12345678', help='Password at host to execute validated commands.'), cfg.StrOpt('tester_key_file', default='', help='Key file to access host to execute validated commands.'), cfg.StrOpt('openstack_type', default='devstack', help='Type of openstack deployment, ' 'e.g. devstack, podified'), cfg.StrOpt('pki_private_key', default='/etc/pki/tls/private/ovn_controller.key', help='File with private key. Need for TLS-everywhere ' 'environments.'), cfg.StrOpt('pki_certificate', default='/etc/pki/tls/certs/ovn_controller.crt', help='File with certificate for private key. Need for ' 'TLS-everywhere environments.'), cfg.StrOpt('pki_ca_cert', default='/etc/ipa/ca.crt', help='File with peer CA certificate. Need for TLS-everywhere ' 'environments.'), cfg.StrOpt('default_instance_interface', default='eth0', help='Default first interface name used in VM instances' 'Typical values are eth0, ens5, etc'), cfg.IntOpt('mcast_groups_count', default=1, help='How many groups to use in multicast tests. Default value ' 'of 1 is for environments with low resources. ' 'Recommended value is 2.'), cfg.IntOpt('mcast_receivers_count', default=1, help='How many receivers to use in multicast tests. Default ' 'value of 1 is for environments with low resources. ' 'Recommended value is 2.'), cfg.IntOpt('external_igmp_querier_period', default=170, help='Time in seconds external igmp querier is sending its ' 'periodical queries'), cfg.BoolOpt('run_traffic_flow_tests', default=False, help='Specify explicitly whether to run traffic flow tests.' ' This is needed because some ML2 plugins (e.g. ovn ) do ' 'not expose api_extensions like dvr for some purposes.'), cfg.BoolOpt('provroutednetwork_support', default=False, help='Boolean that specifies if Provider Routed Networks' 'are supported or not'), cfg.BoolOpt('run_power_operations_tests', default=False, help='Specify explicitly whether to run tests that perform ' 'power operations, like shutdown/startup openstack nodes.' 'These tests can be disruptive and not suitable for some ' 'environments.'), cfg.IntOpt('broadcast_receivers_count', default=2, help='How many receivers to use in broadcast tests. Default ' 'and recommended value of 2. In case of environments ' 'with low resources, set it to 1.'), cfg.BoolOpt('bgp', default=False, help='Specifies whether the OSP setup under test has been ' 'configured with BGP functionality or not'), cfg.StrOpt('bgp_agent_config', default='/etc/ovn-bgp-agent/bgp-agent.conf', help='Path to ovn-bgp-agent config file'), cfg.IntOpt('sriov_pfs_per_host', default=1, help='Number of available PF (Physical Function) ports per' 'compute node on the environment under test'), cfg.IntOpt('sriov_vfs_per_pf', default=5, help='Number of available VF (Virtual Function) ports per' 'PF interface on the environment under test'), cfg.StrOpt('overcloud_ssh_user', default='zuul', help='Common user to access openstack nodes via ssh.'), cfg.StrOpt('overcloud_key_file', default='/home/tempest/.ssh/id_rsa', help='ssh private key file path for overcloud nodes access.'), cfg.StrOpt('neutron_config', default='/etc/neutron/neutron.conf', help='Path to neutron configuration file.'), cfg.StrOpt('ml2_plugin_config', default='/etc/neutron/plugins/ml2/ml2_conf.ini', help='Path to ml2 plugin config.'), cfg.StrOpt('node_integration_bridge', default='br-int', help="OpenvSwitch bridge dedicated for OVN's use."), cfg.StrOpt('ext_bridge', default='{"default": "br-ex", "alt": "ospbr"}', help="Bridge dedicated for external network. Dict with values " "for default node and alternative node (if exist)."), cfg.StrOpt('node_ext_interface', default=None, help='Physical interface of a node that is connected to the' 'external network. In case the value is set to None the ' 'interface name will be discovered from a list of ' 'interfaces under bridge connected to external network'), cfg.IntOpt('ovn_max_controller_gw_ports_per_router', default=1, help='The number of network nodes used ' 'for the OVN router HA.'), cfg.IntOpt('minbw_placement_nic_kbps_egress', default=None, help='BW configured per NIC for the minimum BW placement ' 'enforcement - direction egress'), cfg.IntOpt('minbw_placement_nic_kbps_ingress', default=None, help='BW configured per NIC for the minimum BW placement ' 'enforcement - direction ingress'), cfg.IntOpt('minbw_placement_num_nics', default=None, help='How many NICs support the minimum BW placement ' 'enforcement'), cfg.IntOpt('window_size', default=0, help='Parameter for iperf command used in qos bw limit tests.' 'Can be used for tweaking iperf in case default value ' 'does not work for some reason, e.g. MTU issues.'), cfg.StrOpt('node_tenant_interface', default='eth1', help='Physical interface of a node that intended to pass tenant' 'network traffic. Note: currently only environments with ' 'the same name of the tenant interface are supported'), cfg.IntOpt('capture_timeout', default=120, help='Maximal time for running remote capture, in seconds. ' 'Remote capture process will be stoppped by remote shell ' 'when this time expires. This is needed in order to stop ' 'remote process in case test or connection was ' 'interrupted unexpectedly.'), cfg.StrOpt('hypervisor_host', default='hypervisor-1', help='Hypervisor host for podified environment based on libvirt' 'virtual machines, typically deployed by ci-framework: ' 'https://github.com/openstack-k8s-operators/ci-framework'), cfg.StrOpt('proxy_host_address', default='', help='Intermediate host to run commands on podified ' 'environment'), cfg.StrOpt('proxy_host_user', default='zuul', help='User of intermediate host to run commands on podified ' 'environment'), cfg.StrOpt('proxy_host_key_file', default='/var/lib/tempest/.ssh/id_ecdsa', help='Path to private key for accessing intermediate host on ' 'podified environment'), cfg.StrOpt('proxy_host_inventory_path', default='/home/zuul/ci-framework-data/artifacts/' 'zuul_inventory.yml', help='Nodes inventory on proxy host on podified environment'), cfg.StrOpt('kubeconfig_path', default='', help='A non-standard path to kubeconfig, if exist. If set, ' 'a symlink in ~/.kube/config will be created to allow ' 'running openshift client commands with less parameters'), cfg.IntOpt('servers_count', default=12, help='How many tenant VMs should be tested when many needed ' '(default value meant for cirros image).') ]