openstack-ansible-ops/skydive/tests/run-cleanup.sh
Kevin Carter b23ec9f8d9 Initial commit to add skydive
This commit adds playbooks and roles to the ops tooling setup to
build, deploy, and operate environments with skydive within in
it.

Skydive is a network analyzer which will allow users to explore
their topology in real-time using a defined storage back-end for
captures, alerts, and more.

The initial implementation of skydive deploys agents throughout
the environment and wires them all back to a cluster of analyzers
which leverage elasticsearch for its persistent storage back-end.
Storage back-ends are load balanced from the within the analyzer
nodes using the traefik light-weight reverse proxy. This setup
gives skydive a fully fault tolerant deployment.

Tests have been added to ensure the binary installation process
is validated. While these jobs are non-voting today, they'll be
iterated on and made passing in the subsequent PRs. All jobs are
following the selective pattern which allows these tools to be
gated in the mono-repo without impacting all other tools within
the environment.

Change-Id: Iaa1152566f2b615d67a33dc94ebdbebb1b492a9d
Signed-off-by: Kevin Carter <kevin@cloudnull.com>
2019-01-14 03:03:08 -06:00

57 lines
1.7 KiB
Bash

#!/usr/bin/env bash
# Copyright 2018, Rackspace US, Inc.
#
# 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.
set -e
export TEST_DIR="$(readlink -f $(dirname ${0})/../../)"
# Stop beat processes
pushd "${TEST_DIR}/skydive"
for i in $(ls -1 install*beat.yml); do
LOWER_BEAT="$(echo "${i}" | tr '[:upper:]' '[:lower:]')"
BEAT_PARTIAL="$(echo ${LOWER_BEAT} | awk -F'.' '{print $1}')"
BEAT="$(echo ${BEAT_PARTIAL} | awk -F'install' '{print $2}')"
echo "Stopping ${BEAT}"
(systemctl stop "${BEAT}" || true) &
apt remove --purge -y "${BEAT}" || true
if [[ -d "/etc/${BEAT}" ]]; then
rm -rf "/etc/${BEAT}"
fi
if [[ -d "/var/lib/${BEAT}" ]]; then
rm -rf "/var/lib/${BEAT}"
fi
if [[ -d "/etc/systemd/system/${BEAT}.service.d" ]]; then
rm -rf "/etc/systemd/system/${BEAT}.service.d"
fi
done
popd
for i in $(grep -lri elastic /etc/apt/sources.list.d/); do
rm "${i}"
done
# Stop and remove containers
for i in {1..3}; do
if machinectl list-images | grep -v ubuntu | awk '/sub/ {print $1}' | xargs -n 1 machinectl kill; then
sleep 1
fi
done
for i in {1..3}; do
if machinectl list-images | grep -v ubuntu | awk '/sub/ {print $1}' | xargs -n 1 machinectl remove; then
sleep 1
fi
done