e2ad6aad5a
* 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
72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
---
|
|
- name: List ubuntu_packages
|
|
set_fact:
|
|
ubuntu_packages:
|
|
- python
|
|
- python-apt
|
|
- python-pip
|
|
- dbus
|
|
|
|
- name: Check if bootstrap is needed
|
|
raw: dpkg -l | cut -d' ' -f3 | grep -e ^{{ item }}$
|
|
register: need_bootstrap
|
|
failed_when: false
|
|
changed_when: false
|
|
# This command should always run, even in check mode
|
|
check_mode: false
|
|
with_items: "{{ ubuntu_packages }}"
|
|
environment: {}
|
|
tags:
|
|
- facts
|
|
|
|
- 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 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: 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(" ") }}
|
|
become: true
|
|
environment: {}
|
|
when:
|
|
- need_bootstrap.results | map(attribute='rc') | sort | last | bool
|
|
|
|
- set_fact:
|
|
ansible_python_interpreter: "/usr/bin/python"
|
|
tags:
|
|
- facts
|