diff options
Diffstat (limited to 'roles')
18 files changed, 119 insertions, 43 deletions
| diff --git a/roles/docker/README.md b/roles/docker/README.md index 4a9f21f22..19908c036 100644 --- a/roles/docker/README.md +++ b/roles/docker/README.md @@ -3,7 +3,7 @@ Docker  Ensures docker package or system container is installed, and optionally raises timeout for systemd-udevd.service to 5 minutes. -daemon.json items may be found at https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file +container-daemon.json items may be found at https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file  Requirements  ------------ diff --git a/roles/docker/tasks/systemcontainer_docker.yml b/roles/docker/tasks/systemcontainer_docker.yml index f0f5a40dd..650f06f86 100644 --- a/roles/docker/tasks/systemcontainer_docker.yml +++ b/roles/docker/tasks/systemcontainer_docker.yml @@ -130,8 +130,8 @@      dest: "{{ container_engine_systemd_dir }}/custom.conf"      src: systemcontainercustom.conf.j2 -# Set local versions of facts that must be in json format for daemon.json -# NOTE: When jinja2.9+ is used the daemon.json file can move to using tojson +# Set local versions of facts that must be in json format for container-daemon.json +# NOTE: When jinja2.9+ is used the container-daemon.json file can move to using tojson  - set_fact:      l_docker_insecure_registries: "{{ docker_insecure_registries | default([]) | to_json }}"      l_docker_log_options: "{{ docker_log_options | default({}) | to_json }}" @@ -139,10 +139,12 @@      l_docker_blocked_registries: "{{ docker_blocked_registries | default([]) | to_json }}"      l_docker_selinux_enabled: "{{ docker_selinux_enabled | default(true) | to_json }}" -# Configure container-engine using the daemon.json file +# Configure container-engine using the container-daemon.json file +# NOTE: daemon.json and container-daemon.json have been seperated to avoid +#       collision.  - name: Configure Container Engine    template: -    dest: "{{ docker_conf_dir }}/daemon.json" +    dest: "{{ docker_conf_dir }}/container-daemon.json"      src: daemon.json  # Enable and start the container-engine service diff --git a/roles/openshift_ca/tasks/main.yml b/roles/openshift_ca/tasks/main.yml index c7b906949..b9a7ec32f 100644 --- a/roles/openshift_ca/tasks/main.yml +++ b/roles/openshift_ca/tasks/main.yml @@ -108,6 +108,38 @@    delegate_to: "{{ openshift_ca_host }}"    run_once: true +- name: Test local loopback context +  command: > +    {{ hostvars[openshift_ca_host].openshift.common.client_binary }} config view +    --config={{ openshift_master_loopback_config }} +  changed_when: false +  register: loopback_config +  delegate_to: "{{ openshift_ca_host }}" +  run_once: true + +- name: Generate the loopback master client config +  command: > +    {{ hostvars[openshift_ca_host].openshift.common.client_binary }} adm create-api-client-config +      {% for named_ca_certificate in openshift.master.named_certificates | default([]) | oo_collect('cafile') %} +      --certificate-authority {{ named_ca_certificate }} +      {% endfor %} +      --certificate-authority={{ openshift_ca_cert }} +      --client-dir={{ openshift_ca_config_dir }} +      --groups=system:masters,system:openshift-master +      --master={{ hostvars[openshift_ca_host].openshift.master.loopback_api_url }} +      --public-master={{ hostvars[openshift_ca_host].openshift.master.loopback_api_url }} +      --signer-cert={{ openshift_ca_cert }} +      --signer-key={{ openshift_ca_key }} +      --signer-serial={{ openshift_ca_serial }} +      --user=system:openshift-master +      --basename=openshift-master +      {% if openshift_version | oo_version_gte_3_5_or_1_5(openshift.common.deployment_type) | bool %} +      --expire-days={{ openshift_master_cert_expire_days }} +      {% endif %} +  when: loopback_context_string not in loopback_config.stdout +  delegate_to: "{{ openshift_ca_host }}" +  run_once: true +  - name: Restore original serviceaccount keys    copy:      src: "{{ item }}.keep" diff --git a/roles/openshift_ca/vars/main.yml b/roles/openshift_ca/vars/main.yml index a32e385ec..d04c1766d 100644 --- a/roles/openshift_ca/vars/main.yml +++ b/roles/openshift_ca/vars/main.yml @@ -4,3 +4,6 @@ openshift_ca_cert: "{{ openshift_ca_config_dir }}/ca.crt"  openshift_ca_key: "{{ openshift_ca_config_dir }}/ca.key"  openshift_ca_serial: "{{ openshift_ca_config_dir }}/ca.serial.txt"  openshift_version: "{{ openshift_pkg_version | default('') }}" + +openshift_master_loopback_config: "{{ openshift_ca_config_dir }}/openshift-master.kubeconfig" +loopback_context_string: "current-context: {{ openshift.master.loopback_context_name }}" diff --git a/roles/openshift_examples/files/examples/v3.6/image-streams/image-streams-centos7.json b/roles/openshift_examples/files/examples/v3.6/image-streams/image-streams-centos7.json index a81dbb654..2583018b7 100644 --- a/roles/openshift_examples/files/examples/v3.6/image-streams/image-streams-centos7.json +++ b/roles/openshift_examples/files/examples/v3.6/image-streams/image-streams-centos7.json @@ -103,7 +103,7 @@              },              "from": {                "kind": "ImageStreamTag", -              "name": "4" +              "name": "6"              }            },            { @@ -137,6 +137,22 @@                "kind": "DockerImage",                "name": "centos/nodejs-4-centos7:latest"              } +          }, +          { +            "name": "6", +            "annotations": { +              "openshift.io/display-name": "Node.js 6", +              "description": "Build and run Node.js 6 applications on CentOS 7. For more information about using this builder image, including OpenShift considerations, see https://github.com/sclorg/s2i-nodejs-container/blob/master/6/README.md.", +              "iconClass": "icon-nodejs", +              "tags": "builder,nodejs", +              "supports":"nodejs:6,nodejs", +              "version": "6", +              "sampleRepo": "https://github.com/openshift/nodejs-ex.git" +            }, +            "from": { +              "kind": "DockerImage", +              "name": "centos/nodejs-6-centos7:latest" +            }            }          ]        } @@ -407,7 +423,7 @@                "iconClass": "icon-wildfly",                "tags": "builder,wildfly,java",                "supports":"jee,java", -              "sampleRepo": "https://github.com/bparees/openshift-jee-sample.git" +              "sampleRepo": "https://github.com/openshift/openshift-jee-sample.git"              },              "from": {                "kind": "ImageStreamTag", @@ -423,7 +439,7 @@                "tags": "builder,wildfly,java",                "supports":"wildfly:8.1,jee,java",                "version": "8.1", -              "sampleRepo": "https://github.com/bparees/openshift-jee-sample.git" +              "sampleRepo": "https://github.com/openshift/openshift-jee-sample.git"              },              "from": {                "kind": "DockerImage", @@ -439,7 +455,7 @@                "tags": "builder,wildfly,java",                "supports":"wildfly:9.0,jee,java",                "version": "9.0", -              "sampleRepo": "https://github.com/bparees/openshift-jee-sample.git" +              "sampleRepo": "https://github.com/openshift/openshift-jee-sample.git"              },              "from": {                "kind": "DockerImage", @@ -455,7 +471,7 @@                "tags": "builder,wildfly,java",                "supports":"wildfly:10.0,jee,java",                "version": "10.0", -              "sampleRepo": "https://github.com/bparees/openshift-jee-sample.git" +              "sampleRepo": "https://github.com/openshift/openshift-jee-sample.git"              },              "from": {                "kind": "DockerImage", @@ -471,7 +487,7 @@                "tags": "builder,wildfly,java",                "supports":"wildfly:10.1,jee,java",                "version": "10.1", -              "sampleRepo": "https://github.com/bparees/openshift-jee-sample.git" +              "sampleRepo": "https://github.com/openshift/openshift-jee-sample.git"              },              "from": {                "kind": "DockerImage", diff --git a/roles/openshift_examples/files/examples/v3.6/image-streams/image-streams-rhel7.json b/roles/openshift_examples/files/examples/v3.6/image-streams/image-streams-rhel7.json index 2ed0efe1e..b65f0a5e3 100644 --- a/roles/openshift_examples/files/examples/v3.6/image-streams/image-streams-rhel7.json +++ b/roles/openshift_examples/files/examples/v3.6/image-streams/image-streams-rhel7.json @@ -103,7 +103,7 @@              },              "from": {                "kind": "ImageStreamTag", -              "name": "4" +              "name": "6"              }            },            { @@ -137,6 +137,22 @@                "kind": "DockerImage",                "name": "registry.access.redhat.com/rhscl/nodejs-4-rhel7:latest"              } +          }, +          { +            "name": "6", +            "annotations": { +              "openshift.io/display-name": "Node.js 6", +              "description": "Build and run Node.js 6 applications on RHEL 7. For more information about using this builder image, including OpenShift considerations, see https://github.com/sclorg/s2i-nodejs-container.", +              "iconClass": "icon-nodejs", +              "tags": "builder,nodejs", +              "supports":"nodejs:6,nodejs", +              "version": "6", +              "sampleRepo": "https://github.com/openshift/nodejs-ex.git" +            }, +            "from": { +              "kind": "DockerImage", +              "name": "registry.access.redhat.com/rhscl/nodejs-6-rhel7:latest" +            }            }          ]        } @@ -253,7 +269,7 @@                "tags": "hidden,builder,php",                "supports":"php:5.5,php",                "version": "5.5", -              "sampleRepo": "https://github.com/openshift/cakephp-ex.git"               +              "sampleRepo": "https://github.com/openshift/cakephp-ex.git"              },              "from": {                "kind": "DockerImage", diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py index 514c06500..cfe092a28 100755 --- a/roles/openshift_facts/library/openshift_facts.py +++ b/roles/openshift_facts/library/openshift_facts.py @@ -193,8 +193,7 @@ def hostname_valid(hostname):      """      if (not hostname or              hostname.startswith('localhost') or -            hostname.endswith('localdomain') or -            hostname.endswith('novalocal')): +            hostname.endswith('localdomain')):          return False      return True @@ -1041,10 +1040,13 @@ def set_sdn_facts_if_unset(facts, system_facts):  def set_nodename(facts):      """ set nodename """      if 'node' in facts and 'common' in facts: -        if 'cloudprovider' in facts and facts['cloudprovider']['kind'] == 'openstack': -            facts['node']['nodename'] = facts['provider']['metadata']['hostname'].replace('.novalocal', '') -        elif 'cloudprovider' in facts and facts['cloudprovider']['kind'] == 'gce': +        if 'cloudprovider' in facts and facts['cloudprovider']['kind'] == 'gce':              facts['node']['nodename'] = facts['provider']['metadata']['instance']['hostname'].split('.')[0] + +        # TODO: The openstack cloudprovider nodename setting was too opinionaed. +        #       It needs to be generalized before it can be enabled again. +        # elif 'cloudprovider' in facts and facts['cloudprovider']['kind'] == 'openstack': +        #     facts['node']['nodename'] = facts['provider']['metadata']['hostname'].replace('.novalocal', '')          else:              facts['node']['nodename'] = facts['common']['hostname'].lower()      return facts diff --git a/roles/openshift_hosted/tasks/registry/storage/object_storage.yml b/roles/openshift_hosted/tasks/registry/storage/object_storage.yml index 3dde83bee..8aaba0f3c 100644 --- a/roles/openshift_hosted/tasks/registry/storage/object_storage.yml +++ b/roles/openshift_hosted/tasks/registry/storage/object_storage.yml @@ -1,20 +1,4 @@  --- -- name: Assert supported openshift.hosted.registry.storage.provider -  assert: -    that: -    - openshift.hosted.registry.storage.provider in ['azure_blob', 's3', 'swift'] -    msg: > -      Object Storage Provider: "{{ openshift.hosted.registry.storage.provider }}" -      is not currently supported - -- name: Assert implemented openshift.hosted.registry.storage.provider -  assert: -    that: -    - openshift.hosted.registry.storage.provider not in ['azure_blob', 'swift'] -    msg: > -      Support for provider: "{{ openshift.hosted.registry.storage.provider }}" -      not implemented yet -  - include: s3.yml    when: openshift.hosted.registry.storage.provider == 's3' diff --git a/roles/openshift_logging/tasks/generate_certs.yaml b/roles/openshift_logging/tasks/generate_certs.yaml index 040356e3d..9c8f0986a 100644 --- a/roles/openshift_logging/tasks/generate_certs.yaml +++ b/roles/openshift_logging/tasks/generate_certs.yaml @@ -17,7 +17,7 @@  - name: Generate certificates    command: > -    {{ openshift.common.admin_binary }} --config={{ mktemp.stdout }}/admin.kubeconfig ca create-signer-cert +    {{ openshift.common.client_binary }} adm --config={{ mktemp.stdout }}/admin.kubeconfig ca create-signer-cert      --key={{generated_certs_dir}}/ca.key --cert={{generated_certs_dir}}/ca.crt      --serial={{generated_certs_dir}}/ca.serial.txt --name=logging-signer-test    check_mode: no diff --git a/roles/openshift_logging/tasks/procure_server_certs.yaml b/roles/openshift_logging/tasks/procure_server_certs.yaml index 7ab140357..00de0ca06 100644 --- a/roles/openshift_logging/tasks/procure_server_certs.yaml +++ b/roles/openshift_logging/tasks/procure_server_certs.yaml @@ -27,7 +27,7 @@  - name: Creating signed server cert and key for {{ cert_info.procure_component }}    command: > -     {{ openshift.common.admin_binary }} --config={{ mktemp.stdout }}/admin.kubeconfig ca create-server-cert +     {{ openshift.common.client_binary }} adm --config={{ mktemp.stdout }}/admin.kubeconfig ca create-server-cert       --key={{generated_certs_dir}}/{{cert_info.procure_component}}.key --cert={{generated_certs_dir}}/{{cert_info.procure_component}}.crt       --hostnames={{cert_info.hostnames|quote}} --signer-cert={{generated_certs_dir}}/ca.crt --signer-key={{generated_certs_dir}}/ca.key       --signer-serial={{generated_certs_dir}}/ca.serial.txt diff --git a/roles/openshift_logging_elasticsearch/templates/elasticsearch.yml.j2 b/roles/openshift_logging_elasticsearch/templates/elasticsearch.yml.j2 index 681f5a7e6..58c325c8a 100644 --- a/roles/openshift_logging_elasticsearch/templates/elasticsearch.yml.j2 +++ b/roles/openshift_logging_elasticsearch/templates/elasticsearch.yml.j2 @@ -38,6 +38,7 @@ gateway:  io.fabric8.elasticsearch.authentication.users: ["system.logging.kibana", "system.logging.fluentd", "system.logging.curator", "system.admin"]  io.fabric8.elasticsearch.kibana.mapping.app: /usr/share/elasticsearch/index_patterns/com.redhat.viaq-openshift.index-pattern.json  io.fabric8.elasticsearch.kibana.mapping.ops: /usr/share/elasticsearch/index_patterns/com.redhat.viaq-openshift.index-pattern.json +io.fabric8.elasticsearch.kibana.mapping.empty: /usr/share/elasticsearch/index_patterns/com.redhat.viaq-openshift.index-pattern.json  openshift.config:    use_common_data_model: true diff --git a/roles/openshift_logging_elasticsearch/templates/es.j2 b/roles/openshift_logging_elasticsearch/templates/es.j2 index e129205ca..bd2289f0d 100644 --- a/roles/openshift_logging_elasticsearch/templates/es.j2 +++ b/roles/openshift_logging_elasticsearch/templates/es.j2 @@ -84,6 +84,9 @@ spec:                name: "RECOVER_AFTER_TIME"                value: "{{openshift_logging_elasticsearch_recover_after_time}}"              - +              name: "READINESS_PROBE_TIMEOUT" +              value: "30" +            -                name: "IS_MASTER"                value: "{% if deploy_type in ['data-master', 'master'] %}true{% else %}false{% endif %}" @@ -104,8 +107,8 @@ spec:              exec:                command:                - "/usr/share/elasticsearch/probe/readiness.sh" -            initialDelaySeconds: 5 -            timeoutSeconds: 4 +            initialDelaySeconds: 10 +            timeoutSeconds: 30              periodSeconds: 5        volumes:          - name: elasticsearch diff --git a/roles/openshift_master_certificates/tasks/main.yml b/roles/openshift_master_certificates/tasks/main.yml index 9706da24b..62413536b 100644 --- a/roles/openshift_master_certificates/tasks/main.yml +++ b/roles/openshift_master_certificates/tasks/main.yml @@ -71,7 +71,7 @@    delegate_to: "{{ openshift_ca_host }}"    run_once: true -- name: Generate the master client config +- name: Generate the loopback master client config    command: >      {{ hostvars[openshift_ca_host].openshift.common.client_binary }} adm create-api-client-config        {% for named_ca_certificate in openshift.master.named_certificates | default([]) | oo_collect('cafile') %} @@ -80,8 +80,8 @@        --certificate-authority={{ openshift_ca_cert }}        --client-dir={{ openshift_generated_configs_dir }}/master-{{ hostvars[item].openshift.common.hostname }}        --groups=system:masters,system:openshift-master -      --master={{ openshift.master.api_url }} -      --public-master={{ openshift.master.public_api_url }} +      --master={{ hostvars[item].openshift.master.loopback_api_url }} +      --public-master={{ hostvars[item].openshift.master.loopback_api_url }}        --signer-cert={{ openshift_ca_cert }}        --signer-key={{ openshift_ca_key }}        --signer-serial={{ openshift_ca_serial }} diff --git a/roles/openshift_metrics/tasks/generate_certificates.yaml b/roles/openshift_metrics/tasks/generate_certificates.yaml index 7af3f9467..3dc15d58b 100644 --- a/roles/openshift_metrics/tasks/generate_certificates.yaml +++ b/roles/openshift_metrics/tasks/generate_certificates.yaml @@ -1,7 +1,7 @@  ---  - name: generate ca certificate chain    command: > -    {{ openshift.common.admin_binary }} ca create-signer-cert +    {{ openshift.common.client_binary }} adm ca create-signer-cert      --config={{ mktemp.stdout }}/admin.kubeconfig      --key='{{ mktemp.stdout }}/ca.key'      --cert='{{ mktemp.stdout }}/ca.crt' diff --git a/roles/openshift_metrics/tasks/setup_certificate.yaml b/roles/openshift_metrics/tasks/setup_certificate.yaml index 199968579..2d880f4d6 100644 --- a/roles/openshift_metrics/tasks/setup_certificate.yaml +++ b/roles/openshift_metrics/tasks/setup_certificate.yaml @@ -1,7 +1,7 @@  ---  - name: generate {{ component }} keys    command: > -    {{ openshift.common.admin_binary }} ca create-server-cert +    {{ openshift.common.client_binary }} adm ca create-server-cert      --config={{ mktemp.stdout }}/admin.kubeconfig      --key='{{ mktemp.stdout }}/{{ component }}.key'      --cert='{{ mktemp.stdout }}/{{ component }}.crt' diff --git a/roles/openshift_node_upgrade/tasks/rpm_upgrade.yml b/roles/openshift_node_upgrade/tasks/rpm_upgrade.yml index 480e87d58..06a2d16ba 100644 --- a/roles/openshift_node_upgrade/tasks/rpm_upgrade.yml +++ b/roles/openshift_node_upgrade/tasks/rpm_upgrade.yml @@ -12,3 +12,18 @@  - name: Ensure python-yaml present for config upgrade    package: name=PyYAML state=present    when: not openshift.common.is_atomic | bool + +- name: Install Node service file +  template: +    dest: "/etc/systemd/system/{{ openshift.common.service_type }}-node.service" +    src: "{{ openshift.common.service_type }}-node.service.j2" +  register: l_node_unit + +# NOTE: This is needed to make sure we are using the correct set +#       of systemd unit files. The RPMs lay down defaults but +#       the install/upgrade may override them in /etc/systemd/system/. +# NOTE: We don't use the systemd module as some versions of the module +#       require a service to be part of the call. +- name: Reload systemd units +  command: systemctl daemon-reload +  when: l_node_unit | changed diff --git a/roles/openshift_node_upgrade/templates/atomic-openshift-node.service.j2 b/roles/openshift_node_upgrade/templates/atomic-openshift-node.service.j2 new file mode 120000 index 000000000..6041fb13a --- /dev/null +++ b/roles/openshift_node_upgrade/templates/atomic-openshift-node.service.j2 @@ -0,0 +1 @@ +../../openshift_node/templates/atomic-openshift-node.service.j2
\ No newline at end of file diff --git a/roles/openshift_node_upgrade/templates/origin-node.service.j2 b/roles/openshift_node_upgrade/templates/origin-node.service.j2 new file mode 120000 index 000000000..79c45a303 --- /dev/null +++ b/roles/openshift_node_upgrade/templates/origin-node.service.j2 @@ -0,0 +1 @@ +../../openshift_node/templates/origin-node.service.j2
\ No newline at end of file | 
