diff options
Diffstat (limited to 'roles/openstack-stack')
-rw-r--r-- | roles/openstack-stack/README.md | 9 | ||||
-rw-r--r-- | roles/openstack-stack/defaults/main.yml | 21 | ||||
-rw-r--r-- | roles/openstack-stack/meta/main.yml | 3 | ||||
-rw-r--r-- | roles/openstack-stack/tasks/cleanup.yml | 6 | ||||
-rw-r--r-- | roles/openstack-stack/tasks/generate-templates.yml | 26 | ||||
-rw-r--r-- | roles/openstack-stack/tasks/main.yml | 26 | ||||
-rw-r--r-- | roles/openstack-stack/templates/heat_stack.yaml.j2 | 888 | ||||
-rw-r--r-- | roles/openstack-stack/templates/heat_stack_server.yaml.j2 | 270 | ||||
-rw-r--r-- | roles/openstack-stack/templates/user_data.j2 | 13 | ||||
l--------- | roles/openstack-stack/test/roles | 1 | ||||
-rw-r--r-- | roles/openstack-stack/test/stack-create-test.yml | 18 |
11 files changed, 0 insertions, 1281 deletions
diff --git a/roles/openstack-stack/README.md b/roles/openstack-stack/README.md deleted file mode 100644 index 32a2b49f1..000000000 --- a/roles/openstack-stack/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Role openstack-stack - -Role for spinning up instances using OpenStack Heat. - -## To Test - -``` -ansible-playbook openshift-ansible-contrib/roles/openstack-stack/test/stack-create-test.yml -``` diff --git a/roles/openstack-stack/defaults/main.yml b/roles/openstack-stack/defaults/main.yml deleted file mode 100644 index a24e684cc..000000000 --- a/roles/openstack-stack/defaults/main.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- - -stack_state: 'present' - -ssh_ingress_cidr: 0.0.0.0/0 -node_ingress_cidr: 0.0.0.0/0 -master_ingress_cidr: 0.0.0.0/0 -lb_ingress_cidr: 0.0.0.0/0 -bastion_ingress_cidr: 0.0.0.0/0 -num_etcd: 0 -num_masters: 1 -num_nodes: 1 -num_dns: 1 -num_infra: 1 -nodes_to_remove: [] -etcd_volume_size: 2 -dns_volume_size: 1 -lb_volume_size: 5 -use_bastion: False -ui_ssh_tunnel: False -provider_network: False diff --git a/roles/openstack-stack/meta/main.yml b/roles/openstack-stack/meta/main.yml deleted file mode 100644 index fdda41bb3..000000000 --- a/roles/openstack-stack/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - role: common diff --git a/roles/openstack-stack/tasks/cleanup.yml b/roles/openstack-stack/tasks/cleanup.yml deleted file mode 100644 index 258334a6b..000000000 --- a/roles/openstack-stack/tasks/cleanup.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- - -- name: cleanup temp files - file: - path: "{{ stack_template_pre.path }}" - state: absent diff --git a/roles/openstack-stack/tasks/generate-templates.yml b/roles/openstack-stack/tasks/generate-templates.yml deleted file mode 100644 index 0ff50a095..000000000 --- a/roles/openstack-stack/tasks/generate-templates.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -- name: create HOT stack template prefix - register: stack_template_pre - tempfile: - state: directory - prefix: openshift-ansible - -- name: set template paths - set_fact: - stack_template_path: "{{ stack_template_pre.path }}/stack.yaml" - user_data_template_path: "{{ stack_template_pre.path }}/user-data" - -- name: generate HOT stack template from jinja2 template - template: - src: heat_stack.yaml.j2 - dest: "{{ stack_template_path }}" - -- name: generate HOT server template from jinja2 template - template: - src: heat_stack_server.yaml.j2 - dest: "{{ stack_template_pre.path }}/server.yaml" - -- name: generate user_data from jinja2 template - template: - src: user_data.j2 - dest: "{{ user_data_template_path }}" diff --git a/roles/openstack-stack/tasks/main.yml b/roles/openstack-stack/tasks/main.yml deleted file mode 100644 index 0348f53ce..000000000 --- a/roles/openstack-stack/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -- name: Generate the templates - include: generate-templates.yml - when: - - stack_state == 'present' - -- name: Handle the Stack (create/delete) - ignore_errors: False - register: stack_create - os_stack: - name: "{{ stack_name }}" - state: "{{ stack_state }}" - template: "{{ stack_template_path | default(omit) }}" - wait: yes - -# NOTE(bogdando) OS::Neutron::Subnet doesn't support live updates for -# dns_nameservers, so we can't do that for the "create stack" task. -- include: subnet_update_dns_servers.yaml - when: - - private_dns_server is defined - - stack_state == 'present' - -- name: CleanUp - include: cleanup.yml - when: - - stack_state == 'present' diff --git a/roles/openstack-stack/templates/heat_stack.yaml.j2 b/roles/openstack-stack/templates/heat_stack.yaml.j2 deleted file mode 100644 index 2359842a5..000000000 --- a/roles/openstack-stack/templates/heat_stack.yaml.j2 +++ /dev/null @@ -1,888 +0,0 @@ -heat_template_version: 2016-10-14 - -description: OpenShift cluster - -parameters: - -outputs: - - etcd_names: - description: Name of the etcds - value: { get_attr: [ etcd, name ] } - - etcd_ips: - description: IPs of the etcds - value: { get_attr: [ etcd, private_ip ] } - - etcd_floating_ips: - description: Floating IPs of the etcds - value: { get_attr: [ etcd, floating_ip ] } - - master_names: - description: Name of the masters - value: { get_attr: [ masters, name ] } - - master_ips: - description: IPs of the masters - value: { get_attr: [ masters, private_ip ] } - - master_floating_ips: - description: Floating IPs of the masters - value: { get_attr: [ masters, floating_ip ] } - - node_names: - description: Name of the nodes - value: { get_attr: [ compute_nodes, name ] } - - node_ips: - description: IPs of the nodes - value: { get_attr: [ compute_nodes, private_ip ] } - - node_floating_ips: - description: Floating IPs of the nodes - value: { get_attr: [ compute_nodes, floating_ip ] } - - infra_names: - description: Name of the nodes - value: { get_attr: [ infra_nodes, name ] } - - infra_ips: - description: IPs of the nodes - value: { get_attr: [ infra_nodes, private_ip ] } - - infra_floating_ips: - description: Floating IPs of the nodes - value: { get_attr: [ infra_nodes, floating_ip ] } - -{% if num_dns|int > 0 %} - dns_name: - description: Name of the DNS - value: - get_attr: - - dns - - name - - dns_floating_ips: - description: Floating IPs of the DNS - value: { get_attr: [ dns, floating_ip ] } - - dns_private_ips: - description: Private IPs of the DNS - value: { get_attr: [ dns, private_ip ] } -{% endif %} - -conditions: - no_floating: {% if provider_network or use_bastion|bool %}true{% else %}false{% endif %} - -resources: - -{% if not provider_network %} - net: - type: OS::Neutron::Net - properties: - name: - str_replace: - template: openshift-ansible-cluster_id-net - params: - cluster_id: {{ stack_name }} - - subnet: - type: OS::Neutron::Subnet - properties: - name: - str_replace: - template: openshift-ansible-cluster_id-subnet - params: - cluster_id: {{ stack_name }} - network: { get_resource: net } - cidr: - str_replace: - template: subnet_24_prefix.0/24 - params: - subnet_24_prefix: {{ subnet_prefix }} - allocation_pools: - - start: - str_replace: - template: subnet_24_prefix.3 - params: - subnet_24_prefix: {{ subnet_prefix }} - end: - str_replace: - template: subnet_24_prefix.254 - params: - subnet_24_prefix: {{ subnet_prefix }} - dns_nameservers: -{% for nameserver in dns_nameservers %} - - {{ nameserver }} -{% endfor %} - -{% if openshift_use_flannel|default(False)|bool %} - data_net: - type: OS::Neutron::Net - properties: - name: openshift-ansible-{{ stack_name }}-data-net - port_security_enabled: false - - data_subnet: - type: OS::Neutron::Subnet - properties: - name: openshift-ansible-{{ stack_name }}-data-subnet - network: { get_resource: data_net } - cidr: {{ osm_cluster_network_cidr|default('10.128.0.0/14') }} - gateway_ip: null -{% endif %} - - router: - type: OS::Neutron::Router - properties: - name: - str_replace: - template: openshift-ansible-cluster_id-router - params: - cluster_id: {{ stack_name }} - external_gateway_info: - network: {{ external_network }} - - interface: - type: OS::Neutron::RouterInterface - properties: - router_id: { get_resource: router } - subnet_id: { get_resource: subnet } - -{% endif %} - -# keypair: -# type: OS::Nova::KeyPair -# properties: -# name: -# str_replace: -# template: openshift-ansible-cluster_id-keypair -# params: -# cluster_id: {{ stack_name }} -# public_key: {{ ssh_public_key }} - - common-secgrp: - type: OS::Neutron::SecurityGroup - properties: - name: - str_replace: - template: openshift-ansible-cluster_id-common-secgrp - params: - cluster_id: {{ stack_name }} - description: - str_replace: - template: Basic ssh/icmp security group for cluster_id OpenShift cluster - params: - cluster_id: {{ stack_name }} - rules: - - direction: ingress - protocol: tcp - port_range_min: 22 - port_range_max: 22 - remote_ip_prefix: {{ ssh_ingress_cidr }} -{% if use_bastion|bool %} - - direction: ingress - protocol: tcp - port_range_min: 22 - port_range_max: 22 - remote_ip_prefix: {{ bastion_ingress_cidr }} -{% endif %} - - direction: ingress - protocol: icmp - remote_ip_prefix: {{ ssh_ingress_cidr }} - -{% if openstack_flat_secgrp|default(False)|bool %} - flat-secgrp: - type: OS::Neutron::SecurityGroup - properties: - name: - str_replace: - template: openshift-ansible-cluster_id-flat-secgrp - params: - cluster_id: {{ stack_name }} - description: - str_replace: - template: Security group for cluster_id OpenShift cluster - params: - cluster_id: {{ stack_name }} - rules: - - direction: ingress - protocol: tcp - port_range_min: 4001 - port_range_max: 4001 - - direction: ingress - protocol: tcp - port_range_min: {{ openshift_master_api_port|default(8443) }} - port_range_max: {{ openshift_master_api_port|default(8443) }} - - direction: ingress - protocol: tcp - port_range_min: {{ openshift_master_console_port|default(8443) }} - port_range_max: {{ openshift_master_console_port|default(8443) }} - - direction: ingress - protocol: tcp - port_range_min: 8053 - port_range_max: 8053 - - direction: ingress - protocol: udp - port_range_min: 8053 - port_range_max: 8053 - - direction: ingress - protocol: tcp - port_range_min: 24224 - port_range_max: 24224 - - direction: ingress - protocol: udp - port_range_min: 24224 - port_range_max: 24224 - - direction: ingress - protocol: tcp - port_range_min: 2224 - port_range_max: 2224 - - direction: ingress - protocol: udp - port_range_min: 5404 - port_range_max: 5405 - - direction: ingress - protocol: tcp - port_range_min: 9090 - port_range_max: 9090 - - direction: ingress - protocol: tcp - port_range_min: 2379 - port_range_max: 2380 - remote_mode: remote_group_id - - direction: ingress - protocol: tcp - port_range_min: 10250 - port_range_max: 10250 - remote_mode: remote_group_id - - direction: ingress - protocol: udp - port_range_min: 10250 - port_range_max: 10250 - remote_mode: remote_group_id - - direction: ingress - protocol: tcp - port_range_min: 10255 - port_range_max: 10255 - remote_mode: remote_group_id - - direction: ingress - protocol: udp - port_range_min: 10255 - port_range_max: 10255 - remote_mode: remote_group_id - - direction: ingress - protocol: udp - port_range_min: 4789 - port_range_max: 4789 - remote_mode: remote_group_id - - direction: ingress - protocol: tcp - port_range_min: 30000 - port_range_max: 32767 - remote_ip_prefix: {{ node_ingress_cidr }} - - direction: ingress - protocol: tcp - port_range_min: 30000 - port_range_max: 32767 - remote_ip_prefix: "{{ openstack_subnet_prefix }}.0/24" -{% else %} - master-secgrp: - type: OS::Neutron::SecurityGroup - properties: - name: - str_replace: - template: openshift-ansible-cluster_id-master-secgrp - params: - cluster_id: {{ stack_name }} - description: - str_replace: - template: Security group for cluster_id OpenShift cluster master - params: - cluster_id: {{ stack_name }} - rules: - - direction: ingress - protocol: tcp - port_range_min: 4001 - port_range_max: 4001 - - direction: ingress - protocol: tcp - port_range_min: {{ openshift_master_api_port|default(8443) }} - port_range_max: {{ openshift_master_api_port|default(8443) }} - - direction: ingress - protocol: tcp - port_range_min: {{ openshift_master_console_port|default(8443) }} - port_range_max: {{ openshift_master_console_port|default(8443) }} - - direction: ingress - protocol: tcp - port_range_min: 8053 - port_range_max: 8053 - - direction: ingress - protocol: udp - port_range_min: 8053 - port_range_max: 8053 - - direction: ingress - protocol: tcp - port_range_min: 24224 - port_range_max: 24224 - - direction: ingress - protocol: udp - port_range_min: 24224 - port_range_max: 24224 - - direction: ingress - protocol: tcp - port_range_min: 2224 - port_range_max: 2224 - - direction: ingress - protocol: udp - port_range_min: 5404 - port_range_max: 5405 - - direction: ingress - protocol: tcp - port_range_min: 9090 - port_range_max: 9090 -{% if openshift_use_flannel|default(False)|bool %} - - direction: ingress - protocol: tcp - port_range_min: 2379 - port_range_max: 2379 -{% endif %} - - etcd-secgrp: - type: OS::Neutron::SecurityGroup - properties: - name: - str_replace: - template: openshift-ansible-cluster_id-etcd-secgrp - params: - cluster_id: {{ stack_name }} - description: - str_replace: - template: Security group for cluster_id etcd cluster - params: - cluster_id: {{ stack_name }} - rules: - - direction: ingress - protocol: tcp - port_range_min: 2379 - port_range_max: 2379 - remote_mode: remote_group_id - remote_group_id: { get_resource: master-secgrp } - - direction: ingress - protocol: tcp - port_range_min: 2380 - port_range_max: 2380 - remote_mode: remote_group_id - - node-secgrp: - type: OS::Neutron::SecurityGroup - properties: - name: - str_replace: - template: openshift-ansible-cluster_id-node-secgrp - params: - cluster_id: {{ stack_name }} - description: - str_replace: - template: Security group for cluster_id OpenShift cluster nodes - params: - cluster_id: {{ stack_name }} - rules: - - direction: ingress - protocol: tcp - port_range_min: 10250 - port_range_max: 10250 - remote_mode: remote_group_id - - direction: ingress - protocol: tcp - port_range_min: 10255 - port_range_max: 10255 - remote_mode: remote_group_id - - direction: ingress - protocol: udp - port_range_min: 10255 - port_range_max: 10255 - remote_mode: remote_group_id - - direction: ingress - protocol: udp - port_range_min: 4789 - port_range_max: 4789 - remote_mode: remote_group_id - - direction: ingress - protocol: tcp - port_range_min: 30000 - port_range_max: 32767 - remote_ip_prefix: {{ node_ingress_cidr }} - - direction: ingress - protocol: tcp - port_range_min: 30000 - port_range_max: 32767 - remote_ip_prefix: "{{ openstack_subnet_prefix }}.0/24" -{% endif %} - - infra-secgrp: - type: OS::Neutron::SecurityGroup - properties: - name: - str_replace: - template: openshift-ansible-cluster_id-infra-secgrp - params: - cluster_id: {{ stack_name }} - description: - str_replace: - template: Security group for cluster_id OpenShift infrastructure cluster nodes - params: - cluster_id: {{ stack_name }} - rules: - - direction: ingress - protocol: tcp - port_range_min: 80 - port_range_max: 80 - - direction: ingress - protocol: tcp - port_range_min: 443 - port_range_max: 443 - -{% if num_dns|int > 0 %} - dns-secgrp: - type: OS::Neutron::SecurityGroup - properties: - name: - str_replace: - template: openshift-ansible-cluster_id-dns-secgrp - params: - cluster_id: {{ stack_name }} - description: - str_replace: - template: Security group for cluster_id cluster DNS - params: - cluster_id: {{ stack_name }} - rules: - - direction: ingress - protocol: udp - port_range_min: 53 - port_range_max: 53 - remote_ip_prefix: {{ node_ingress_cidr }} - - direction: ingress - protocol: udp - port_range_min: 53 - port_range_max: 53 - remote_ip_prefix: "{{ openstack_subnet_prefix }}.0/24" - - direction: ingress - protocol: tcp - port_range_min: 53 - port_range_max: 53 - remote_ip_prefix: {{ node_ingress_cidr }} - - direction: ingress - protocol: tcp - port_range_min: 53 - port_range_max: 53 - remote_ip_prefix: "{{ openstack_subnet_prefix }}.0/24" -{% endif %} - -{% if num_masters|int > 1 or ui_ssh_tunnel|bool %} - lb-secgrp: - type: OS::Neutron::SecurityGroup - properties: - name: openshift-ansible-{{ stack_name }}-lb-secgrp - description: Security group for {{ stack_name }} cluster Load Balancer - rules: - - direction: ingress - protocol: tcp - port_range_min: {{ openshift_master_api_port | default(8443) }} - port_range_max: {{ openshift_master_api_port | default(8443) }} - remote_ip_prefix: {{ lb_ingress_cidr | default(bastion_ingress_cidr) }} -{% if ui_ssh_tunnel|bool %} - - direction: ingress - protocol: tcp - port_range_min: {{ openshift_master_api_port | default(8443) }} - port_range_max: {{ openshift_master_api_port | default(8443) }} - remote_ip_prefix: {{ ssh_ingress_cidr }} -{% endif %} -{% if openshift_master_console_port is defined and openshift_master_console_port != openshift_master_api_port %} - - direction: ingress - protocol: tcp - port_range_min: {{ openshift_master_console_port | default(8443) }} - port_range_max: {{ openshift_master_console_port | default(8443) }} - remote_ip_prefix: {{ lb_ingress_cidr | default(bastion_ingress_cidr) }} -{% endif %} -{% endif %} - - etcd: - type: OS::Heat::ResourceGroup - properties: - count: {{ num_etcd }} - resource_def: - type: server.yaml - properties: - name: - str_replace: - template: k8s_type-%index%.cluster_id - params: - cluster_id: {{ stack_name }} - k8s_type: {{ etcd_hostname | default('etcd') }} - cluster_env: {{ public_dns_domain }} - cluster_id: {{ stack_name }} - group: - str_replace: - template: k8s_type.cluster_id - params: - k8s_type: etcds - cluster_id: {{ stack_name }} - type: etcd - image: {{ openstack_etcd_image | default(openstack_image) }} - flavor: {{ etcd_flavor }} - key_name: {{ ssh_public_key }} -{% if provider_network %} - net: {{ provider_network }} - net_name: {{ provider_network }} -{% else %} - net: { get_resource: net } - subnet: { get_resource: subnet } - net_name: - str_replace: - template: openshift-ansible-cluster_id-net - params: - cluster_id: {{ stack_name }} -{% endif %} - secgrp: - - { get_resource: {% if openstack_flat_secgrp|default(False)|bool %}flat-secgrp{% else %}etcd-secgrp{% endif %} } - - { get_resource: common-secgrp } - floating_network: - if: - - no_floating - - null - - {{ external_network }} -{% if use_bastion|bool or provider_network %} - attach_float_net: false -{% endif %} - volume_size: {{ etcd_volume_size }} -{% if not provider_network %} - depends_on: - - interface -{% endif %} - -{% if master_server_group_policies|length > 0 %} - master_server_group: - type: OS::Nova::ServerGroup - properties: - name: master_server_group - policies: {{ master_server_group_policies }} -{% endif %} -{% if infra_server_group_policies|length > 0 %} - infra_server_group: - type: OS::Nova::ServerGroup - properties: - name: infra_server_group - policies: {{ infra_server_group_policies }} -{% endif %} -{% if num_masters|int > 1 %} - loadbalancer: - type: OS::Heat::ResourceGroup - properties: - count: 1 - resource_def: - type: server.yaml - properties: - name: - str_replace: - template: k8s_type-%index%.cluster_id - params: - cluster_id: {{ stack_name }} - k8s_type: {{ lb_hostname | default('lb') }} - cluster_env: {{ public_dns_domain }} - cluster_id: {{ stack_name }} - group: - str_replace: - template: k8s_type.cluster_id - params: - k8s_type: lb - cluster_id: {{ stack_name }} - type: lb - image: {{ openstack_lb_image | default(openstack_image) }} - flavor: {{ lb_flavor }} - key_name: {{ ssh_public_key }} -{% if provider_network %} - net: {{ provider_network }} - net_name: {{ provider_network }} -{% else %} - net: { get_resource: net } - subnet: { get_resource: subnet } - net_name: - str_replace: - template: openshift-ansible-cluster_id-net - params: - cluster_id: {{ stack_name }} -{% endif %} - secgrp: - - { get_resource: lb-secgrp } - - { get_resource: common-secgrp } -{% if not provider_network %} - floating_network: {{ external_network }} -{% endif %} - volume_size: {{ lb_volume_size }} -{% if not provider_network %} - depends_on: - - interface -{% endif %} -{% endif %} - - masters: - type: OS::Heat::ResourceGroup - properties: - count: {{ num_masters }} - resource_def: - type: server.yaml - properties: - name: - str_replace: - template: k8s_type-%index%.cluster_id - params: - cluster_id: {{ stack_name }} - k8s_type: {{ master_hostname | default('master')}} - cluster_env: {{ public_dns_domain }} - cluster_id: {{ stack_name }} - group: - str_replace: - template: k8s_type.cluster_id - params: - k8s_type: masters - cluster_id: {{ stack_name }} - type: master - image: {{ openstack_master_image | default(openstack_image) }} - flavor: {{ master_flavor }} - key_name: {{ ssh_public_key }} -{% if provider_network %} - net: {{ provider_network }} - net_name: {{ provider_network }} -{% else %} - net: { get_resource: net } - subnet: { get_resource: subnet } - net_name: - str_replace: - template: openshift-ansible-cluster_id-net - params: - cluster_id: {{ stack_name }} -{% if openshift_use_flannel|default(False)|bool %} - attach_data_net: true - data_net: { get_resource: data_net } - data_subnet: { get_resource: data_subnet } -{% endif %} -{% endif %} - secgrp: -{% if openstack_flat_secgrp|default(False)|bool %} - - { get_resource: flat-secgrp } -{% else %} - - { get_resource: master-secgrp } - - { get_resource: node-secgrp } -{% if num_etcd|int == 0 %} - - { get_resource: etcd-secgrp } -{% endif %} -{% endif %} - - { get_resource: common-secgrp } - floating_network: - if: - - no_floating - - null - - {{ external_network }} -{% if use_bastion|bool or provider_network %} - attach_float_net: false -{% endif %} - volume_size: {{ master_volume_size }} -{% if master_server_group_policies|length > 0 %} - scheduler_hints: - group: { get_resource: master_server_group } -{% endif %} -{% if not provider_network %} - depends_on: - - interface -{% endif %} - - compute_nodes: - type: OS::Heat::ResourceGroup - properties: - count: {{ num_nodes }} - removal_policies: - - resource_list: {{ nodes_to_remove }} - resource_def: - type: server.yaml - properties: - name: - str_replace: - template: sub_type_k8s_type-%index%.cluster_id - params: - cluster_id: {{ stack_name }} - sub_type_k8s_type: {{ node_hostname | default('app-node') }} - cluster_env: {{ public_dns_domain }} - cluster_id: {{ stack_name }} - group: - str_replace: - template: k8s_type.cluster_id - params: - k8s_type: nodes - cluster_id: {{ stack_name }} - type: node - subtype: app - node_labels: -{% for k, v in openshift_cluster_node_labels.app.iteritems() %} - {{ k|e }}: {{ v|e }} -{% endfor %} - image: {{ openstack_node_image | default(openstack_image) }} - flavor: {{ node_flavor }} - key_name: {{ ssh_public_key }} -{% if provider_network %} - net: {{ provider_network }} - net_name: {{ provider_network }} -{% else %} - net: { get_resource: net } - subnet: { get_resource: subnet } - net_name: - str_replace: - template: openshift-ansible-cluster_id-net - params: - cluster_id: {{ stack_name }} -{% if openshift_use_flannel|default(False)|bool %} - attach_data_net: true - data_net: { get_resource: data_net } - data_subnet: { get_resource: data_subnet } -{% endif %} -{% endif %} - secgrp: - - { get_resource: {% if openstack_flat_secgrp|default(False)|bool %}flat-secgrp{% else %}node-secgrp{% endif %} } - - { get_resource: common-secgrp } - floating_network: - if: - - no_floating - - null - - {{ external_network }} -{% if use_bastion|bool or provider_network %} - attach_float_net: false -{% endif %} - volume_size: {{ node_volume_size }} -{% if not provider_network %} - depends_on: - - interface -{% endif %} - - infra_nodes: - type: OS::Heat::ResourceGroup - properties: - count: {{ num_infra }} - resource_def: - type: server.yaml - properties: - name: - str_replace: - template: sub_type_k8s_type-%index%.cluster_id - params: - cluster_id: {{ stack_name }} - sub_type_k8s_type: {{ infra_hostname | default('infranode') }} - cluster_env: {{ public_dns_domain }} - cluster_id: {{ stack_name }} - group: - str_replace: - template: k8s_type.cluster_id - params: - k8s_type: infra - cluster_id: {{ stack_name }} - type: node - subtype: infra - node_labels: -{% for k, v in openshift_cluster_node_labels.infra.iteritems() %} - {{ k|e }}: {{ v|e }} -{% endfor %} - image: {{ openstack_infra_image | default(openstack_image) }} - flavor: {{ infra_flavor }} - key_name: {{ ssh_public_key }} -{% if provider_network %} - net: {{ provider_network }} - net_name: {{ provider_network }} -{% else %} - net: { get_resource: net } - subnet: { get_resource: subnet } - net_name: - str_replace: - template: openshift-ansible-cluster_id-net - params: - cluster_id: {{ stack_name }} -{% if openshift_use_flannel|default(False)|bool %} - attach_data_net: true - data_net: { get_resource: data_net } - data_subnet: { get_resource: data_subnet } -{% endif %} -{% endif %} - secgrp: -# TODO(bogdando) filter only required node rules into infra-secgrp -{% if openstack_flat_secgrp|default(False)|bool %} - - { get_resource: flat-secgrp } -{% else %} - - { get_resource: node-secgrp } -{% endif %} -{% if ui_ssh_tunnel|bool and num_masters|int < 2 %} - - { get_resource: lb-secgrp } -{% endif %} - - { get_resource: infra-secgrp } - - { get_resource: common-secgrp } -{% if not provider_network %} - floating_network: {{ external_network }} -{% endif %} - volume_size: {{ infra_volume_size }} -{% if infra_server_group_policies|length > 0 %} - scheduler_hints: - group: { get_resource: infra_server_group } -{% endif %} -{% if not provider_network %} - depends_on: - - interface -{% endif %} - -{% if num_dns|int > 0 %} - dns: - type: OS::Heat::ResourceGroup - properties: - count: {{ num_dns }} - resource_def: - type: server.yaml - properties: - name: - str_replace: - template: k8s_type-%index%.cluster_id - params: - cluster_id: {{ stack_name }} - k8s_type: {{ dns_hostname | default('dns') }} - cluster_env: {{ public_dns_domain }} - cluster_id: {{ stack_name }} - group: - str_replace: - template: k8s_type.cluster_id - params: - k8s_type: dns - cluster_id: {{ stack_name }} - type: dns - image: {{ openstack_dns_image | default(openstack_image) }} - flavor: {{ dns_flavor }} - key_name: {{ ssh_public_key }} -{% if provider_network %} - net: {{ provider_network }} - net_name: {{ provider_network }} -{% else %} - net: { get_resource: net } - subnet: { get_resource: subnet } - net_name: - str_replace: - template: openshift-ansible-cluster_id-net - params: - cluster_id: {{ stack_name }} -{% endif %} - secgrp: - - { get_resource: dns-secgrp } - - { get_resource: common-secgrp } -{% if not provider_network %} - floating_network: {{ external_network }} -{% endif %} - volume_size: {{ dns_volume_size }} -{% if not provider_network %} - depends_on: - - interface -{% endif %} -{% endif %} diff --git a/roles/openstack-stack/templates/heat_stack_server.yaml.j2 b/roles/openstack-stack/templates/heat_stack_server.yaml.j2 deleted file mode 100644 index 9ffe721a5..000000000 --- a/roles/openstack-stack/templates/heat_stack_server.yaml.j2 +++ /dev/null @@ -1,270 +0,0 @@ -heat_template_version: 2016-10-14 - -description: OpenShift cluster server - -parameters: - - name: - type: string - label: Name - description: Name - - group: - type: string - label: Host Group - description: The Primary Ansible Host Group - default: host - - 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 - -{% if not provider_network %} - subnet: - type: string - label: Subnet ID - description: Subnet resource -{% endif %} - -{% if openshift_use_flannel|default(False)|bool %} - attach_data_net: - type: boolean - default: false - label: Attach-data-net - description: A switch for data port connection - - data_net: - type: string - default: '' - label: Net ID - description: Net resource - -{% if not provider_network %} - data_subnet: - type: string - default: '' - label: Subnet ID - description: Subnet resource -{% endif %} -{% endif %} - - secgrp: - type: comma_delimited_list - label: Security groups - description: Security group resources - - attach_float_net: - type: boolean - default: true - - label: Attach-float-net - description: A switch for floating network port connection - -{% if not provider_network %} - floating_network: - type: string - default: '' - label: Floating network - description: Network to allocate floating IP from -{% endif %} - - availability_zone: - type: string - description: The Availability Zone to launch the instance. - default: nova - - volume_size: - type: number - description: Size of the volume to be created. - default: 1 - constraints: - - range: { min: 1, max: 1024 } - description: must be between 1 and 1024 Gb. - - node_labels: - type: json - description: OpenShift Node Labels - default: {"region": "default" } - - scheduler_hints: - type: json - description: Server scheduler hints. - default: {} - -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 } -{% if provider_network %} - - 0 -{% else %} - - 1 -{% endif %} - - addr - -conditions: - no_floating: {not: { get_param: attach_float_net} } -{% if openshift_use_flannel|default(False)|bool %} - no_data_subnet: {not: { get_param: attach_data_net} } -{% endif %} - -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: -{% if openshift_use_flannel|default(False)|bool %} - if: - - no_data_subnet -{% if use_trunk_ports|default(false)|bool %} - - - port: { get_attr: [trunk-port, port_id] } -{% else %} - - - port: { get_resource: port } -{% endif %} -{% if use_trunk_ports|default(false)|bool %} - - - port: { get_attr: [trunk-port, port_id] } -{% else %} - - - port: { get_resource: port } - - port: { get_resource: data_port } -{% endif %} - -{% else %} -{% if use_trunk_ports|default(false)|bool %} - - port: { get_attr: [trunk-port, port_id] } -{% else %} - - port: { get_resource: port } -{% endif %} -{% endif %} - user_data: - get_file: user-data - user_data_format: RAW - user_data_update_policy: IGNORE - metadata: - group: { get_param: group } - environment: { get_param: cluster_env } - clusterid: { get_param: cluster_id } - host-type: { get_param: type } - sub-host-type: { get_param: subtype } - node_labels: { get_param: node_labels } - scheduler_hints: { get_param: scheduler_hints } - -{% if use_trunk_ports|default(false)|bool %} - trunk-port: - type: OS::Neutron::Trunk - properties: - name: { get_param: name } - port: { get_resource: port } -{% endif %} - - port: - type: OS::Neutron::Port - properties: - network: { get_param: net } -{% if not provider_network %} - fixed_ips: - - subnet: { get_param: subnet } -{% endif %} - security_groups: { get_param: secgrp } - -{% if openshift_use_flannel|default(False)|bool %} - data_port: - type: OS::Neutron::Port - condition: { not: no_data_subnet } - properties: - network: { get_param: data_net } - port_security_enabled: false -{% if not provider_network %} - fixed_ips: - - subnet: { get_param: data_subnet } -{% endif %} -{% endif %} - -{% if not provider_network %} - floating-ip: - condition: { not: no_floating } - type: OS::Neutron::FloatingIP - properties: - floating_network: { get_param: floating_network } - port_id: { get_resource: port } -{% endif %} - -{% if not ephemeral_volumes|default(false)|bool %} - cinder_volume: - type: OS::Cinder::Volume - properties: - size: { get_param: volume_size } - availability_zone: { get_param: availability_zone } - - volume_attachment: - type: OS::Cinder::VolumeAttachment - properties: - volume_id: { get_resource: cinder_volume } - instance_uuid: { get_resource: server } - mountpoint: /dev/sdb -{% endif %} diff --git a/roles/openstack-stack/templates/user_data.j2 b/roles/openstack-stack/templates/user_data.j2 deleted file mode 100644 index eb65f7cec..000000000 --- a/roles/openstack-stack/templates/user_data.j2 +++ /dev/null @@ -1,13 +0,0 @@ -#cloud-config -disable_root: true - -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 diff --git a/roles/openstack-stack/test/roles b/roles/openstack-stack/test/roles deleted file mode 120000 index e2b799b9d..000000000 --- a/roles/openstack-stack/test/roles +++ /dev/null @@ -1 +0,0 @@ -../../../roles/
\ No newline at end of file diff --git a/roles/openstack-stack/test/stack-create-test.yml b/roles/openstack-stack/test/stack-create-test.yml deleted file mode 100644 index d80472193..000000000 --- a/roles/openstack-stack/test/stack-create-test.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- hosts: localhost - gather_facts: True - become: False - roles: - - role: openstack-stack - stack_name: test-stack - dns_domain: "{{ public_dns_domain }}" - dns_nameservers: "{{ public_dns_nameservers }}" - subnet_prefix: "{{ openstack_subnet_prefix }}" - ssh_public_key: "{{ openstack_ssh_public_key }}" - openstack_image: "{{ openstack_default_image_name }}" - etcd_flavor: "{{ openstack_default_flavor }}" - master_flavor: "{{ openstack_default_flavor }}" - node_flavor: "{{ openstack_default_flavor }}" - infra_flavor: "{{ openstack_default_flavor }}" - dns_flavor: "{{ openstack_default_flavor }}" - external_network: "{{ openstack_external_network_name }}" |