diff options
Diffstat (limited to 'roles')
22 files changed, 75 insertions, 39 deletions
diff --git a/roles/docker/tasks/systemcontainer_crio.yml b/roles/docker/tasks/systemcontainer_crio.yml index fdc6cd24a..a79600930 100644 --- a/roles/docker/tasks/systemcontainer_crio.yml +++ b/roles/docker/tasks/systemcontainer_crio.yml @@ -36,6 +36,12 @@      state: present    when: not openshift.common.is_atomic | bool +- name: Check we are not using node as a Docker container with CRI-O +  fail: msg='Cannot use CRI-O with node configured as a Docker container' +  when: +    - openshift.common.is_containerized | bool +    - not openshift.common.is_node_system_container | bool +  # Used to pull and install the system container  - name: Ensure atomic is installed    package: diff --git a/roles/etcd/tasks/system_container.yml b/roles/etcd/tasks/system_container.yml index e735bf50a..024479fb4 100644 --- a/roles/etcd/tasks/system_container.yml +++ b/roles/etcd/tasks/system_container.yml @@ -17,6 +17,7 @@        {{ hostvars[host].etcd_hostname }}={{ etcd_peer_url_scheme }}://{{ hostvars[host].etcd_ip }}:{{ etcd_peer_port }},        {%- endif -%}        {% endfor -%} +  when: etcd_initial_cluster is undefined  - name: Check etcd system container package    command: > diff --git a/roles/etcd/templates/etcd.conf.j2 b/roles/etcd/templates/etcd.conf.j2 index 8462bb4c8..3027a9447 100644 --- a/roles/etcd/templates/etcd.conf.j2 +++ b/roles/etcd/templates/etcd.conf.j2 @@ -29,8 +29,8 @@ ETCD_INITIAL_CLUSTER={{ etcd_hostname}}={{ etcd_initial_advertise_peer_urls }}  ETCD_INITIAL_CLUSTER_STATE={{ etcd_initial_cluster_state }}  ETCD_INITIAL_CLUSTER_TOKEN=thirdparty-etcd-cluster-1  {% else %} -{% if initial_etcd_cluster is defined and initial_etcd_cluster %} -ETCD_INITIAL_CLUSTER={{ initial_etcd_cluster }} +{% if etcd_initial_cluster is defined and etcd_initial_cluster %} +ETCD_INITIAL_CLUSTER={{ etcd_initial_cluster }}  {% else %}  ETCD_INITIAL_CLUSTER={{ initial_cluster() }}  {% endif %} diff --git a/roles/installer_checkpoint/callback_plugins/installer_checkpoint.py b/roles/installer_checkpoint/callback_plugins/installer_checkpoint.py index ac369b882..25f9405af 100644 --- a/roles/installer_checkpoint/callback_plugins/installer_checkpoint.py +++ b/roles/installer_checkpoint/callback_plugins/installer_checkpoint.py @@ -136,7 +136,7 @@ class CallbackModule(CallbackBase):              },              'installer_phase_management': {                  'title': 'Management Install', -                'playbook': 'playbooks/common/openshift-cluster/openshift_management.yml' +                'playbook': 'playbooks/byo/openshift-management/config.yml'              },          } diff --git a/roles/openshift_logging/README.md b/roles/openshift_logging/README.md index 829c78728..69eb9283d 100644 --- a/roles/openshift_logging/README.md +++ b/roles/openshift_logging/README.md @@ -69,6 +69,9 @@ When `openshift_logging_install_logging` is set to `False` the `openshift_loggin  - `openshift_logging_fluentd_buffer_size_limit`: Buffer chunk limit for Fluentd. Defaults to 1m.  - `openshift_logging_fluentd_file_buffer_limit`: Fluentd will set the value to the file buffer limit.  Defaults to '1Gi' per destination. +- `openshift_logging_fluentd_audit_container_engine`: When `openshift_logging_fluentd_audit_container_engine` is set to `True`, the audit log of the container engine will be collected and stored in ES. +- `openshift_logging_fluentd_audit_file`: Location of audit log file. The default is `/var/log/audit/audit.log` +- `openshift_logging_fluentd_audit_pos_file`: Location of fluentd in_tail position file for the audit log file. The default is `/var/log/audit/audit.log.pos`  - `openshift_logging_es_host`: The name of the ES service Fluentd should send logs to. Defaults to 'logging-es'.  - `openshift_logging_es_port`: The port for the ES service Fluentd should sent its logs to. Defaults to '9200'. diff --git a/roles/openshift_logging_eventrouter/templates/eventrouter-template.j2 b/roles/openshift_logging_eventrouter/templates/eventrouter-template.j2 index 9ff4c7e80..ea1fd3efd 100644 --- a/roles/openshift_logging_eventrouter/templates/eventrouter-template.j2 +++ b/roles/openshift_logging_eventrouter/templates/eventrouter-template.j2 @@ -54,9 +54,9 @@ objects:            serviceAccount: aggregated-logging-eventrouter            serviceAccountName: aggregated-logging-eventrouter  {% if node_selector is iterable and node_selector | length > 0 %} -      nodeSelector: +          nodeSelector:  {% for key, value in node_selector.iteritems() %} -        {{ key }}: "{{ value }}" +            {{ key }}: "{{ value }}"  {% endfor %}  {% endif %}            containers: diff --git a/roles/openshift_logging_fluentd/defaults/main.yml b/roles/openshift_logging_fluentd/defaults/main.yml index 82326bdd1..25f7580a4 100644 --- a/roles/openshift_logging_fluentd/defaults/main.yml +++ b/roles/openshift_logging_fluentd/defaults/main.yml @@ -56,3 +56,7 @@ openshift_logging_fluentd_aggregating_passphrase: none  #fluentd_secureforward_contents:  openshift_logging_fluentd_file_buffer_limit: 1Gi + +# Configure fluentd to tail audit log file and filter out container engine's logs from there +# These logs are then stored in ES operation index +openshift_logging_fluentd_audit_container_engine: False diff --git a/roles/openshift_logging_fluentd/tasks/main.yaml b/roles/openshift_logging_fluentd/tasks/main.yaml index 37960afd1..06bb35dbc 100644 --- a/roles/openshift_logging_fluentd/tasks/main.yaml +++ b/roles/openshift_logging_fluentd/tasks/main.yaml @@ -108,7 +108,6 @@      src: secure-forward.conf      dest: "{{ tempdir }}/secure-forward.conf"    when: fluentd_secureforward_contents is undefined -    changed_when: no  - copy: @@ -173,6 +172,9 @@      ops_port: "{{ openshift_logging_fluentd_ops_port }}"      fluentd_nodeselector_key: "{{ openshift_logging_fluentd_nodeselector.keys()[0] }}"      fluentd_nodeselector_value: "{{ openshift_logging_fluentd_nodeselector.values()[0] }}" +    audit_container_engine: "{{ openshift_logging_fluentd_audit_container_engine | default(False) | bool }}" +    audit_log_file: "{{ openshift_logging_fluentd_audit_file | default() }}" +    audit_pos_log_file: "{{ openshift_logging_fluentd_audit_pos_file | default() }}"    check_mode: no    changed_when: no diff --git a/roles/openshift_logging_fluentd/templates/fluentd.j2 b/roles/openshift_logging_fluentd/templates/fluentd.j2 index f286b0656..644b70031 100644 --- a/roles/openshift_logging_fluentd/templates/fluentd.j2 +++ b/roles/openshift_logging_fluentd/templates/fluentd.j2 @@ -172,6 +172,28 @@ spec:            value: "{{ openshift_logging_fluentd_remote_syslog_payload_key }}"  {% endif %} +{% if audit_container_engine %} +        - name: "AUDIT_CONTAINER_ENGINE" +          value: "{{ audit_container_engine | lower }}" +{% endif %} + +{% if audit_container_engine %} +        - name: "NODE_NAME" +          valueFrom: +            fieldRef: +              fieldPath: spec.nodeName +{% endif %} + +{% if audit_log_file != '' %} +        - name: AUDIT_FILE +          value: "{{ audit_log_file }}" +{% endif %} + +{% if audit_pos_log_file != '' %} +        - name: AUDIT_POS_FILE +          value: "{{ audit_pos_log_file }}" +{% endif %} +        volumes:        - name: runlogjournal          hostPath: diff --git a/roles/openshift_master/defaults/main.yml b/roles/openshift_master/defaults/main.yml index 7e62a8c6d..f861a8e4d 100644 --- a/roles/openshift_master/defaults/main.yml +++ b/roles/openshift_master/defaults/main.yml @@ -51,3 +51,6 @@ r_openshift_master_data_dir: "{{ r_openshift_master_data_dir_default }}"  r_openshift_master_sdn_network_plugin_name_default: "{{ os_sdn_network_plugin_name | default('redhat/openshift-ovs-subnet') }}"  r_openshift_master_sdn_network_plugin_name: "{{ r_openshift_master_sdn_network_plugin_name_default }}" + +openshift_master_image_config_latest_default: "{{ openshift_image_config_latest | default(False) }}" +openshift_master_image_config_latest: "{{ openshift_master_image_config_latest_default }}" diff --git a/roles/openshift_master/tasks/systemd_units.yml b/roles/openshift_master/tasks/systemd_units.yml index c6abaeb9b..fcc66044b 100644 --- a/roles/openshift_master/tasks/systemd_units.yml +++ b/roles/openshift_master/tasks/systemd_units.yml @@ -1,4 +1,7 @@  --- +# systemd_units.yml is included both in the openshift_master role and in the upgrade +# playbooks. +  - include: upgrade_facts.yml    when: openshift_master_defaults_in_use is not defined diff --git a/roles/openshift_master/templates/master.yaml.v1.j2 b/roles/openshift_master/templates/master.yaml.v1.j2 index 9b3fbcf49..7159ccc7f 100644 --- a/roles/openshift_master/templates/master.yaml.v1.j2 +++ b/roles/openshift_master/templates/master.yaml.v1.j2 @@ -115,7 +115,7 @@ etcdStorageConfig:    openShiftStorageVersion: v1  imageConfig:    format: {{ openshift.master.registry_url }} -  latest: false +  latest: {{ openshift_master_image_config_latest }}  {% if 'image_policy_config' in openshift.master %}  imagePolicyConfig:{{ openshift.master.image_policy_config | to_padded_yaml(level=1) }}  {% endif %} @@ -275,12 +275,5 @@ servingInfo:    - {{ cipher_suite }}  {% endfor %}  {% endif %} -{% if openshift_template_service_broker_namespaces is defined %} -templateServiceBrokerConfig: -  templateNamespaces: -{% for namespace in openshift_template_service_broker_namespaces %} -  - {{ namespace }} -{% endfor %} -{% endif %}  volumeConfig:    dynamicProvisioningEnabled: {{ openshift.master.dynamic_provisioning_enabled }} diff --git a/roles/openshift_metrics/tasks/install_cassandra.yaml b/roles/openshift_metrics/tasks/install_cassandra.yaml index 7928a0346..48584bd64 100644 --- a/roles/openshift_metrics/tasks/install_cassandra.yaml +++ b/roles/openshift_metrics/tasks/install_cassandra.yaml @@ -54,6 +54,7 @@      access_modes: "{{ openshift_metrics_cassandra_pvc_access | list }}"      size: "{{ openshift_metrics_cassandra_pvc_size }}"      pv_selector: "{{ openshift_metrics_cassandra_pv_selector }}" +    storage_class_name: "{{ openshift_metrics_cassanda_pvc_storage_class_name | default('', true) }}"    with_sequence: count={{ openshift_metrics_cassandra_replicas }}    when: openshift_metrics_cassandra_storage_type == 'dynamic'    changed_when: false diff --git a/roles/openshift_node/defaults/main.yml b/roles/openshift_node/defaults/main.yml index 298d1013f..739b0d968 100644 --- a/roles/openshift_node/defaults/main.yml +++ b/roles/openshift_node/defaults/main.yml @@ -107,3 +107,6 @@ openshift_node_use_contiv: "{{ openshift_node_use_contiv_default }}"  openshift_node_data_dir_default: "{{ openshift_data_dir | default('/var/lib/origin') }}"  openshift_node_data_dir: "{{ openshift_node_data_dir_default }}" + +openshift_node_image_config_latest_default: "{{ openshift_image_config_latest | default(False) }}" +openshift_node_image_config_latest: "{{ openshift_node_image_config_latest_default }}" diff --git a/roles/openshift_node/tasks/bootstrap.yml b/roles/openshift_node/tasks/bootstrap.yml index b83b2c452..6bd2df362 100644 --- a/roles/openshift_node/tasks/bootstrap.yml +++ b/roles/openshift_node/tasks/bootstrap.yml @@ -29,7 +29,7 @@      line: "{% raw %}ExecStart=/usr/bin/openshift start node --bootstrap --kubeconfig=${KUBECONFIG} $OPTIONS{% endraw %}"      regexp: "^ExecStart=.*" -- name: "systemctl enable {{ openshift_service_type }}-node" +- name: "disable {{ openshift_service_type }}-node and {{ openshift_service_type }}-master services"    systemd:      name: "{{ item }}"      enabled: no diff --git a/roles/openshift_node/tasks/config/install-node-docker-service-file.yml b/roles/openshift_node/tasks/config/install-node-docker-service-file.yml deleted file mode 100644 index f92ff79b5..000000000 --- a/roles/openshift_node/tasks/config/install-node-docker-service-file.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: Install Node docker service file -  template: -    dest: "/etc/systemd/system/{{ openshift.common.service_type }}-node.service" -    src: openshift.docker.node.service -  notify: -  - reload systemd units -  - restart node diff --git a/roles/openshift_node/tasks/install.yml b/roles/openshift_node/tasks/install.yml index 265bf2c46..1539d6e3b 100644 --- a/roles/openshift_node/tasks/install.yml +++ b/roles/openshift_node/tasks/install.yml @@ -27,5 +27,3 @@        docker pull {{ openshift.node.node_image }}:{{ openshift_image_tag }}      register: pull_result      changed_when: "'Downloaded newer image' in pull_result.stdout" - -  - include: config/install-node-docker-service-file.yml diff --git a/roles/openshift_node/tasks/systemd_units.yml b/roles/openshift_node/tasks/systemd_units.yml index 6b4490f61..9c182ade6 100644 --- a/roles/openshift_node/tasks/systemd_units.yml +++ b/roles/openshift_node/tasks/systemd_units.yml @@ -1,11 +1,9 @@  --- -# This file is included both in the openshift_master role and in the upgrade -# playbooks.  - name: Install Node service file    template:      dest: "/etc/systemd/system/{{ openshift.common.service_type }}-node.service" -    src: "node.service.j2" -  when: not openshift.common.is_containerized | bool +    src: "{{ openshift.common.is_containerized | bool | ternary('openshift.docker.node.service', 'node.service.j2') }}" +  when: not openshift.common.is_node_system_container | bool    notify:    - reload systemd units    - restart node diff --git a/roles/openshift_node/templates/node.yaml.v1.j2 b/roles/openshift_node/templates/node.yaml.v1.j2 index 7049f7189..08e1c7f4f 100644 --- a/roles/openshift_node/templates/node.yaml.v1.j2 +++ b/roles/openshift_node/templates/node.yaml.v1.j2 @@ -13,7 +13,7 @@ dockerConfig:  iptablesSyncPeriod: "{{ openshift.node.iptables_sync_period }}"  imageConfig:    format: {{ openshift.node.registry_url }} -  latest: false +  latest: {{ openshift_node_image_config_latest }}  kind: NodeConfig  kubeletArguments: {{ openshift.node.kubelet_args | default(None) | to_padded_yaml(level=1) }}  {% if openshift_use_crio | default(False) %} diff --git a/roles/openshift_storage_glusterfs/files/v3.7/deploy-heketi-template.yml b/roles/openshift_storage_glusterfs/files/v3.7/deploy-heketi-template.yml index 9ebb0d5ec..7b705c2d4 100644 --- a/roles/openshift_storage_glusterfs/files/v3.7/deploy-heketi-template.yml +++ b/roles/openshift_storage_glusterfs/files/v3.7/deploy-heketi-template.yml @@ -85,8 +85,6 @@ objects:            volumeMounts:            - name: db              mountPath: /var/lib/heketi -          - name: topology -            mountPath: ${TOPOLOGY_PATH}            - name: config              mountPath: /etc/heketi            readinessProbe: @@ -103,9 +101,6 @@ objects:                port: 8080          volumes:          - name: db -        - name: topology -          secret: -            secretName: heketi-${CLUSTER_NAME}-topology-secret          - name: config            secret:              secretName: heketi-${CLUSTER_NAME}-config-secret @@ -138,6 +133,3 @@ parameters:    displayName: GlusterFS cluster name    description: A unique name to identify this heketi service, useful for running multiple heketi instances    value: glusterfs -- name: TOPOLOGY_PATH -  displayName: heketi topology file location -  required: True diff --git a/roles/template_service_broker/defaults/main.yml b/roles/template_service_broker/defaults/main.yml index fb407c4a2..a92a138b0 100644 --- a/roles/template_service_broker/defaults/main.yml +++ b/roles/template_service_broker/defaults/main.yml @@ -2,3 +2,4 @@  # placeholder file?  template_service_broker_remove: False  template_service_broker_install: False +openshift_template_service_broker_namespaces: ['openshift'] diff --git a/roles/template_service_broker/tasks/install.yml b/roles/template_service_broker/tasks/install.yml index f5fd6487c..54008bbf1 100644 --- a/roles/template_service_broker/tasks/install.yml +++ b/roles/template_service_broker/tasks/install.yml @@ -28,10 +28,24 @@      - "{{ __tsb_template_file }}"      - "{{ __tsb_rbac_file }}"      - "{{ __tsb_broker_file }}" +    - "{{ __tsb_config_file }}" + +- yedit: +    src: "{{ mktemp.stdout }}/{{ __tsb_config_file }}" +    key: templateNamespaces +    value: "{{ openshift_template_service_broker_namespaces }}" +    value_type: list + +- slurp: +    src: "{{ mktemp.stdout }}/{{ __tsb_config_file }}" +  register: config  - name: Apply template file    shell: > -    oc process -f "{{ mktemp.stdout }}/{{ __tsb_template_file }}" --param API_SERVER_CONFIG="{{ lookup('file', __tsb_files_location ~ '/' ~ __tsb_config_file) }}" --param IMAGE="{{ template_service_broker_prefix }}{{ template_service_broker_image_name }}:{{ template_service_broker_version }}" | kubectl apply -f - +    oc process -f "{{ mktemp.stdout }}/{{ __tsb_template_file }}" +    --param API_SERVER_CONFIG="{{ config['content'] | b64decode }}" +    --param IMAGE="{{ template_service_broker_prefix }}{{ template_service_broker_image_name }}:{{ template_service_broker_version }}" +    | kubectl apply -f -  # reconcile with rbac  - name: Reconcile with RBAC file  | 
