bootstrap: rework role (#4045)

* bootstrap: rework role

* support being called from a non-root user
* run some commands in check mode
* unify spelling/task names

* bootstrap: fix wording of comments for check_mode: false

* bootstrap: remove setup-pipelining task
This commit is contained in:
MarkusTeufelberger
2019-02-11 23:04:27 +01:00
committed by Kubernetes Prow Robot
parent 038a2eb862
commit e2ad6aad5a
9 changed files with 94 additions and 64 deletions

View File

@@ -1,6 +1,4 @@
---
# raw: cat /etc/issue.net | grep '{{ bootstrap_versions }}'
- name: List ubuntu_packages
set_fact:
ubuntu_packages:
@@ -9,36 +7,61 @@
- python-pip
- dbus
- name: Bootstrap | Check if bootstrap is needed
raw: dpkg -l | cut -d' ' -f3 |grep -e ^{{item}}$
- name: Check if bootstrap is needed
raw: dpkg -l | cut -d' ' -f3 | grep -e ^{{ item }}$
register: need_bootstrap
failed_when: false
changed_when: false
with_items: "{{ubuntu_packages}}"
# This command should always run, even in check mode
check_mode: false
with_items: "{{ ubuntu_packages }}"
environment: {}
tags:
- facts
- name: Add proxy to /etc/apt/apt.conf if http_proxy is defined
lineinfile:
path: "/etc/apt/apt.conf"
line: 'Acquire::http::proxy "{{http_proxy}}";'
create: yes
state: present
when: http_proxy is defined
- name: Check http::proxy in /etc/apt/apt.conf
raw: grep -qsi 'Acquire::http::proxy' /etc/apt/apt.conf
register: need_http_proxy
failed_when: false
changed_when: false
# This command should always run, even in check mode
check_mode: false
environment: {}
when:
- http_proxy is defined
- name: Add proxy to /etc/apt/apt.conf if https_proxy is defined
lineinfile:
path: "/etc/apt/apt.conf"
line: 'Acquire::https::proxy "{{https_proxy}}";'
create: yes
state: present
when: https_proxy is defined
- name: Add http_proxy to /etc/apt/apt.conf if http_proxy is defined
raw: echo 'Acquire::http::proxy "{{ http_proxy }}";' >> /etc/apt/apt.conf
become: true
environment: {}
when:
- http_proxy is defined
- need_http_proxy.rc != 0
- name: Bootstrap | Install python 2.x and pip
- name: Check https::proxy in /etc/apt/apt.conf
raw: grep -qsi 'Acquire::https::proxy' /etc/apt/apt.conf
register: need_https_proxy
failed_when: false
changed_when: false
# This command should always run, even in check mode
check_mode: false
environment: {}
when:
- https_proxy is defined
- name: Add https_proxy to /etc/apt/apt.conf if https_proxy is defined
raw: echo 'Acquire::https::proxy "{{ https_proxy }}";' >> /etc/apt/apt.conf
become: true
environment: {}
when:
- https_proxy is defined
- need_https_proxy.rc != 0
- name: Install python and pip
raw:
apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y {{ubuntu_packages | join(" ")}}
DEBIAN_FRONTEND=noninteractive apt-get install -y {{ ubuntu_packages | join(" ") }}
become: true
environment: {}
when:
- need_bootstrap.results | map(attribute='rc') | sort | last | bool