72141b7fab
Upgrades yamllint to latest version and adots use of its strict checking. Fix all known problems reported by yamllint so we don't have to do that while touching these files. Change-Id: I4bdc520d9e2aff086c4b463718bc1e053261a4f5 Story: https://tree.taiga.io/project/tripleo-ci-board/task/381
144 lines
4.1 KiB
YAML
144 lines
4.1 KiB
YAML
---
|
|
heat_template_version: 2013-05-23
|
|
|
|
description: >
|
|
This template resides in tripleo-ci for Mitaka CI jobs only.
|
|
For Newton and beyond, please look in THT.
|
|
HOT template to create a new neutron network plus a router to the public
|
|
network, and for deploying a server into the new network. The template also
|
|
assigns a floating IP address and sets security group rules. ADAPTED FROM
|
|
https://raw.githubusercontent.com/openstack/heat-templates/master/hot/servers_in_new_neutron_net.yaml
|
|
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]}
|