diff options
| author | Tomas Sedovic <tomas@sedovic.cz> | 2017-10-18 14:00:50 +0200 | 
|---|---|---|
| committer | Tomas Sedovic <tomas@sedovic.cz> | 2017-10-18 14:00:50 +0200 | 
| commit | 9f69f214958e1c33bf1c082cd7243dca4e8eebb8 (patch) | |
| tree | 8f3f9b8a89729ade9c482b39a8f630636a341b7c /roles | |
| parent | 255bda6812c53d39723d0ad2b27698e2d627f3bd (diff) | |
| parent | 3823c72af11f77b9639176921b398fbab2ac04fd (diff) | |
Merge branch 'master' into openstack-docs
Diffstat (limited to 'roles')
5 files changed, 131 insertions, 196 deletions
| diff --git a/roles/docker-storage-setup/tasks/main.yaml b/roles/docker-storage-setup/tasks/main.yaml index 209062ca7..dbff85662 100644 --- a/roles/docker-storage-setup/tasks/main.yaml +++ b/roles/docker-storage-setup/tasks/main.yaml @@ -1,4 +1,7 @@  --- +- name: stop docker +  service: name=docker state=stopped +  - block:      - name: create the docker-storage config file        template: @@ -7,7 +10,6 @@          owner: root          group: root          mode: 0644 -    when:      - ansible_distribution_version | version_compare('7.4', '>=')      - ansible_distribution == "RedHat" @@ -20,7 +22,6 @@          owner: root          group: root          mode: 0644 -    when:      - ansible_distribution_version | version_compare('7.4', '<')      - ansible_distribution == "RedHat" diff --git a/roles/openstack-stack/tasks/generate-templates.yml b/roles/openstack-stack/tasks/generate-templates.yml index 110da8444..0ff50a095 100644 --- a/roles/openstack-stack/tasks/generate-templates.yml +++ b/roles/openstack-stack/tasks/generate-templates.yml @@ -20,12 +20,6 @@      src: heat_stack_server.yaml.j2      dest: "{{ stack_template_pre.path }}/server.yaml" -- name: generate HOT server w/o floating IPs template from jinja2 template -  template: -    src: heat_stack_server_nofloating.yaml.j2 -    dest: "{{ stack_template_pre.path }}/server_nofloating.yaml" -  when: use_bastion|bool -  - name: generate user_data from jinja2 template    template:      src: user_data.j2 diff --git a/roles/openstack-stack/templates/heat_stack.yaml.j2 b/roles/openstack-stack/templates/heat_stack.yaml.j2 index a6b088efb..2359842a5 100644 --- a/roles/openstack-stack/templates/heat_stack.yaml.j2 +++ b/roles/openstack-stack/templates/heat_stack.yaml.j2 @@ -71,6 +71,9 @@ outputs:      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 %} @@ -113,6 +116,22 @@ resources:          - {{ 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: @@ -322,6 +341,12 @@ resources:            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 @@ -488,11 +513,7 @@ resources:      properties:        count: {{ num_etcd }}        resource_def: -{% if use_bastion|bool %} -        type: server_nofloating.yaml -{% else %}          type: server.yaml -{% endif %}          properties:            name:              str_replace: @@ -527,8 +548,13 @@ resources:            secgrp:              - { get_resource: {% if openstack_flat_secgrp|default(False)|bool %}flat-secgrp{% else %}etcd-secgrp{% endif %} }              - { get_resource: common-secgrp } -{% if not use_bastion|bool and not provider_network %} -          floating_network: {{ external_network }} +          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 %} @@ -606,11 +632,7 @@ resources:      properties:        count: {{ num_masters }}        resource_def: -{% if use_bastion|bool %} -        type: server_nofloating.yaml -{% else %}          type: server.yaml -{% endif %}          properties:            name:              str_replace: @@ -641,6 +663,11 @@ resources:                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 %} @@ -653,8 +680,13 @@ resources:  {% endif %}  {% endif %}              - { get_resource: common-secgrp } -{% if not use_bastion|bool and not provider_network %} -          floating_network: {{ external_network }} +          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 %} @@ -673,11 +705,7 @@ resources:        removal_policies:        - resource_list: {{ nodes_to_remove }}        resource_def: -{% if use_bastion|bool %} -        type: server_nofloating.yaml -{% else %}          type: server.yaml -{% endif %}          properties:            name:              str_replace: @@ -713,12 +741,22 @@ resources:                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 } -{% if not use_bastion|bool and not provider_network %} -          floating_network: {{ external_network }} +          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 %} @@ -767,6 +805,11 @@ resources:                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 diff --git a/roles/openstack-stack/templates/heat_stack_server.yaml.j2 b/roles/openstack-stack/templates/heat_stack_server.yaml.j2 index 66c2491a9..9ffe721a5 100644 --- a/roles/openstack-stack/templates/heat_stack_server.yaml.j2 +++ b/roles/openstack-stack/templates/heat_stack_server.yaml.j2 @@ -68,14 +68,44 @@ parameters:      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 %} @@ -133,6 +163,12 @@ outputs:  {% 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: @@ -143,11 +179,28 @@ resources:        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 @@ -179,8 +232,22 @@ resources:  {% 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 } diff --git a/roles/openstack-stack/templates/heat_stack_server_nofloating.yaml.j2 b/roles/openstack-stack/templates/heat_stack_server_nofloating.yaml.j2 deleted file mode 100644 index 4b79d5ab6..000000000 --- a/roles/openstack-stack/templates/heat_stack_server_nofloating.yaml.j2 +++ /dev/null @@ -1,170 +0,0 @@ -heat_template_version: 2016-10-14 - -description: OpenShift cluster server w/o floating IP - -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 - -  subnet: -    type: string -    label: Subnet ID -    description: Subnet resource - -  secgrp: -    type: comma_delimited_list -    label: Security groups -    description: Security group resources - -  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_nofloating, name ] } - -  private_ip: -    description: Private IP of the server -    value: -      get_attr: -        - server_nofloating -        - addresses -        - { get_param: net_name } -        - 0 -        - addr - -resources: - -  server_nofloating: -    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 use_trunk_ports|default(false)|bool %} -        - port:  { get_attr: [trunk-port, port_id] } -{% else %} -        - port:  { get_resource: port } -{% 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 } -      fixed_ips: -        - subnet: { get_param: subnet } -      security_groups: { get_param: secgrp } - -{% 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_nofloating } -      mountpoint: /dev/sdb -{% endif %} | 
