You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2020/01/09 23:48:18 UTC

[couchdb-infra-cm] 01/02: Only run docker tasks on x86_64 hosts

This is an automated email from the ASF dual-hosted git repository.

davisp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-infra-cm.git

commit 109bf5c0a8adb8294ab35a16bd065a9acf7a46b4
Author: Paul J. Davis <pa...@gmail.com>
AuthorDate: Thu Jan 9 17:16:30 2020 -0600

    Only run docker tasks on x86_64 hosts
---
 roles/ci_agent/tasks/{main.yml => docker.yml} | 67 +++------------------------
 roles/ci_agent/tasks/main.yml                 | 56 +++-------------------
 2 files changed, 13 insertions(+), 110 deletions(-)

diff --git a/roles/ci_agent/tasks/main.yml b/roles/ci_agent/tasks/docker.yml
similarity index 50%
copy from roles/ci_agent/tasks/main.yml
copy to roles/ci_agent/tasks/docker.yml
index 48064f2..a63f71f 100644
--- a/roles/ci_agent/tasks/main.yml
+++ b/roles/ci_agent/tasks/docker.yml
@@ -1,12 +1,3 @@
-- name: Configure TCP Keep-Alive
-  copy:
-    src: 50-ci-agent.sysctl.conf
-    dest: /etc/sysctl.d/50-ci-agent.conf
-    mode: 0644
-
-- name: Load TCP Keep-Alive configuration
-  script: /sbin/sysctl --load /etc/sysctl.d/50-ci-agent.conf
-
 - name: Install Docker gpg key for Apt
   apt_key:
     url: https://download.docker.com/linux/debian/gpg
@@ -37,29 +28,6 @@
       - qemu
       - qemu-user-static
 
-- name: Install Java 8
-  apt:
-    name: "{{ packages }}"
-    state: latest
-  vars:
-    packages:
-      - openjdk-8-jre-headless
-
-- name: Add group jenkins
-  group:
-    name: jenkins
-    gid: 910
-
-- name: Add user jenkins
-  user:
-    name: jenkins
-    uid: 910
-    groups:
-      - jenkins
-      - docker
-    state: present
-    shell: /bin/bash
-
 - name: Install kill-old-docker.sh
   copy:
     src: kill-old-docker.sh
@@ -78,32 +46,9 @@
     hour: '19'
     job: /usr/bin/docker system prune -a -f --filter "until=72h"
 
-- name: Create Jenkins runit service directory
-  file:
-    path: /etc/sv/jenkins
-    state: directory
-
-- name: Create Jenkins runit log directory
-  file:
-    path: /etc/sv/jenkins/log/main
-    state: directory
-
-- name : Create Jenkins runit run script
-  template:
-    src: runit-main.j2
-    dest: /etc/sv/jenkins/run
-    mode: 0755
-
-- name: Create Jenkins runit logs run script
-  copy:
-    src: runit-logs
-    dest: /etc/sv/jenkins/log/run
-    mode: 0755
-
-- name: Enable Jenkins runit service
-  file:
-    src: /etc/sv/jenkins
-    dest: /etc/service/jenkins
-    state: link
-
-
+- name: Add Jenkins user to docker group
+  user:
+    name: jenkins
+    groups:
+      - docker
+    append: yes
\ No newline at end of file
diff --git a/roles/ci_agent/tasks/main.yml b/roles/ci_agent/tasks/main.yml
index 48064f2..2f97ab8 100644
--- a/roles/ci_agent/tasks/main.yml
+++ b/roles/ci_agent/tasks/main.yml
@@ -3,39 +3,11 @@
     src: 50-ci-agent.sysctl.conf
     dest: /etc/sysctl.d/50-ci-agent.conf
     mode: 0644
+  register: ciagentsysctl
 
 - name: Load TCP Keep-Alive configuration
-  script: /sbin/sysctl --load /etc/sysctl.d/50-ci-agent.conf
-
-- name: Install Docker gpg key for Apt
-  apt_key:
-    url: https://download.docker.com/linux/debian/gpg
-    state: present
-
-- name: Setup Docker Apt repository
-  apt_repository:
-    repo: deb https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable
-    filename: docker
-    state: present
-
-- name: Install Docker Packages
-  apt:
-    name: "{{ packages }}"
-  vars:
-    packages:
-      - containerd.io
-      - docker-ce
-      - docker-ce-cli
-
-- name: Install multi-architecture support for Docker
-  apt:
-    name: "{{ packages }}"
-    state: latest
-  vars:
-    packages:
-      - binfmt-support
-      - qemu
-      - qemu-user-static
+  shell: /sbin/sysctl --load /etc/sysctl.d/50-ci-agent.conf
+  when: ciagentsysctl.changed
 
 - name: Install Java 8
   apt:
@@ -56,27 +28,13 @@
     uid: 910
     groups:
       - jenkins
-      - docker
     state: present
     shell: /bin/bash
 
-- name: Install kill-old-docker.sh
-  copy:
-    src: kill-old-docker.sh
-    dest: /usr/local/bin/kill-old-docker.sh
-    mode: 0755
-
-- name: Add kill-old-docker.sh cron entry
-  cron:
-    name: Kill old docker containers
-    hour: '19'
-    job: /usr/local/bin/kill-old-docker.sh
-
-- name: Add docker prune cron entry
-  cron:
-    name: Docker prune
-    hour: '19'
-    job: /usr/bin/docker system prune -a -f --filter "until=72h"
+- name: Setup Docker on x86_64 hosts
+  include_tasks: docker.yml
+  when:
+    - ansible_facts['architecture'] == 'x86_64'
 
 - name: Create Jenkins runit service directory
   file: