123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- heat_template_version: 2014-10-16
- description: OpenShift cluster server
- parameters:
- name:
- type: string
- label: Name
- description: Name
- cluster_env:
- type: string
- label: Cluster environment
- description: Environment of the cluster
- cluster_id:
- type: string
- label: Cluster ID
- description: Identifier of the cluster
- type:
- type: string
- label: Type
- description: Type master or node
- subtype:
- type: string
- label: Sub-type
- description: Sub-type compute or infra for nodes, default otherwise
- default: default
- key_name:
- type: string
- label: Key name
- description: Key name of keypair
- image:
- type: string
- label: Image
- description: Name of the image
- flavor:
- type: string
- label: Flavor
- description: Name of the flavor
- net:
- type: string
- label: Net ID
- description: Net resource
- net_name:
- type: string
- label: Net name
- description: Net name
- subnet:
- type: string
- label: Subnet ID
- description: Subnet resource
- secgrp:
- type: comma_delimited_list
- label: Security groups
- description: Security group resources
- floating_network:
- type: string
- label: Floating network
- description: Network to allocate floating IP from
- outputs:
- name:
- description: Name of the server
- value: { get_attr: [ server, name ] }
- private_ip:
- description: Private IP of the server
- value:
- get_attr:
- - server
- - addresses
- - { get_param: net_name }
- - 0
- - addr
- floating_ip:
- description: Floating IP of the server
- value:
- get_attr:
- - server
- - addresses
- - { get_param: net_name }
- - 1
- - addr
- resources:
- server:
- type: OS::Nova::Server
- properties:
- name: { get_param: name }
- key_name: { get_param: key_name }
- image: { get_param: image }
- flavor: { get_param: flavor }
- networks:
- - port: { get_resource: port }
- user_data: { get_resource: config }
- user_data_format: RAW
- metadata:
- environment: { get_param: cluster_env }
- clusterid: { get_param: cluster_id }
- host-type: { get_param: type }
- sub-host-type: { get_param: subtype }
- port:
- type: OS::Neutron::Port
- properties:
- network: { get_param: net }
- fixed_ips:
- - subnet: { get_param: subnet }
- security_groups: { get_param: secgrp }
- floating-ip:
- type: OS::Neutron::FloatingIP
- properties:
- floating_network: { get_param: floating_network }
- port_id: { get_resource: port }
- config:
- type: OS::Heat::CloudConfig
- properties:
- cloud_config:
- disable_root: true
- hostname: { get_param: name }
- fqdn:
- str_replace:
- template: name.example.com
- params:
- name: { get_param: name }
- system_info:
- default_user:
- name: openshift
- sudo: ["ALL=(ALL) NOPASSWD: ALL"]
- write_files:
- - path: /etc/sudoers.d/00-openshift-no-requiretty
- permissions: 440
- # content: Defaults:openshift !requiretty
- # Encoded in base64 to be sure that we do not forget the trailing newline or
- # sudo will not be able to parse that file
- encoding: b64
- content: RGVmYXVsdHM6b3BlbnNoaWZ0ICFyZXF1aXJldHR5Cg==
|