openstack-ansible-ops/skydive/installSkydive.yml

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