Added basic multinode kitchen test
- this scenario creates a basic three-node cluster, consisting of one Compute Controller, one Network Controller and one Compute Node Change-Id: Ib9202cccd126b88906776223394b767fbbc41ec6
This commit is contained in:
parent
d7e8923363
commit
ca3a5df961
282
.kitchen.multi.yml
Normal file
282
.kitchen.multi.yml
Normal file
@ -0,0 +1,282 @@
|
|||||||
|
---
|
||||||
|
driver:
|
||||||
|
name: vagrant
|
||||||
|
|
||||||
|
client_rb:
|
||||||
|
treat_deprecation_warnings_as_errors: true
|
||||||
|
resource_cloning: false
|
||||||
|
|
||||||
|
provisioner:
|
||||||
|
name: chef_zero
|
||||||
|
# You may wish to disable always updating cookbooks in CI or other testing
|
||||||
|
# environments.
|
||||||
|
# For example:
|
||||||
|
# always_update_cookbooks: <%= !ENV['CI'] %>
|
||||||
|
always_update_cookbooks: true
|
||||||
|
require_chef_omnibus: 13
|
||||||
|
# Copy secret to /tmp/kitchen on test VM. Kitchen tries to gather secrets
|
||||||
|
# before any recipes had a chance to run -> we cannot use a recipe to put the
|
||||||
|
# secrets file in place.
|
||||||
|
encrypted_data_bag_secret_key_path: .chef/encrypted_data_bag_secret
|
||||||
|
attributes:
|
||||||
|
# Attributes copied from environments/multinode.json
|
||||||
|
apache:
|
||||||
|
listen: []
|
||||||
|
openstack:
|
||||||
|
is_release: true
|
||||||
|
apt:
|
||||||
|
update_apt_cache: true
|
||||||
|
bind_service:
|
||||||
|
db:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
mq:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
main:
|
||||||
|
identity:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
admin:
|
||||||
|
identity:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
all:
|
||||||
|
block-storage:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
compute-api:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
compute-metadata-api:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
compute-novnc:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
image_api:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
image_registry:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
network:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
orchestration-api:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
orchestration-api-cfn:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
orchestration-api-cloudwatch:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
placement-api:
|
||||||
|
host: '0.0.0.0'
|
||||||
|
compute:
|
||||||
|
conf:
|
||||||
|
libvirt:
|
||||||
|
cpu_type: none
|
||||||
|
virt_type: qemu
|
||||||
|
dashboard:
|
||||||
|
server_hostname: controller.example.net
|
||||||
|
endpoints:
|
||||||
|
db:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
mq:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
admin:
|
||||||
|
block-storage:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
compute-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
compute-metadata-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
compute-novnc:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
identity:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
image_api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
image_registry:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
network:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
orchestration-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
orchestration-api-cfn:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
orchestration-api-cloudwatch:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
placement-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
internal:
|
||||||
|
block-storage:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
compute-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
compute-metadata-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
compute-novnc:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
identity:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
image_api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
image_registry:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
network:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
orchestration-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
orchestration-api-cfn:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
orchestration-api-cloudwatch:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
placement-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
public:
|
||||||
|
block-storage:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
compute-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
compute-metadata-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
compute-novnc:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
identity:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
image_api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
image_registry:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
network:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
orchestration-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
orchestration-api-cfn:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
orchestration-api-cloudwatch:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
placement-api:
|
||||||
|
host: '192.168.101.80'
|
||||||
|
image:
|
||||||
|
image_upload: true
|
||||||
|
memcached_servers: ['127.0.0.1:11211']
|
||||||
|
mq:
|
||||||
|
user: admin
|
||||||
|
network:
|
||||||
|
conf:
|
||||||
|
DEFAULT:
|
||||||
|
service_plugins: router
|
||||||
|
ml2:
|
||||||
|
tenant_network_types: 'vxlan'
|
||||||
|
plugins:
|
||||||
|
ml2_openvswitch:
|
||||||
|
conf:
|
||||||
|
ml2_type_vxlan:
|
||||||
|
vni_ranges: '65537:69999'
|
||||||
|
vxlan_group: '239.1.1.40'
|
||||||
|
transport_url:
|
||||||
|
rabbit_host: '192.168.101.80'
|
||||||
|
tun_network_bridge_interface: 'eth2'
|
||||||
|
secret:
|
||||||
|
key_path: /tmp/kitchen/encrypted_data_bag_secret
|
||||||
|
sysctl:
|
||||||
|
net.ipv4.ip_forward: 1
|
||||||
|
telemetry:
|
||||||
|
conf:
|
||||||
|
DEFAULT:
|
||||||
|
meter_dispatchers: database
|
||||||
|
|
||||||
|
verifier:
|
||||||
|
name: inspec
|
||||||
|
|
||||||
|
platforms:
|
||||||
|
- name: ubuntu-16.04
|
||||||
|
- name: centos-7.4
|
||||||
|
|
||||||
|
suites:
|
||||||
|
- name: network
|
||||||
|
customize:
|
||||||
|
cpus: 2
|
||||||
|
memory: 2048
|
||||||
|
driver:
|
||||||
|
network:
|
||||||
|
- ["private_network", {ip: "192.168.100.70"}]
|
||||||
|
- ["private_network", {ip: "192.168.101.70"}]
|
||||||
|
run_list:
|
||||||
|
- recipe[openstack-common]
|
||||||
|
- recipe[openstack-common::logging]
|
||||||
|
- recipe[openstack-common::sysctl]
|
||||||
|
- recipe[openstack-common::python]
|
||||||
|
- recipe[openstack-network::plugin_config]
|
||||||
|
- recipe[openstack-network::ml2_openvswitch]
|
||||||
|
- recipe[openstack-network]
|
||||||
|
- recipe[openstack-network::openvswitch]
|
||||||
|
- recipe[openstack-network::_bridge_config_example]
|
||||||
|
- recipe[openstack-network::l3_agent]
|
||||||
|
- recipe[openstack-network::dhcp_agent]
|
||||||
|
- recipe[openstack-network::metadata_agent]
|
||||||
|
- recipe[openstack-network::openvswitch_agent]
|
||||||
|
- name: compute
|
||||||
|
customize:
|
||||||
|
cpus: 2
|
||||||
|
memory: 2048
|
||||||
|
driver:
|
||||||
|
network:
|
||||||
|
- ["private_network", {ip: "192.168.100.61"}]
|
||||||
|
- ["private_network", {ip: "192.168.101.61"}]
|
||||||
|
run_list:
|
||||||
|
- recipe[openstack-common]
|
||||||
|
- recipe[openstack-common::logging]
|
||||||
|
- recipe[openstack-common::sysctl]
|
||||||
|
- recipe[openstack-common::python]
|
||||||
|
- recipe[openstack-compute::compute]
|
||||||
|
- name: controller
|
||||||
|
customize:
|
||||||
|
cpus: 4
|
||||||
|
memory: 4096
|
||||||
|
driver:
|
||||||
|
network:
|
||||||
|
- ["private_network", {ip: "192.168.100.80"}]
|
||||||
|
- ["private_network", {ip: "192.168.101.80"}]
|
||||||
|
run_list:
|
||||||
|
# run_list taken from roles/multinode-controller.json
|
||||||
|
- recipe[openstack-common]
|
||||||
|
- recipe[openstack-common::logging]
|
||||||
|
- recipe[openstack-common::sysctl]
|
||||||
|
- recipe[openstack-common::python]
|
||||||
|
- recipe[openstack-common::client]
|
||||||
|
- recipe[openstack-common::etcd]
|
||||||
|
- recipe[openstack-ops-database::server]
|
||||||
|
- recipe[openstack-ops-database::openstack-db]
|
||||||
|
- recipe[openstack-ops-messaging::rabbitmq-server]
|
||||||
|
- recipe[openstack-identity::server-apache]
|
||||||
|
- recipe[openstack-identity::registration]
|
||||||
|
- recipe[openstack-identity::openrc]
|
||||||
|
- recipe[openstack-image::api]
|
||||||
|
- recipe[openstack-image::registry]
|
||||||
|
- recipe[openstack-image::identity_registration]
|
||||||
|
- recipe[openstack-network]
|
||||||
|
- recipe[openstack-network::ml2_core_plugin]
|
||||||
|
- recipe[openstack-network::openvswitch]
|
||||||
|
- recipe[openstack-compute::nova-setup]
|
||||||
|
- recipe[openstack-compute::identity_registration]
|
||||||
|
- recipe[openstack-compute::conductor]
|
||||||
|
- recipe[openstack-compute::api-os-compute]
|
||||||
|
- recipe[openstack-compute::api-metadata]
|
||||||
|
- recipe[openstack-compute::placement_api]
|
||||||
|
- recipe[openstack-compute::scheduler]
|
||||||
|
- recipe[openstack-compute::vncproxy]
|
||||||
|
- recipe[openstack-compute::identity_registration]
|
||||||
|
# NOTE: block-storage, orchestration, dashboard, etc. will be installed
|
||||||
|
# but are not tested by tempest
|
||||||
|
- recipe[openstack-block-storage::api]
|
||||||
|
- recipe[openstack-block-storage::scheduler]
|
||||||
|
- recipe[openstack-block-storage::volume_driver_lvm]
|
||||||
|
- recipe[openstack-block-storage::volume]
|
||||||
|
- recipe[openstack-block-storage::backup]
|
||||||
|
- recipe[openstack-block-storage::identity_registration]
|
||||||
|
- recipe[openstack-orchestration::engine]
|
||||||
|
- recipe[openstack-orchestration::api]
|
||||||
|
- recipe[openstack-orchestration::api-cfn]
|
||||||
|
- recipe[openstack-orchestration::api-cloudwatch]
|
||||||
|
- recipe[openstack-orchestration::identity_registration]
|
||||||
|
- recipe[openstack-image::image_upload]
|
||||||
|
- recipe[openstack-dashboard::horizon]
|
||||||
|
- recipe[openstack-dashboard::neutron-lbaas-dashboard]
|
||||||
|
- recipe[openstack-integration-test::create_network]
|
||||||
|
- recipe[openstack-integration-test::setup]
|
||||||
|
- recipe[openstack-integration-test::run_tempest]
|
||||||
|
verifier:
|
||||||
|
inspec_tests:
|
||||||
|
- test/tempest/default
|
||||||
|
|
Loading…
Reference in New Issue
Block a user