diff options
author | Benjamin Copeland <ben.copeland@linaro.org> | 2018-04-30 09:21:22 +0100 |
---|---|---|
committer | Benjamin Copeland <ben.copeland@linaro.org> | 2018-05-08 13:29:30 +0000 |
commit | a61d9a25484ef9f8af91ef5ab52743b181554fb4 (patch) | |
tree | 0072b6b6e71d6c6a246aab0fed45eba9578c6ccc | |
parent | 8bbb4430c84dee4e513d26f4dc4bfb1fddf9e5d7 (diff) |
jenkins_slaves: Update NFS and fix some docker bugs
The NFS directory was wrong, it meant it was mounted as
/home/buildslave/srv/oe/oe. That being said we weren't sure if bitbake
would follow the symlinks. Lets just mount it directly into the home
location.
Docker, we need to define the arch type otherwise APT will break with
errors. Also, we should only add the xenial repo for xeinal servers.
There is a trusty repo, but these servers need to be upgraded anyway, so
lets ignore them for now to not add to headache.
If we have to modify any docker settings, these should be done at the
top.
Change-Id: Ib03efd83ff620b0fcdb911736d3e9d8f53d16734
Reviewed-on: https://review.linaro.org/25046
Reviewed-by: Kelley Spoon <kelley.spoon@linaro.org>
Reviewed-by: Benjamin Copeland <ben.copeland@linaro.org>
-rw-r--r-- | group_vars/jenkins_slaves | 4 | ||||
-rw-r--r-- | roles/jenkins-slave-deps/tasks/main.yml | 72 | ||||
-rw-r--r-- | roles/jenkins-slave-deps/templates/docker_daemon.json.j2 | 1 |
3 files changed, 42 insertions, 35 deletions
diff --git a/group_vars/jenkins_slaves b/group_vars/jenkins_slaves index f66f60a9..d6645903 100644 --- a/group_vars/jenkins_slaves +++ b/group_vars/jenkins_slaves @@ -15,7 +15,7 @@ docker_engine_opts: - "--storage-driver=overlay2" nfs_client_mount: - - path: /var/data/nfs - src: 88.99.136.175:/var/data/nfs + - path: /home/buildslave/srv/oe + src: 88.99.136.175:/var/data/nfs/oe opts: rw,noatime,vers=4.2,hard,intr state: mounted diff --git a/roles/jenkins-slave-deps/tasks/main.yml b/roles/jenkins-slave-deps/tasks/main.yml index 14268b10..fe67d6d3 100644 --- a/roles/jenkins-slave-deps/tasks/main.yml +++ b/roles/jenkins-slave-deps/tasks/main.yml @@ -1,5 +1,35 @@ --- +- name: Create directory for docker service supplementary config + file: + path: /etc/systemd/system/docker.service.d + owner: root + group: root + mode: 0755 + state: directory + +- name: Create docker service supplementary config file + template: + src: docker.service.conf.j2 + dest: /etc/systemd/system/docker.service.d/docker.conf + owner: root + group: root + mode: 0644 + notify: + - reload-systemd + - restart-docker + +- name: Ensure docker template exists + template: + src: docker_daemon.json.j2 + dest: /etc/docker/deamon.json + owner: root + group: root + mode: 0644 + notify: + - restart-docker + - reload-systemd + - name: Install apt package for docker repo apt: pkg=apt-transport-https @@ -9,40 +39,26 @@ keyserver: "hkp://p80.pool.sks-keyservers.net" # https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa -- name: Add repos +- name: Add repos (xenial) apt_repository: repo: "{{item}}" with_items: - - 'deb https://download.docker.com/linux/ubuntu xenial stable' + - 'deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable' - 'ppa:canonical-kernel-team/ppa' + when: ansible_distribution_release == 'xenial' and ansible_machine == 'x86_64' + +- name: Install custom kernel for overlay2 support + apt: pkg=linux-image-4.13.0-38-generic update_cache=yes + when: ansible_distribution_release == 'xenial' and ansible_machine == 'x86_64' - name: Install Jenkins slave deps apt: pkg={{item}} update_cache=yes with_items: - docker-ce - ufw - - linux-image-4.13.0-38-generic - openjdk-8-jdk-headless - openjdk-8-jre-headless - -- name: Create directory for docker service supplementary config - file: - path: /etc/systemd/system/docker.service.d - owner: root - group: root - mode: 0755 - state: directory - -- name: Create docker service supplementary config file - template: - src: docker.service.conf.j2 - dest: /etc/systemd/system/docker.service.d/docker.conf - owner: root - group: root - mode: 0644 - notify: - - reload-systemd - - restart-docker + when: ansible_distribution_release == 'xenial' - name: Reset ufw to defaults ufw: state=reset @@ -98,17 +114,7 @@ - name: Ensure Buildslave srv directory exists file: - path: /home/buildslave/srv + path: /home/buildslave/srv/oe owner: 1000 group: 1000 state: directory - -- name: Create symlink for the OE NFS dir - file: - src: "{{item.path}}/oe" - dest: /home/buildslave/srv/oe - owner: 1000 - group: 1000 - state: link - force: yes - with_items: "{{nfs_client_mount}}" diff --git a/roles/jenkins-slave-deps/templates/docker_daemon.json.j2 b/roles/jenkins-slave-deps/templates/docker_daemon.json.j2 new file mode 100644 index 00000000..e57e219f --- /dev/null +++ b/roles/jenkins-slave-deps/templates/docker_daemon.json.j2 @@ -0,0 +1 @@ +{ "storage-driver": "overlay2" } |