ab1725eb6b
currently Heat tests have troubles running when self-signed SSL CA is used on public Heat API and standard upstream images (Cirros, Ubuntu) are used as those lack trust to those CA - example is DevStack with tls-proxy service enabled. A workaround is to set [clients_heat]insecure=True, but that is not really a production-ready setting, and does not work for CFN-style signaling, only for WaitConditions. Instead, this patch adds an extra config option `vm_to_heat_api_insecure` (defaults to False), and when enabled tests will pass the correct option to the curl or cfn-signal commands running from instance's user data via new parameters that test templates are now accepting. Change-Id: I94a82caf1fcb6999151ff1e6fbbe1e2ba211bbb9
73 lines
1.3 KiB
YAML
73 lines
1.3 KiB
YAML
heat_template_version: 2015-10-15
|
|
|
|
description: |
|
|
App server that is a member of Neutron Pool.
|
|
|
|
parameters:
|
|
|
|
image:
|
|
type: string
|
|
|
|
flavor:
|
|
type: string
|
|
|
|
net:
|
|
type: string
|
|
|
|
sec_group:
|
|
type: string
|
|
|
|
pool_id:
|
|
type: string
|
|
|
|
app_port:
|
|
type: number
|
|
|
|
timeout:
|
|
type: number
|
|
|
|
wc_extra_args:
|
|
type: string
|
|
default: ""
|
|
|
|
resources:
|
|
|
|
config:
|
|
type: OS::Test::WebAppConfig
|
|
properties:
|
|
app_port: { get_param: app_port }
|
|
wc_curl_cli:
|
|
list_join:
|
|
- " "
|
|
- [ get_attr: [ handle, curl_cli ], get_param: wc_extra_args ]
|
|
|
|
server:
|
|
type: OS::Nova::Server
|
|
properties:
|
|
image: { get_param: image }
|
|
flavor: { get_param: flavor }
|
|
networks:
|
|
- network: { get_param: net }
|
|
security_groups:
|
|
- { get_param: sec_group }
|
|
user_data_format: RAW
|
|
user_data: { get_resource: config }
|
|
|
|
handle:
|
|
type: OS::Heat::WaitConditionHandle
|
|
|
|
waiter:
|
|
type: OS::Heat::WaitCondition
|
|
depends_on: server
|
|
properties:
|
|
timeout: { get_param: timeout }
|
|
handle: { get_resource: handle }
|
|
|
|
pool_member:
|
|
type: OS::Neutron::PoolMember
|
|
depends_on: waiter
|
|
properties:
|
|
address: { get_attr: [ server, networks, { get_param: net }, 0 ] }
|
|
pool_id: { get_param: pool_id }
|
|
protocol_port: { get_param: app_port }
|