diff options
| author | Jiri Mencak <jmencak@redhat.com> | 2017-12-17 23:54:51 +0100 | 
|---|---|---|
| committer | Jiri Mencak <jmencak@redhat.com> | 2018-01-02 12:58:03 +0100 | 
| commit | 4514a0ddb20480d43f153f25de94a267f10f0696 (patch) | |
| tree | 7ae56d044e446eec557ec402c894300bb48fbcb9 /roles | |
| parent | 8b71c2938d278f4418db0fdad1bf6f94585e87c7 (diff) | |
| download | openshift-4514a0ddb20480d43f153f25de94a267f10f0696.tar.gz openshift-4514a0ddb20480d43f153f25de94a267f10f0696.tar.bz2 openshift-4514a0ddb20480d43f153f25de94a267f10f0696.tar.xz openshift-4514a0ddb20480d43f153f25de94a267f10f0696.zip  | |
OpenStack provisioning -- support cns.
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/openshift_openstack/defaults/main.yml | 5 | ||||
| -rw-r--r-- | roles/openshift_openstack/tasks/check-prerequisites.yml | 2 | ||||
| -rw-r--r-- | roles/openshift_openstack/templates/heat_stack.yaml.j2 | 95 | 
3 files changed, 102 insertions, 0 deletions
diff --git a/roles/openshift_openstack/defaults/main.yml b/roles/openshift_openstack/defaults/main.yml index 65a647b8f..77be1f2b1 100644 --- a/roles/openshift_openstack/defaults/main.yml +++ b/roles/openshift_openstack/defaults/main.yml @@ -8,6 +8,7 @@ openshift_openstack_num_etcd: 0  openshift_openstack_num_masters: 1  openshift_openstack_num_nodes: 1  openshift_openstack_num_infra: 1 +openshift_openstack_num_cns: 0  openshift_openstack_dns_nameservers: []  openshift_openstack_nodes_to_remove: [] @@ -57,6 +58,7 @@ openshift_openstack_stack_name: "{{ openshift_openstack_clusterid }}.{{ openshif  openshift_openstack_subnet_prefix: "192.168.99"  openshift_openstack_master_hostname: master  openshift_openstack_infra_hostname: infra-node +openshift_openstack_cns_hostname: cns  openshift_openstack_node_hostname: app-node  openshift_openstack_lb_hostname: lb  openshift_openstack_etcd_hostname: etcd @@ -66,8 +68,10 @@ openshift_openstack_etcd_flavor: "{{ openshift_openstack_default_flavor }}"  openshift_openstack_master_flavor: "{{ openshift_openstack_default_flavor }}"  openshift_openstack_node_flavor: "{{ openshift_openstack_default_flavor }}"  openshift_openstack_infra_flavor: "{{ openshift_openstack_default_flavor }}" +openshift_openstack_cns_flavor: "{{ openshift_openstack_default_flavor }}"  openshift_openstack_master_image: "{{ openshift_openstack_default_image_name }}"  openshift_openstack_infra_image: "{{ openshift_openstack_default_image_name }}" +openshift_openstack_cns_image: "{{ openshift_openstack_default_image_name }}"  openshift_openstack_node_image: "{{ openshift_openstack_default_image_name }}"  openshift_openstack_lb_image: "{{ openshift_openstack_default_image_name }}"  openshift_openstack_etcd_image: "{{ openshift_openstack_default_image_name }}" @@ -84,6 +88,7 @@ openshift_openstack_infra_server_group_policies: []  openshift_openstack_docker_volume_size: 15  openshift_openstack_master_volume_size: "{{ openshift_openstack_docker_volume_size }}"  openshift_openstack_infra_volume_size: "{{ openshift_openstack_docker_volume_size }}" +openshift_openstack_cns_volume_size: "{{ openshift_openstack_docker_volume_size }}"  openshift_openstack_node_volume_size: "{{ openshift_openstack_docker_volume_size }}"  openshift_openstack_etcd_volume_size: 2  openshift_openstack_lb_volume_size: 5 diff --git a/roles/openshift_openstack/tasks/check-prerequisites.yml b/roles/openshift_openstack/tasks/check-prerequisites.yml index 30996cc47..1e487d434 100644 --- a/roles/openshift_openstack/tasks/check-prerequisites.yml +++ b/roles/openshift_openstack/tasks/check-prerequisites.yml @@ -91,6 +91,7 @@    with_items:    - "{{ openshift_openstack_master_image }}"    - "{{ openshift_openstack_infra_image }}" +  - "{{ openshift_openstack_cns_image }}"    - "{{ openshift_openstack_node_image }}"    - "{{ openshift_openstack_lb_image }}"    - "{{ openshift_openstack_etcd_image }}" @@ -100,6 +101,7 @@    with_items:    - "{{ openshift_openstack_master_flavor }}"    - "{{ openshift_openstack_infra_flavor }}" +  - "{{ openshift_openstack_cns_flavor }}"    - "{{ openshift_openstack_node_flavor }}"    - "{{ openshift_openstack_lb_flavor }}"    - "{{ openshift_openstack_etcd_flavor }}" diff --git a/roles/openshift_openstack/templates/heat_stack.yaml.j2 b/roles/openshift_openstack/templates/heat_stack.yaml.j2 index 8d13eb81e..1be5d3a62 100644 --- a/roles/openshift_openstack/templates/heat_stack.yaml.j2 +++ b/roles/openshift_openstack/templates/heat_stack.yaml.j2 @@ -419,6 +419,46 @@ resources:            port_range_min: 443            port_range_max: 443 +  cns-secgrp: +    type: OS::Neutron::SecurityGroup +    properties: +      name: +        str_replace: +          template: openshift-ansible-cluster_id-cns-secgrp +          params: +            cluster_id: {{ openshift_openstack_stack_name }} +      description: +        str_replace: +          template: Security group for cluster_id OpenShift cns cluster nodes +          params: +            cluster_id: {{ openshift_openstack_stack_name }} +      rules: +        # glusterfs_sshd +        - direction: ingress +          protocol: tcp +          port_range_min: 2222 +          port_range_max: 2222 +        # heketi dialing backends +        - direction: ingress +          protocol: tcp +          port_range_min: 10250 +          port_range_max: 10250 +        # glusterfs_management +        - direction: ingress +          protocol: tcp +          port_range_min: 24007 +          port_range_max: 24007 +        # glusterfs_rdma +        - direction: ingress +          protocol: tcp +          port_range_min: 24008 +          port_range_max: 24008 +        # glusterfs_bricks +        - direction: ingress +          protocol: tcp +          port_range_min: 49152 +          port_range_max: 49251 +  {% if openshift_openstack_num_masters|int > 1 %}    lb-secgrp:      type: OS::Neutron::SecurityGroup @@ -764,3 +804,58 @@ resources:      depends_on:        - interface  {% endif %} + +  cns: +    type: OS::Heat::ResourceGroup +    properties: +      count: {{ openshift_openstack_num_cns }} +      resource_def: +        type: server.yaml +        properties: +          name: +            str_replace: +              template: sub_type_k8s_type-%index%.cluster_id +              params: +                cluster_id: {{ openshift_openstack_stack_name }} +                sub_type_k8s_type: {{ openshift_openstack_cns_hostname }} +          cluster_env: {{ openshift_openstack_public_dns_domain }} +          cluster_id:  {{ openshift_openstack_stack_name }} +          group: +            str_replace: +              template: k8s_type.cluster_id +              params: +                k8s_type: cns +                cluster_id: {{ openshift_openstack_stack_name }} +          type:        cns +          image:       {{ openshift_openstack_cns_image }} +          flavor:      {{ openshift_openstack_cns_flavor }} +          key_name:    {{ openshift_openstack_keypair_name }} +{% if openshift_openstack_provider_network_name %} +          net:         {{ openshift_openstack_provider_network_name }} +          net_name:    {{ openshift_openstack_provider_network_name }} +{% else %} +          net:         { get_resource: net } +          subnet:      { get_resource: subnet } +          net_name: +            str_replace: +              template: openshift-ansible-cluster_id-net +              params: +                cluster_id: {{ openshift_openstack_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 openshift_openstack_flat_secgrp|default(False)|bool %} +            - { get_resource: flat-secgrp } +{% else %} +            - { get_resource: node-secgrp } +{% endif %} +            - { get_resource: cns-secgrp } +            - { get_resource: common-secgrp } +{% if not openshift_openstack_provider_network_name %} +          floating_network: {{ openshift_openstack_external_network_name }} +{% endif %} +          volume_size: {{ openshift_openstack_cns_volume_size }}  | 
