From f745e4b6e76f2b6aa5edf22e33a3f2d26e3c27c9 Mon Sep 17 00:00:00 2001 From: Drew Walters Date: Mon, 14 Jan 2019 11:52:10 -0600 Subject: [PATCH] CI: Fix integration job Deckhand's integration job relies on OpenStack-Helm-Infra to deploy Kubernetes using Kubeadm. Since [0] was merged, Calico requires AppArmor to be deployed. This commit adds the same role to deploy AppArmor that exists in OpenStack-Helm-Infra to prevent inadvertent gate failures. [0] https://review.openstack.org/614805/ This also includes gate fix in https://review.openstack.org/#/c/627906/ because of a circular dependency; that change in question fixes failing CI jobs for all non-integration jobs. Change-Id: Ie3fb04ea0fbe0487ae743033315e2a4211248d32 --- requirements.txt | 1 - .../playbooks/osh-infra-upgrade-host.yaml | 12 +++++++ .../roles/deploy-apparmor/tasks/main.yaml | 36 +++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 tools/gate/roles/deploy-apparmor/tasks/main.yaml diff --git a/requirements.txt b/requirements.txt index 6f4285ee..fcf8f55a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -38,7 +38,6 @@ python-barbicanclient==4.7.0 python-keystoneclient==3.18.0 python-memcached==1.59 -requests==2.20.0 Routes==2.4.1 six==1.11.0 stevedore==1.30.0 diff --git a/tools/gate/playbooks/osh-infra-upgrade-host.yaml b/tools/gate/playbooks/osh-infra-upgrade-host.yaml index 495b5cb9..3a2b79bb 100644 --- a/tools/gate/playbooks/osh-infra-upgrade-host.yaml +++ b/tools/gate/playbooks/osh-infra-upgrade-host.yaml @@ -39,3 +39,15 @@ - upgrade-host - start-zuul-console - disable-local-nameserver + +- hosts: all + vars_files: + - vars.yaml + vars: + work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" + gather_facts: False + become: yes + roles: + - deploy-apparmor + tags: + - deploy-apparmor diff --git a/tools/gate/roles/deploy-apparmor/tasks/main.yaml b/tools/gate/roles/deploy-apparmor/tasks/main.yaml new file mode 100644 index 00000000..ff4e6d32 --- /dev/null +++ b/tools/gate/roles/deploy-apparmor/tasks/main.yaml @@ -0,0 +1,36 @@ +# Copyright 2018 The Openstack-Helm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +- block: + - name: Ensuring AppArmor is deployed on host + when: ansible_distribution == 'Ubuntu' + include_role: + name: deploy-package + tasks_from: dist + vars: + packages: + deb: + - apparmor + + - name: Enable AppArmor + when: ansible_distribution == 'Ubuntu' + become: true + shell: |- + set -xe + systemctl enable apparmor + systemctl start apparmor + systemctl status apparmor.service + args: + executable: /bin/bash + ignore_errors: True