From f5ccebb7917ec7b9da8b3eb0c26cb67fde115911 Mon Sep 17 00:00:00 2001 From: portdirect Date: Sat, 6 Jan 2018 19:49:48 -0500 Subject: [PATCH] Gate: Harden helm serve playbook This PS make the helm server more robust by moving the server to be managed via a systemd unit. Change-Id: I651bf3b2670812ea255c3692bd933bb6092397f9 --- .../tasks/setup-helm-serve.yaml | 21 +++++++++++++++++-- .../templates/helm-serve.service.j2 | 11 ++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 tools/gate/playbooks/build-helm-packages/templates/helm-serve.service.j2 diff --git a/tools/gate/playbooks/build-helm-packages/tasks/setup-helm-serve.yaml b/tools/gate/playbooks/build-helm-packages/tasks/setup-helm-serve.yaml index a22a851592..948b6f3ad9 100644 --- a/tools/gate/playbooks/build-helm-packages/tasks/setup-helm-serve.yaml +++ b/tools/gate/playbooks/build-helm-packages/tasks/setup-helm-serve.yaml @@ -41,11 +41,28 @@ executable: /bin/bash register: helm_server_running ignore_errors: True - - name: launching local helm server via shell + - name: getting current host user name when: helm_server_running | failed - shell: helm serve & + shell: id -un args: executable: /bin/bash + register: helm_server_user + - name: moving systemd unit into place for helm server + when: helm_server_running | failed + become: yes + become_user: root + template: + src: helm-serve.service.j2 + dest: /etc/systemd/system/helm-serve.service + mode: 0640 + - name: starting helm serve service + when: helm_server_running | failed + become: yes + become_user: root + systemd: + state: restarted + daemon_reload: yes + name: helm-serve - name: wait for helm server to be ready shell: curl -s 127.0.0.1:8879 | grep -q 'Helm Repository' args: diff --git a/tools/gate/playbooks/build-helm-packages/templates/helm-serve.service.j2 b/tools/gate/playbooks/build-helm-packages/templates/helm-serve.service.j2 new file mode 100644 index 0000000000..3cd1aad0f2 --- /dev/null +++ b/tools/gate/playbooks/build-helm-packages/templates/helm-serve.service.j2 @@ -0,0 +1,11 @@ +[Unit] +Description=Helm Server +After=network.target + +[Service] +User={{ helm_server_user.stdout }} +Restart=always +ExecStart=/usr/bin/helm serve + +[Install] +WantedBy=multi-user.target