123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- ---
- - hosts: localhost
- gather_facts: no
- tasks:
- - name: calculate input image
- command: az image list -g "{{ openshift_azure_input_image_ns }}" --query "[?starts_with(name, '{{ openshift_azure_input_image_prefix }}-') && tags.valid=='true'] | sort_by(@, &name) | [-1]"
- register: input_image
- - name: provision resource group
- import_tasks: tasks/provision_instance.yml
- vars:
- create_args: --data-disk-sizes-gb 128
- - hosts: nodes
- tasks:
- - set_fact:
- openshift_deployment_type: "{{ 'openshift-enterprise' if ansible_distribution == 'RedHat' else 'origin' }}"
- openshift_enable_origin_repo: False
- skip_node_svc_handlers: True
- openshift_additional_repos: "{{ azure_node_repos[ansible_distribution] }}"
- openshift_node_include_control_plane: True
- openshift_control_plane_static_pod_location: /etc/origin/node/disabled/
- openshift_node_group_cloud_provider: azure
- openshift_node_image_prep_packages:
- - strace
- - tcpdump
- etcd_ip: ETCD_IP_REPLACE
- - name: add insights-client to package installs when on rhel
- set_fact:
- openshift_node_image_prep_packages: "{{ openshift_node_image_prep_packages | union(['insights-client']) }}"
- when: openshift_deployment_type == 'openshift-enterprise'
- - set_fact:
- openshift_additional_repos: "{{ openshift_additional_repos + [{'name': 'install_repo', 'baseurl': openshift_azure_install_repo, 'enabled': true, 'gpgcheck': false}] }}"
- when: openshift_azure_install_repo is defined and openshift_azure_install_repo
- - name: install centos-release-paas-common rpm
- yum:
- name: centos-release-paas-common
- state: present
- when: ansible_distribution == "CentOS"
- - name: configure yum repositories
- import_tasks: tasks/yum_certs.yml
- - name: update rpms
- import_role:
- name: os_update_latest
- vars:
- os_update_latest_reboot: True
- - name: install openshift
- import_playbook: ../../openshift-node/private/image_prep.yml
- vars:
- etcd_image: "{{ etcd_image_dict[openshift_deployment_type] }}"
- - hosts: nodes
- tasks:
- - name: deconfigure yum repositories
- import_tasks: tasks/remove_yum.yml
- - name: add get-node-logs script
- copy:
- src: files/get-node-logs
- dest: /usr/local/bin/get-node-logs
- owner: root
- group: root
- mode: 0755
- - name: record installed rpms
- yum:
- list: installed
- register: yum
- - name: disable waagent data disk management
- lineinfile:
- path: /etc/waagent.conf
- regexp: "{{ item.regexp }}"
- line: "{{ item.line }}"
- with_items:
- - { regexp: '^ResourceDisk\.Format=', line: 'ResourceDisk.Format=n' }
- - name: persist oreg_url
- copy:
- dest: "/etc/origin/oreg_url"
- content: "{{ oreg_url }}"
- when: oreg_url is defined
- - name: create a file with image name
- copy:
- content: |
- ---
- image_name: {{ openshift_azure_output_image_name }}
- base_image: {{ (hostvars['localhost'].input_image.stdout | from_json).name }}
- subscription: {{ lookup('env', 'AZURE_SUBSCRIPTION_ID') }}
- resource_group: {{ openshift_azure_output_image_ns }}
- dest: /etc/origin/image.yml
- owner: root
- group: root
- mode: '0440'
- - name: run waagent deprovision
- shell: sleep 2 && waagent -deprovision+user -force
- async: 1
- poll: 0
- - hosts: localhost
- gather_facts: no
- tasks:
- - set_fact:
- openshift_rpm: "{{ hostvars[groups['nodes'][0]]['yum'].results | selectattr('name', 'match', '^(origin-hyperkube|atomic-openshift-hyperkube)$') | first }}"
- - name: create image
- import_tasks: tasks/create_image_from_vm.yml
- vars:
- image_resource_group: "{{ openshift_azure_output_image_ns }}"
- image_name: "{{ openshift_azure_output_image_name }}"
- image_tags:
- base_image: "{{ (input_image.stdout | from_json).name }}"
- kernel: "{{ hostvars[groups['nodes'][0]]['ansible_kernel'] }}"
- openshift: "{{ openshift_rpm.version }}-{{ openshift_rpm.release }}.{{ openshift_rpm.arch }}"
- - name: create blob
- import_tasks: tasks/create_blob_from_vm.yml
- vars:
- image_name: "{{ openshift_azure_output_image_name }}"
- when: openshift_azure_storage_account is defined and openshift_azure_storage_account
|