Bläddra i källkod

Rework base roles, add openshift_node40 role

Vadim Rutkovsky 6 år sedan
förälder
incheckning
5a15a1f390

+ 0 - 2
roles/container_runtime/tasks/docker_storage_setup_overlay.yml

@@ -6,5 +6,3 @@
     owner: root
     group: root
     mode: 0664
-  when:
-  - container_runtime_docker_storage_type == 'overlay2'

+ 5 - 3
roles/lib_utils/action_plugins/parse_ignition.py

@@ -10,7 +10,8 @@ from six.moves import urllib
 
 def get_files(files_dict, systemd_dict, dir_list, data):
     """parse data to populate file_dict"""
-    for item in data['storage']['files']:
+    files = data.get('storage', []).get('files', [])
+    for item in files:
         path = item["path"]
         dir_list.add(os.path.dirname(path))
         # remove prefix "data:,"
@@ -25,8 +26,9 @@ def get_files(files_dict, systemd_dict, dir_list, data):
         inode = {"contents": contents, "mode": mode}
         files_dict[path] = inode
     # get the systemd units files we're here
-    for item in data['systemd']['units']:
-        contents = item['contents']
+    systemd_units = data.get('systemd', []).get('units', [])
+    for item in systemd_units:
+        contents = item['contents'].decode('unicode-escape')
         mode = "0644"
         inode = {"contents": contents, "mode": mode}
         name = item['name']

+ 1 - 1
roles/openshift_facts/defaults/main.yml

@@ -157,7 +157,7 @@ openshift_service_type_dict:
   openshift-enterprise: atomic-openshift
 
 openshift_service_type: "{{ openshift_service_type_dict[openshift_deployment_type] }}"
-openshift_master_api_port: "8443"
+openshift_master_api_port: "6443"
 openshift_ca_host: "{{ groups.oo_first_master.0 }}"
 openshift_use_openshift_sdn: true
 os_sdn_network_plugin_name: "redhat/openshift-ovs-subnet"

+ 9 - 12
roles/openshift_gcp/defaults/main.yml

@@ -31,21 +31,21 @@ openshift_gcp_registry_bucket_name: "{{ openshift_gcp_prefix }}-docker-registry"
 openshift_gcp_master_dns_ttl: 300
 
 openshift_gcp_node_group_config:
-  - name: master
-    suffix: m
-    tags: ocp-master
+  - name: bootstrap
+    suffix: b
+    tags: ocp-bootstrap ocp-node
     machine_type: n1-standard-2
     boot_disk_size: 150
     scale: 1
-  - name: infra
-    suffix: i
-    tags: ocp-infra-node ocp-node
+  - name: master
+    suffix: m
+    tags: ocp-master ocp-node
     machine_type: n1-standard-2
     boot_disk_size: 150
     scale: 1
-  - name: node
+  - name: worker
     suffix: n
-    tags: ocp-node
+    tags: ocp-worker ocp-node
     machine_type: n1-standard-2
     boot_disk_size: 150
     scale: 3
@@ -61,7 +61,4 @@ openshift_gcp_user_data_file: ''
 
 openshift_gcp_multizone: False
 
-openshift_gcp_node_group_mapping:
-  masters: 'node-config-master'
-  infra: 'node-config-infra'
-  compute: 'node-config-compute'
+provision_custom_repositories: []

+ 18 - 0
roles/openshift_node40/tasks/aws.yml

@@ -0,0 +1,18 @@
+- name: Configure AWS Cloud Provider Settings
+  lineinfile:
+    dest: /etc/kubernetes/kubelet-env
+    regexp: "{{ item.regex }}"
+    line: "{{ item.line }}"
+    create: true
+  with_items:
+    - regex: '^AWS_ACCESS_KEY_ID='
+      line: "AWS_ACCESS_KEY_ID={{ openshift_cloudprovider_aws_access_key | default('') }}"
+    - regex: '^AWS_SECRET_ACCESS_KEY='
+      line: "AWS_SECRET_ACCESS_KEY={{ openshift_cloudprovider_aws_secret_key | default('') }}"
+  register: sys_env_update
+  no_log: True
+  when:
+    - openshift_cloudprovider_kind is defined
+    - openshift_cloudprovider_kind == 'aws'
+    - openshift_cloudprovider_aws_access_key is defined
+    - openshift_cloudprovider_aws_secret_key is defined

+ 11 - 3
roles/openshift_node40/tasks/config.yml

@@ -1,16 +1,24 @@
 ---
-
 - name: get worker ignition file
   command: >
     curl -k {{ openshift_bootstrap_endpoint }}
   register: l_worker_bootstrap
+  when: openshift_bootstrap_endpoint is defined
+
+- set_fact:
+    ign_contents: "{{ l_worker_bootstrap.stdout }}"
+  when: openshift_bootstrap_endpoint is defined
+
+- set_fact:
+    ign_contents: "{{ lookup('file', ignition_file) }}"
+  when: ignition_file is defined
 
 - debug:
-    var: l_worker_bootstrap.stdout
+    var: ign_contents
 
 - name: parse ignition file
   parse_ignition:
-    ign_file_contents: "{{ l_worker_bootstrap.stdout }}"
+    ign_file_contents: "{{ ign_contents }}"
   register: l_parse_ignition_res
 
 - import_tasks: create_files_from_ignition.yml

+ 3 - 1
roles/openshift_node40/tasks/create_files_from_ignition.yml

@@ -1,6 +1,8 @@
 ---
 - name: Create all the directories we will need
-  command: "mkdir -p {{ item }}"
+  file:
+    path: "{{ item }}"
+    state: directory
   with_items: "{{ l_parse_ignition_dict.dir_list }}"
 
 - name: create files from ignition contents

+ 3 - 1
roles/openshift_node40/tasks/systemd.yml

@@ -1,7 +1,8 @@
 ---
 
 - name: daemon reload
-  command: "systemctl daemon-reload"
+  systemd:
+    daemon_reload: yes
 
 # dictionary of kv pairs, servicename: enabled, eg:
 # {'kubernetes': "true"}
@@ -11,3 +12,4 @@
     state: "{{ 'restarted' if (item.value | bool) else 'stopped' }}"
     enabled: "{{ item.value | bool }}"
   with_dict: "{{ l_parse_ignition_res.systemd_dict }}"
+  when: item.key not in excluded_services | default([])