generated from kubernetes/kubernetes-template-project
-
Notifications
You must be signed in to change notification settings - Fork 408
/
Copy pathvmware-redhat.yml
70 lines (59 loc) · 2.11 KB
/
vmware-redhat.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Copyright 2022 The Kubernetes Authors.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
- name: Install cloud-init packages
ansible.builtin.yum:
name: "{{ packages }}"
state: present
vars:
packages:
- cloud-init
- cloud-utils-growpart
- name: Get package facts
ansible.builtin.package_facts:
manager: "auto"
- name: Set cloud-init version
ansible.builtin.set_fact:
cloud_init_version: "{{ ansible_facts.packages['cloud-init'][0].version }}"
- name: Install python2 pip
ansible.builtin.yum:
name: "{{ packages }}"
state: present
vars:
packages:
- python2-pip
when: ansible_distribution_major_version|int <= 8
# pip on CentOS needs to be upgraded, but since it's still
# Python 2.7, need < 21.0
- name: Upgrade pip
ansible.builtin.pip:
name: pip<21.0
state: forcereinstall
when: ansible_distribution_major_version == '7'
# Directly installing Guestinfo datasource is needed so long as
# cloud-init is < 21.3
- name: Directly install Guestinfo
when: cloud_init_version is version('21.3', '<')
block:
- name: Download cloud-init datasource for VMware Guestinfo
ansible.builtin.get_url:
url: "{{ guestinfo_datasource_script }}"
dest: /tmp/cloud-init-vmware.sh
mode: "0700"
- name: Execute cloud-init-vmware.sh
ansible.builtin.shell: bash -o errexit -o pipefail /tmp/cloud-init-vmware.sh
environment:
REPO_SLUG: "{{ guestinfo_datasource_slug }}"
GIT_REF: "{{ guestinfo_datasource_ref }}"
- name: Remove cloud-init-vmware.sh
ansible.builtin.file:
path: /tmp/cloud-init-vmware.sh
state: absent