Implement scenari001, 002 and 003
* scenario001 will test Telemetry with Aodh, Ceilometer, Gnocchi with file backend, MongoDB and Redis. * scenario002 will test Cinder with iscsi backend. * scenario003 will test Sahara. All jobs are experimental and non voting. Change-Id: I8b1a3cfd44ed25eb121f9f2a0a8bc7316f681324
This commit is contained in:
parent
253a536e4e
commit
3956f6dbf7
43
README.md
43
README.md
@ -26,25 +26,30 @@ the same node.
|
||||
Service testing matrix
|
||||
----------------------
|
||||
|
||||
| - | scenario001 | multinode-nonha |
|
||||
|:--------------:|:-----------:|:---------------:|
|
||||
| keystone | X | X |
|
||||
| glance | file | swift |
|
||||
| cinder | | iscsi |
|
||||
| heat | X | X |
|
||||
| mysql | X | X |
|
||||
| neutron | ovs | X |
|
||||
| rabbitmq | X | X |
|
||||
| haproxy | X | X |
|
||||
| keepalived | X | X |
|
||||
| memcached | X | X |
|
||||
| pacemaker | X | X |
|
||||
| nova | qemu | X |
|
||||
| ntp | X | X |
|
||||
| snmp | X | X |
|
||||
| timezone | X | X |
|
||||
| sahara | X | |
|
||||
| swift | | X |
|
||||
| - | scenario001 | scenario002 | scenario003 |multinode-nonha |
|
||||
|:--------------:|:-----------:|:-----------:|:-----------:|---------------:|
|
||||
| keystone | X | X | X | X |
|
||||
| glance | file | file | file | swift |
|
||||
| cinder | | X | | iscsi |
|
||||
| heat | X | X | X | X |
|
||||
| mysql | X | X | X | X |
|
||||
| neutron | ovs | ovs | ovs | X |
|
||||
| rabbitmq | X | X | X | X |
|
||||
| mongodb | X | | | |
|
||||
| redis | X | | | |
|
||||
| haproxy | X | X | X | X |
|
||||
| keepalived | X | X | X | X |
|
||||
| memcached | X | X | X | X |
|
||||
| pacemaker | X | X | X | X |
|
||||
| nova | qemu | qemu | qemu | X |
|
||||
| ntp | X | X | X | X |
|
||||
| snmp | X | X | X | X |
|
||||
| timezone | X | X | X | X |
|
||||
| sahara | | | X | |
|
||||
| swift | | | | X |
|
||||
| aodh | X | | | |
|
||||
| ceilometer | X | | | |
|
||||
| gnocchi | X | | | |
|
||||
|
||||
|
||||
|
||||
|
@ -118,13 +118,50 @@ resources:
|
||||
ram: 512
|
||||
vcpus: 1
|
||||
|
||||
sahara-image:
|
||||
type: OS::Sahara::ImageRegistry
|
||||
gnocchi_res_alarm:
|
||||
type: OS::Aodh::GnocchiResourcesAlarm
|
||||
properties:
|
||||
image: { get_param: image }
|
||||
username: cirros
|
||||
tags:
|
||||
- tripleo
|
||||
description: Do stuff with gnocchi
|
||||
metric: cpu_util
|
||||
aggregation_method: mean
|
||||
granularity: 60
|
||||
evaluation_periods: 1
|
||||
threshold: 50
|
||||
alarm_actions: []
|
||||
resource_type: instance
|
||||
resource_id: { get_resource: server1 }
|
||||
comparison_operator: gt
|
||||
|
||||
asg:
|
||||
type: OS::Heat::AutoScalingGroup
|
||||
properties:
|
||||
max_size: 5
|
||||
min_size: 1
|
||||
resource:
|
||||
type: OS::Heat::RandomString
|
||||
|
||||
scaleup_policy:
|
||||
type: OS::Heat::ScalingPolicy
|
||||
properties:
|
||||
adjustment_type: change_in_capacity
|
||||
auto_scaling_group_id: {get_resource: asg}
|
||||
cooldown: 0
|
||||
scaling_adjustment: 1
|
||||
|
||||
alarm:
|
||||
type: OS::Aodh::Alarm
|
||||
properties:
|
||||
description: Scale-up if the average CPU > 50% for 1 minute
|
||||
meter_name: test_meter
|
||||
statistic: count
|
||||
comparison_operator: ge
|
||||
threshold: 1
|
||||
period: 60
|
||||
evaluation_periods: 1
|
||||
alarm_actions:
|
||||
- {get_attr: [scaleup_policy, alarm_url]}
|
||||
matching_metadata:
|
||||
metadata.metering.stack_id: {get_param: "OS::stack_id"}
|
||||
|
||||
outputs:
|
||||
server1_private_ip:
|
||||
@ -133,3 +170,5 @@ outputs:
|
||||
server1_public_ip:
|
||||
description: Floating IP address of server1 in public network
|
||||
value: { get_attr: [ server1_floating_ip, floating_ip_address ] }
|
||||
asg_size:
|
||||
value: {get_attr: [asg, current_size]}
|
||||
|
137
templates/scenario002-multinode-pingtest.yaml
Normal file
137
templates/scenario002-multinode-pingtest.yaml
Normal file
@ -0,0 +1,137 @@
|
||||
heat_template_version: 2013-05-23
|
||||
|
||||
description: >
|
||||
HOT template to created resources deployed by scenario002.
|
||||
parameters:
|
||||
key_name:
|
||||
type: string
|
||||
description: Name of keypair to assign to servers
|
||||
default: 'pingtest_key'
|
||||
image:
|
||||
type: string
|
||||
description: Name of image to use for servers
|
||||
default: 'pingtest_image'
|
||||
public_net_name:
|
||||
type: string
|
||||
default: 'nova'
|
||||
description: >
|
||||
ID or name of public network for which floating IP addresses will be allocated
|
||||
private_net_name:
|
||||
type: string
|
||||
description: Name of private network to be created
|
||||
default: 'default-net'
|
||||
private_net_cidr:
|
||||
type: string
|
||||
description: Private network address (CIDR notation)
|
||||
default: '192.168.2.0/24'
|
||||
private_net_gateway:
|
||||
type: string
|
||||
description: Private network gateway address
|
||||
default: '192.168.2.1'
|
||||
private_net_pool_start:
|
||||
type: string
|
||||
description: Start of private network IP address allocation pool
|
||||
default: '192.168.2.100'
|
||||
private_net_pool_end:
|
||||
type: string
|
||||
default: '192.168.2.200'
|
||||
description: End of private network IP address allocation pool
|
||||
|
||||
resources:
|
||||
|
||||
key_pair:
|
||||
type: OS::Nova::KeyPair
|
||||
properties:
|
||||
save_private_key: true
|
||||
name: {get_param: key_name }
|
||||
|
||||
private_net:
|
||||
type: OS::Neutron::Net
|
||||
properties:
|
||||
name: { get_param: private_net_name }
|
||||
|
||||
private_subnet:
|
||||
type: OS::Neutron::Subnet
|
||||
properties:
|
||||
network_id: { get_resource: private_net }
|
||||
cidr: { get_param: private_net_cidr }
|
||||
gateway_ip: { get_param: private_net_gateway }
|
||||
allocation_pools:
|
||||
- start: { get_param: private_net_pool_start }
|
||||
end: { get_param: private_net_pool_end }
|
||||
|
||||
router:
|
||||
type: OS::Neutron::Router
|
||||
properties:
|
||||
external_gateway_info:
|
||||
network: { get_param: public_net_name }
|
||||
|
||||
router_interface:
|
||||
type: OS::Neutron::RouterInterface
|
||||
properties:
|
||||
router_id: { get_resource: router }
|
||||
subnet_id: { get_resource: private_subnet }
|
||||
|
||||
volume1:
|
||||
type: OS::Cinder::Volume
|
||||
properties:
|
||||
name: Volume1
|
||||
image: { get_param: image }
|
||||
size: 1
|
||||
|
||||
server1:
|
||||
type: OS::Nova::Server
|
||||
depends_on: volume1
|
||||
properties:
|
||||
name: Server1
|
||||
block_device_mapping:
|
||||
- device_name: vda
|
||||
volume_id: { get_resource: volume1 }
|
||||
flavor: { get_resource: test_flavor }
|
||||
key_name: { get_resource: key_pair }
|
||||
networks:
|
||||
- port: { get_resource: server1_port }
|
||||
|
||||
server1_port:
|
||||
type: OS::Neutron::Port
|
||||
properties:
|
||||
network_id: { get_resource: private_net }
|
||||
fixed_ips:
|
||||
- subnet_id: { get_resource: private_subnet }
|
||||
security_groups: [{ get_resource: server_security_group }]
|
||||
|
||||
server1_floating_ip:
|
||||
type: OS::Neutron::FloatingIP
|
||||
# TODO: investigate why we need this depends_on and if we could
|
||||
# replace it by router_id with get_resource: router_interface
|
||||
depends_on: router_interface
|
||||
properties:
|
||||
floating_network: { get_param: public_net_name }
|
||||
port_id: { get_resource: server1_port }
|
||||
|
||||
server_security_group:
|
||||
type: OS::Neutron::SecurityGroup
|
||||
properties:
|
||||
description: Add security group rules for server
|
||||
name: pingtest-security-group
|
||||
rules:
|
||||
- remote_ip_prefix: 0.0.0.0/0
|
||||
protocol: tcp
|
||||
port_range_min: 22
|
||||
port_range_max: 22
|
||||
- remote_ip_prefix: 0.0.0.0/0
|
||||
protocol: icmp
|
||||
|
||||
test_flavor:
|
||||
type: OS::Nova::Flavor
|
||||
properties:
|
||||
ram: 512
|
||||
vcpus: 1
|
||||
|
||||
outputs:
|
||||
server1_private_ip:
|
||||
description: IP address of server1 in private network
|
||||
value: { get_attr: [ server1, first_address ] }
|
||||
server1_public_ip:
|
||||
description: Floating IP address of server1 in public network
|
||||
value: { get_attr: [ server1_floating_ip, floating_ip_address ] }
|
135
templates/scenario003-multinode-pingtest.yaml
Normal file
135
templates/scenario003-multinode-pingtest.yaml
Normal file
@ -0,0 +1,135 @@
|
||||
heat_template_version: 2013-05-23
|
||||
|
||||
description: >
|
||||
HOT template to created resources deployed by scenario003.
|
||||
parameters:
|
||||
key_name:
|
||||
type: string
|
||||
description: Name of keypair to assign to servers
|
||||
default: 'pingtest_key'
|
||||
image:
|
||||
type: string
|
||||
description: Name of image to use for servers
|
||||
default: 'pingtest_image'
|
||||
public_net_name:
|
||||
type: string
|
||||
default: 'nova'
|
||||
description: >
|
||||
ID or name of public network for which floating IP addresses will be allocated
|
||||
private_net_name:
|
||||
type: string
|
||||
description: Name of private network to be created
|
||||
default: 'default-net'
|
||||
private_net_cidr:
|
||||
type: string
|
||||
description: Private network address (CIDR notation)
|
||||
default: '192.168.2.0/24'
|
||||
private_net_gateway:
|
||||
type: string
|
||||
description: Private network gateway address
|
||||
default: '192.168.2.1'
|
||||
private_net_pool_start:
|
||||
type: string
|
||||
description: Start of private network IP address allocation pool
|
||||
default: '192.168.2.100'
|
||||
private_net_pool_end:
|
||||
type: string
|
||||
default: '192.168.2.200'
|
||||
description: End of private network IP address allocation pool
|
||||
|
||||
resources:
|
||||
|
||||
key_pair:
|
||||
type: OS::Nova::KeyPair
|
||||
properties:
|
||||
save_private_key: true
|
||||
name: {get_param: key_name }
|
||||
|
||||
private_net:
|
||||
type: OS::Neutron::Net
|
||||
properties:
|
||||
name: { get_param: private_net_name }
|
||||
|
||||
private_subnet:
|
||||
type: OS::Neutron::Subnet
|
||||
properties:
|
||||
network_id: { get_resource: private_net }
|
||||
cidr: { get_param: private_net_cidr }
|
||||
gateway_ip: { get_param: private_net_gateway }
|
||||
allocation_pools:
|
||||
- start: { get_param: private_net_pool_start }
|
||||
end: { get_param: private_net_pool_end }
|
||||
|
||||
router:
|
||||
type: OS::Neutron::Router
|
||||
properties:
|
||||
external_gateway_info:
|
||||
network: { get_param: public_net_name }
|
||||
|
||||
router_interface:
|
||||
type: OS::Neutron::RouterInterface
|
||||
properties:
|
||||
router_id: { get_resource: router }
|
||||
subnet_id: { get_resource: private_subnet }
|
||||
|
||||
server1:
|
||||
type: OS::Nova::Server
|
||||
properties:
|
||||
name: Server1
|
||||
flavor: { get_resource: test_flavor }
|
||||
image: { get_param: image }
|
||||
key_name: { get_resource: key_pair }
|
||||
networks:
|
||||
- port: { get_resource: server1_port }
|
||||
|
||||
server1_port:
|
||||
type: OS::Neutron::Port
|
||||
properties:
|
||||
network_id: { get_resource: private_net }
|
||||
fixed_ips:
|
||||
- subnet_id: { get_resource: private_subnet }
|
||||
security_groups: [{ get_resource: server_security_group }]
|
||||
|
||||
server1_floating_ip:
|
||||
type: OS::Neutron::FloatingIP
|
||||
# TODO: investigate why we need this depends_on and if we could
|
||||
# replace it by router_id with get_resource: router_interface
|
||||
depends_on: router_interface
|
||||
properties:
|
||||
floating_network: { get_param: public_net_name }
|
||||
port_id: { get_resource: server1_port }
|
||||
|
||||
server_security_group:
|
||||
type: OS::Neutron::SecurityGroup
|
||||
properties:
|
||||
description: Add security group rules for server
|
||||
name: pingtest-security-group
|
||||
rules:
|
||||
- remote_ip_prefix: 0.0.0.0/0
|
||||
protocol: tcp
|
||||
port_range_min: 22
|
||||
port_range_max: 22
|
||||
- remote_ip_prefix: 0.0.0.0/0
|
||||
protocol: icmp
|
||||
|
||||
test_flavor:
|
||||
type: OS::Nova::Flavor
|
||||
properties:
|
||||
ram: 512
|
||||
vcpus: 1
|
||||
|
||||
sahara-image:
|
||||
type: OS::Sahara::ImageRegistry
|
||||
properties:
|
||||
image: { get_param: image }
|
||||
username: cirros
|
||||
tags:
|
||||
- tripleo
|
||||
|
||||
outputs:
|
||||
server1_private_ip:
|
||||
description: IP address of server1 in private network
|
||||
value: { get_attr: [ server1, first_address ] }
|
||||
server1_public_ip:
|
||||
description: Floating IP address of server1 in public network
|
||||
value: { get_attr: [ server1_floating_ip, floating_ip_address ] }
|
@ -1,8 +1,6 @@
|
||||
resource_registry:
|
||||
OS::TripleO::Controller::Net::SoftwareConfig: ../heat-templates/net-config-multinode.yaml
|
||||
OS::TripleO::Compute::Net::SoftwareConfig: ../heat-templates/net-config-multinode.yaml
|
||||
OS::TripleO::Services::SaharaApi: /usr/share/openstack-tripleo-heat-templates/puppet/services/sahara-api.yaml
|
||||
OS::TripleO::Services::SaharaEngine: /usr/share/openstack-tripleo-heat-templates/puppet/services/sahara-engine.yaml
|
||||
|
||||
parameter_defaults:
|
||||
ControllerServices:
|
||||
@ -34,10 +32,23 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::Timezone
|
||||
- OS::TripleO::Services::NovaCompute
|
||||
- OS::TripleO::Services::NovaLibvirt
|
||||
- OS::TripleO::Services::SaharaApi
|
||||
- OS::TripleO::Services::SaharaEngine
|
||||
- OS::TripleO::Services::MongoDb
|
||||
- OS::TripleO::Services::Redis
|
||||
- OS::TripleO::Services::AodhApi
|
||||
- OS::TripleO::Services::AodhEvaluator
|
||||
- OS::TripleO::Services::AodhNotifier
|
||||
- OS::TripleO::Services::AodhListener
|
||||
- OS::TripleO::Services::CeilometerApi
|
||||
- OS::TripleO::Services::CeilometerCollector
|
||||
- OS::TripleO::Services::CeilometerExpirer
|
||||
- OS::TripleO::Services::CeilometerAgentCentral
|
||||
- OS::TripleO::Services::CeilometerAgentNotification
|
||||
- OS::TripleO::Services::GnocchiApi
|
||||
- OS::TripleO::Services::GnocchiMetricd
|
||||
- OS::TripleO::Services::GnocchiStatsd
|
||||
ControllerExtraConfig:
|
||||
nova::compute::libvirt::services::libvirt_virt_type: qemu
|
||||
nova::compute::libvirt::libvirt_virt_type: qemu
|
||||
# we don't deploy Swift so we switch to file backend.
|
||||
GlanceBackend: 'file'
|
||||
GnocchiBackend: 'file'
|
||||
|
43
test-environments/scenario002-multinode.yaml
Normal file
43
test-environments/scenario002-multinode.yaml
Normal file
@ -0,0 +1,43 @@
|
||||
resource_registry:
|
||||
OS::TripleO::Controller::Net::SoftwareConfig: ../heat-templates/net-config-multinode.yaml
|
||||
OS::TripleO::Compute::Net::SoftwareConfig: ../heat-templates/net-config-multinode.yaml
|
||||
|
||||
parameter_defaults:
|
||||
ControllerServices:
|
||||
- OS::TripleO::Services::Kernel
|
||||
- OS::TripleO::Services::Keystone
|
||||
- OS::TripleO::Services::GlanceApi
|
||||
- OS::TripleO::Services::GlanceRegistry
|
||||
- OS::TripleO::Services::HeatApi
|
||||
- OS::TripleO::Services::HeatApiCfn
|
||||
- OS::TripleO::Services::HeatApiCloudwatch
|
||||
- OS::TripleO::Services::HeatEngine
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::RabbitMQ
|
||||
- OS::TripleO::Services::HAproxy
|
||||
- OS::TripleO::Services::Keepalived
|
||||
- OS::TripleO::Services::Memcached
|
||||
- OS::TripleO::Services::Pacemaker
|
||||
- OS::TripleO::Services::NovaConductor
|
||||
- OS::TripleO::Services::NovaApi
|
||||
- OS::TripleO::Services::NovaScheduler
|
||||
- OS::TripleO::Services::Ntp
|
||||
- OS::TripleO::Services::Snmp
|
||||
- OS::TripleO::Services::Timezone
|
||||
- OS::TripleO::Services::NovaCompute
|
||||
- OS::TripleO::Services::NovaLibvirt
|
||||
- OS::TripleO::Services::CinderApi
|
||||
- OS::TripleO::Services::CinderBackup
|
||||
- OS::TripleO::Services::CinderScheduler
|
||||
- OS::TripleO::Services::CinderVolume
|
||||
ControllerExtraConfig:
|
||||
nova::compute::libvirt::services::libvirt_virt_type: qemu
|
||||
nova::compute::libvirt::libvirt_virt_type: qemu
|
||||
# we don't deploy Swift so we switch to file backend.
|
||||
GlanceBackend: 'file'
|
43
test-environments/scenario003-multinode.yaml
Normal file
43
test-environments/scenario003-multinode.yaml
Normal file
@ -0,0 +1,43 @@
|
||||
resource_registry:
|
||||
OS::TripleO::Controller::Net::SoftwareConfig: ../heat-templates/net-config-multinode.yaml
|
||||
OS::TripleO::Compute::Net::SoftwareConfig: ../heat-templates/net-config-multinode.yaml
|
||||
OS::TripleO::Services::SaharaApi: /usr/share/openstack-tripleo-heat-templates/puppet/services/sahara-api.yaml
|
||||
OS::TripleO::Services::SaharaEngine: /usr/share/openstack-tripleo-heat-templates/puppet/services/sahara-engine.yaml
|
||||
|
||||
parameter_defaults:
|
||||
ControllerServices:
|
||||
- OS::TripleO::Services::Kernel
|
||||
- OS::TripleO::Services::Keystone
|
||||
- OS::TripleO::Services::GlanceApi
|
||||
- OS::TripleO::Services::GlanceRegistry
|
||||
- OS::TripleO::Services::HeatApi
|
||||
- OS::TripleO::Services::HeatApiCfn
|
||||
- OS::TripleO::Services::HeatApiCloudwatch
|
||||
- OS::TripleO::Services::HeatEngine
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::RabbitMQ
|
||||
- OS::TripleO::Services::HAproxy
|
||||
- OS::TripleO::Services::Keepalived
|
||||
- OS::TripleO::Services::Memcached
|
||||
- OS::TripleO::Services::Pacemaker
|
||||
- OS::TripleO::Services::NovaConductor
|
||||
- OS::TripleO::Services::NovaApi
|
||||
- OS::TripleO::Services::NovaScheduler
|
||||
- OS::TripleO::Services::Ntp
|
||||
- OS::TripleO::Services::Snmp
|
||||
- OS::TripleO::Services::Timezone
|
||||
- OS::TripleO::Services::NovaCompute
|
||||
- OS::TripleO::Services::NovaLibvirt
|
||||
- OS::TripleO::Services::SaharaApi
|
||||
- OS::TripleO::Services::SaharaEngine
|
||||
ControllerExtraConfig:
|
||||
nova::compute::libvirt::services::libvirt_virt_type: qemu
|
||||
nova::compute::libvirt::libvirt_virt_type: qemu
|
||||
# we don't deploy Swift so we switch to file backend.
|
||||
GlanceBackend: 'file'
|
Loading…
Reference in New Issue
Block a user