Use zuul's install-docker role
This allows us to remove the sudo from the tox molecule environment, since the install-docker role correctly adds the zuul user to the docker group. Change-Id: Ib7abd22c0caf793a8a59d38a4f63df7e60a7b69e
This commit is contained in:
parent
ac79d0d09a
commit
74cdf09d1a
@ -1,4 +1,4 @@
|
||||
---
|
||||
- hosts: all
|
||||
roles:
|
||||
- role: docker-engine
|
||||
- role: install-docker
|
||||
|
@ -1,79 +0,0 @@
|
||||
---
|
||||
# Docker community edition installation procedure for Ubuntu taken from
|
||||
# https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1.
|
||||
|
||||
# TODO: Configure docker to use the registry mirror provided by OpenStack
|
||||
# infra. Kolla-ansible has code referencing
|
||||
# http://{{ zuul_site_mirror_fqdn }}:8081/registry-1.docker/, but this did not
|
||||
# seem to work.
|
||||
|
||||
- name: Fail if OS family is not supported
|
||||
fail:
|
||||
msg: "OS family {{ ansible_os_family }} is not supported"
|
||||
when: ansible_os_family not in ["Debian"]
|
||||
|
||||
- name: Update apt package cache
|
||||
apt:
|
||||
update_cache: true
|
||||
become: true
|
||||
|
||||
- name: Ensure dependencies are installed
|
||||
apt:
|
||||
name: "{{ item }}"
|
||||
state: installed
|
||||
with_items:
|
||||
- apt-transport-https
|
||||
- ca-certificates
|
||||
- curl
|
||||
- software-properties-common
|
||||
become: true
|
||||
|
||||
- name: Ensure docker apt gpg key is installed
|
||||
apt_key:
|
||||
url: "https://download.docker.com/linux/ubuntu/gpg"
|
||||
id: "0EBFCD88"
|
||||
state: present
|
||||
become: true
|
||||
|
||||
- name: Ensure docker CE stable repository is present
|
||||
apt_repository:
|
||||
repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_lsb.codename }} stable"
|
||||
state: present
|
||||
become: true
|
||||
|
||||
- name: Update apt package cache
|
||||
apt:
|
||||
update_cache: true
|
||||
become: true
|
||||
|
||||
- name: Ensure docker-ce is installed
|
||||
apt:
|
||||
name: docker-ce
|
||||
state: installed
|
||||
become: true
|
||||
|
||||
- name: Ensure docker group exists
|
||||
group:
|
||||
name: docker
|
||||
become: true
|
||||
|
||||
- name: Add user to docker group
|
||||
user:
|
||||
name: "{{ ansible_user_id }}"
|
||||
append: yes
|
||||
groups: docker
|
||||
register: group_result
|
||||
become: true
|
||||
|
||||
# NOTE(mgoddard): We need to reset the SSH connection to pick up the new group
|
||||
# membership. For Ansible 2.3+, ideally we'd use a meta task with the
|
||||
# reset_connection option but due to
|
||||
# https://github.com/ansible/ansible/issues/27520 this does not work (checked
|
||||
# in Ansible 2.3.2.0). Various methods have been attempted, but none have been
|
||||
# found to work. Instead, we use sudo when executing tox.
|
||||
# Attempted solutions:
|
||||
# * reset_connection - see above.
|
||||
# * kill local ssh/remove control socket - Zuul blocks running local commands.
|
||||
# * kill remote sshd - causes the task to fail, error cannot be ignored.
|
||||
# * pause for SSH connection timeout - fails due to
|
||||
# https://github.com/ansible/ansible/issues/31694.
|
7
tox.ini
7
tox.ini
@ -60,17 +60,12 @@ commands =
|
||||
basepython = python2
|
||||
whitelist_externals =
|
||||
bash
|
||||
sudo
|
||||
commands =
|
||||
# Install ansible role dependencies from Galaxy.
|
||||
ansible-galaxy install \
|
||||
-r {toxinidir}/requirements.yml \
|
||||
-p {toxinidir}/ansible/roles
|
||||
# NOTE(mgoddard): We are executing the molecule command using sudo. This is
|
||||
# to work around the inability to reset the SSH connection in order to pick
|
||||
# up the Linux group membership change for the docker group. See the
|
||||
# docker-engine role for further details.
|
||||
sudo bash -c "source {envdir}/bin/activate && {toxinidir}/tools/test-molecule.sh {posargs}"
|
||||
bash -c "source {envdir}/bin/activate && {toxinidir}/tools/test-molecule.sh {posargs}"
|
||||
|
||||
[testenv:alint]
|
||||
basepython = python3
|
||||
|
Loading…
Reference in New Issue
Block a user