openstack-ansible-ops/skydive/installSkydive.yml
Kevin Carter 6b92dba1d5
Update skydive to use TLS
This change implements TLS configurations for skydive. All servers will
get their own certificates signed by the CA as setup on the
`skydive_service_setup_host` node.

> Documentation for TLS configuration can be found here: http://skydive.network/documentation/

Change-Id: I890b4a5d9076b0474ffe5649f9361cb6018c19fe
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2019-01-21 12:43:02 -06:00

145 lines
4.7 KiB
YAML

---
# Copyright 2019, 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.
- name: Deploy skydive binaries
hosts: skydive_agents:skydive_analyzers
become: yes
vars:
skydive_binary_version: "v0.21.0"
skydive_binary_url: "https://github.com/skydive-project/skydive/releases/download/{{ skydive_binary_version }}/skydive"
skydive_staging_node: "localhost"
pre_tasks:
- name: Create skydive temp path
file:
path: "/tmp/skydive/{{ ansible_architecture }}"
state: directory
delegate_to: "{{ skydive_staging_node }}"
become: false
tasks:
- name: Built skydive installation
block:
- name: Find skydive binaries
find:
paths: "/tmp/skydive/{{ ansible_architecture }}/"
recurse: no
patterns: "*skydive*"
register: files_to_copy
delegate_to: "{{ skydive_staging_node }}"
run_once: true
become: false
- name: Install built skydive
copy:
src: "{{ item.path }}"
dest: "/usr/local/bin/{{ item.path | basename }}"
mode: "0755"
with_items: "{{ files_to_copy.files }}"
when:
- ((groups['skydive_build_nodes'] | default([])) | length) > 0
- name: Upstream skydive installation
block:
- name: Get skydive binary
get_url:
url: "{{ skydive_binary_url }}"
dest: "/tmp/skydive/{{ ansible_architecture }}/{{ skydive_binary_url | basename }}"
mode: '0755'
delegate_to: "{{ skydive_staging_node }}"
run_once: true
become: false
- name: Install binary skydive
copy:
src: "/tmp/skydive/{{ ansible_architecture }}/{{ skydive_binary_url | basename }}"
dest: "/usr/local/bin/skydive"
mode: "0755"
when:
- ((groups['skydive_build_nodes'] | default([])) | length) < 1
tags:
- skydive-install
- name: Deploy traefik binaries
hosts: skydive_analyzers
become: yes
vars:
traefik_binary_version: "v1.7.7"
traefik_binary_url: "https://github.com/containous/traefik/releases/download/{{ traefik_binary_version }}/traefik"
traefik_staging_node: "localhost"
pre_tasks:
- name: Create traefik temp path
file:
path: "/tmp/traefik/{{ ansible_architecture }}"
state: directory
delegate_to: "{{ traefik_staging_node }}"
become: false
tasks:
- name: Built traefik installation
block:
- name: Find traefik binaries
find:
paths: "/tmp/traefik/{{ ansible_architecture }}/"
recurse: no
patterns: "*traefik*"
register: files_to_copy
delegate_to: "{{ traefik_staging_node }}"
run_once: true
become: false
- name: Install built traefik
copy:
src: "{{ item.path }}"
dest: "/usr/local/bin/{{ item.path | basename }}"
mode: "0755"
with_items: "{{ files_to_copy.files }}"
when:
- ((groups['traefik_build_nodes'] | default([])) | length) > 0
- name: Upstream traefik installation
block:
- name: Get traefik binary
get_url:
url: "{{ traefik_binary_url }}"
dest: "/tmp/traefik/{{ ansible_architecture }}/{{ traefik_binary_url | basename }}"
mode: '0755'
delegate_to: "{{ traefik_staging_node }}"
run_once: true
become: false
- name: Install binary traefik
copy:
src: "/tmp/traefik/{{ ansible_architecture }}/{{ traefik_binary_url | basename }}"
dest: "/usr/local/bin/traefik"
mode: "0755"
when:
- ((groups['traefik_build_nodes'] | default([])) | length) < 1
tags:
- traefik-install
- name: Configure Skydive analyzers
hosts: skydive_analyzers
become: yes
roles:
- role: skydive_analyzer
tags:
- skydive-analyzer-setup
- name: Configure Skydive agents
hosts: skydive_agents
become: yes
roles:
- role: skydive_agent
skydive_service_setup_host: "{{ openstack_service_setup_host | default(groups['skydive_analyzers'][0]) }}"
tags:
- skydive-agent-setup