From 79cb15b01fdfc00dd3b4d3a2fc2a5215ba6602af Mon Sep 17 00:00:00 2001 From: Limmen Date: Mon, 11 Mar 2024 14:59:50 +0100 Subject: [PATCH] ansible installation [wip] --- ansible/group_vars/all/variables.yml | 1 + ansible/install_management_system.yml | 10 +++- ansible/install_management_system_leader.yml | 10 +--- ansible/start.sh | 12 +++++ ansible/start.yml | 50 +------------------- 5 files changed, 25 insertions(+), 58 deletions(-) create mode 100644 ansible/start.sh diff --git a/ansible/group_vars/all/variables.yml b/ansible/group_vars/all/variables.yml index 5a80cbce9..fa2fb02a3 100644 --- a/ansible/group_vars/all/variables.yml +++ b/ansible/group_vars/all/variables.yml @@ -1,6 +1,7 @@ user: "kim" csle_git_repo_url: "https://github.com/Limmen/csle" leader_ip: "34.142.42.219" +leader_public_ip: "34.142.42.219" nginx_content_name: "nginx_configuration_content.txt" web_port: 7777 postgres_version: "15" diff --git a/ansible/install_management_system.yml b/ansible/install_management_system.yml index da239e6d3..e244fb429 100644 --- a/ansible/install_management_system.yml +++ b/ansible/install_management_system.yml @@ -148,7 +148,7 @@ lineinfile: path: "/home/{{ user }}/csle/management-system/csle-mgmt-webapp/src/components/Common/serverIp.js" regexp: '^const serverIp =' - line: 'const serverIp = "{{ ansible_host }}";' + line: 'const serverIp = "{{ leader_public_ip }}";' - name: Modify serverPort.js file lineinfile: @@ -175,3 +175,11 @@ path: "/home/{{ user }}/.bashrc" line: "export PATH=/home/{{ user }}/csle/management-system/node_exporter/:$PATH" when: not node_exporter_path_configured + + - name: CSLE init + shell: "source /home/{{ user }}/anaconda3/bin/activate {{ conda_environment_name }} && csle init" + args: + executable: /bin/bash + environment: + CSLE_HOME: "/home/{{ user }}/csle" + register: CSLE_init_output diff --git a/ansible/install_management_system_leader.yml b/ansible/install_management_system_leader.yml index 088c01c3b..06cad8d9f 100644 --- a/ansible/install_management_system_leader.yml +++ b/ansible/install_management_system_leader.yml @@ -25,12 +25,4 @@ args: executable: /bin/bash ignore_errors: true - when: not pg_admin_running - - - name: CSLE init - shell: "source /home/{{ user }}/anaconda3/bin/activate {{ conda_environment_name }} && csle init" - args: - executable: /bin/bash - environment: - CSLE_HOME: "/home/{{ user }}/csle" - register: CSLE_init_output \ No newline at end of file + when: not pg_admin_running \ No newline at end of file diff --git a/ansible/start.sh b/ansible/start.sh new file mode 100644 index 000000000..dfee44e55 --- /dev/null +++ b/ansible/start.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +csle stop clustermanager +sleep 2 +csle start clustermanager +sleep 2 +csle start cadvisor +csle start grafana +csle start prometheus +csle start node_exporter +csle start flask +csle start nginx \ No newline at end of file diff --git a/ansible/start.yml b/ansible/start.yml index 2dc7009f8..ce839024c 100644 --- a/ansible/start.yml +++ b/ansible/start.yml @@ -2,53 +2,7 @@ - hosts: all - vars: - cadvisor: "cadvisor" - grafana: "grafana" - tasks: - - name: List running docker containers - become: true - shell: "docker ps" - args: - executable: /bin/bash - register: docker_containers_list - changed_when: false - - - name: Restart clustermanager - shell: "source /home/{{ user }}/.bashrc; source /home/{{ user }}/anaconda3/bin/activate {{ conda_environment_name }} && csle stop clustermanager && sleep 5; csle start clustermanager && sleep 10" - args: - executable: /bin/bash - environment: - CSLE_HOME: "/home/{{ user }}/csle" - register: CSLE_init_output - - - name: Check if cadvisor is running - set_fact: - cadvisor_running: "{{ cadvisor in docker_containers_list.stdout }}" - - - name: Start cadvisor - become: true - shell: "docker run -dt --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080 --name=cadvisor gcr.io/cadvisor/cadvisor" - args: - executable: /bin/bash - when: not cadvisor_running - - - name: Check if grafana is running - set_fact: - grafana_running: "{{ grafana in docker_containers_list.stdout }}" - - - name: Start grafana - become: true - shell: "docker run -d -p 3000:3000 --name grafana grafana/grafana" - args: - executable: /bin/bash - when: not grafana_running - - - name: CSLE start - shell: "source /home/{{ user }}/anaconda3/bin/activate {{ conda_environment_name }}; csle start nodeexporter; csle start prometheus; csle start flask; csle start nginx" - args: - executable: /bin/bash - environment: - CSLE_HOME: "/home/{{ user }}/csle" \ No newline at end of file + - name: Start services + script: ./start.sh \ No newline at end of file