From 2593c30bd4f59fd3a49135de4fa785bd0914260c Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Fri, 2 Jun 2023 09:49:49 -0400 Subject: [PATCH] Make use of roles in the it_tests ansible playbook --- .../integration_tests/kafka.service.j2 | 13 -- data/ansible/integration_tests/kafka.yaml | 81 ---------- data/ansible/integration_tests/main.yaml | 153 ++---------------- data/ansible/integration_tests/mongo.yaml | 27 ---- data/ansible/integration_tests/rabbitmq.yaml | 36 ----- 5 files changed, 15 insertions(+), 295 deletions(-) delete mode 100644 data/ansible/integration_tests/kafka.service.j2 delete mode 100644 data/ansible/integration_tests/kafka.yaml delete mode 100644 data/ansible/integration_tests/mongo.yaml delete mode 100644 data/ansible/integration_tests/rabbitmq.yaml diff --git a/data/ansible/integration_tests/kafka.service.j2 b/data/ansible/integration_tests/kafka.service.j2 deleted file mode 100644 index 9c435ba34..000000000 --- a/data/ansible/integration_tests/kafka.service.j2 +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Requires=zookeeper.service -After=zookeeper.service - -[Service] -Type=simple -User={{ kafka_user }} -ExecStart=/bin/sh -c '/home/{{ kafka_user }}/kafka/bin/kafka-server-start.sh /home/{{ kafka_user }}/kafka/config/server.properties > /home/{{ kafka_user }}/kafka/kafka.log 2>&1' -ExecStop=/home/{{ kafka_user }}/kafka/bin/kafka-server-stop.sh -Restart=on-abnormal - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/data/ansible/integration_tests/kafka.yaml b/data/ansible/integration_tests/kafka.yaml deleted file mode 100644 index 4967610d6..000000000 --- a/data/ansible/integration_tests/kafka.yaml +++ /dev/null @@ -1,81 +0,0 @@ ---- -- name: Ensure group "kafka" exists - become: yes - group: - name: "{{ kafka_user }}" - state: present - -- name: Add the user 'kafka' - become: yes - user: - name: "{{ kafka_user }}" - # password: "{{ kafka_user_password }}" - groups: "sudo,{{ kafka_user }}" - -- name: Install the java - become: yes - apt: - name: default-jdk - -- name: Ensure download folder - become: yes - file: - state: directory - mode: 'u=rwx,go=rx' - owner: "{{ kafka_user }}" - group: "{{ kafka_user }}" - path: "{{ kafka_download_folder }}" - -- name: Fetch kafka binary package - become: yes - get_url: - dest: "{{ kafka_download_folder }}/{{ kafka_base_name }}.tgz" - url: "{{ kafka_url }}" - -- name: Uncompress the kafka tar - become: yes - unarchive: - copy: no - creates: "/home/{{ kafka_user }}/{{ kafka_base_name }}" - dest: "{{ kafka_install_folder }}" - src: "{{ kafka_download_folder }}/{{ kafka_base_name }}.tgz" - mode: 'u=rwx,go=rx' - owner: "{{ kafka_user }}" - group: "{{ kafka_user }}" - -- name: Link kafka to the right version - become: yes - file: - path: "{{ kafka_install_folder }}/kafka" - src: "{{ kafka_install_folder }}/{{ kafka_base_name }}" - owner: "{{ kafka_user }}" - group: "{{ kafka_user }}" - state: link - -- name: Add Zookeeper SystemD script - become: yes - template: - dest: /etc/systemd/system/zookeeper.service - mode: u+rw,g+rw,o+r - src: zookeeper.service.j2 - -- name: Add Kafka SystemD script - become: yes - template: - dest: /etc/systemd/system/kafka.service - mode: u+rw,g+rw,o+r - src: kafka.service.j2 - -- name: Ensure Kafka is enabled for SystemD - become: yes - systemd: - daemon_reload: yes - name: kafka - enabled: yes - -- name: Ensure Kafka is running - become: yes - service: - enabled: yes - name: kafka - state: started diff --git a/data/ansible/integration_tests/main.yaml b/data/ansible/integration_tests/main.yaml index de8c3eb27..92fa139b6 100644 --- a/data/ansible/integration_tests/main.yaml +++ b/data/ansible/integration_tests/main.yaml @@ -1,153 +1,30 @@ --- - hosts: local - vars: - ############################################################### - ###################### Kafka Vars ############################# - ############################################################### - kafka_apache_mirror: https://archive.apache.org/dist/ - kafka_user: kafka - kafka_version_kafka: 2.1.0 - kafka_version_scala: 2.11 - kafka_base_name: "kafka_{{ kafka_version_scala }}-{{ kafka_version_kafka }}" - kafka_url: "{{ kafka_apache_mirror }}/kafka/{{ kafka_version_kafka }}/{{ kafka_base_name }}.tgz" - kafka_download_folder: "/home/{{ kafka_user }}/Downloads" - kafka_install_folder: "/home/{{ kafka_user }}" - # kafka_user_password: "123456y" - - ############################################################### - # CGRateS location - cgrates_dir: "/home/{{ user }}/go/src/github.com/cgrates/cgrates" - ############################################################### - remote_user: root tasks: + - name: Install RabbitMQ + import_role: + name: ../roles/install_rabbitmq -########################################################################################################################### - -########################################################################################################################### -# install dependencies - - name: Install build-essential - become: yes - apt: - name: build-essential - state: present - - - name: Install the git - become: yes - apt: - name: git - - - name: Install the redis - become: yes - apt: - name: redis-server - - - name: Install the mysql - become: yes - apt: - name: mariadb-server - - - name: Install the postgresql - become: yes - apt: - name: postgresql - - - name: Install the postgresql-contrib - become: yes - apt: - name: postgresql-contrib - -########################################################################################################################### - name: Install nats become: yes apt: deb: https://github.com/nats-io/nats-server/releases/download/v2.3.0/nats-server-v2.3.0-amd64.deb - - name: Install mongo - include: mongo.yaml - - - name: Install kafka - include: kafka.yaml - - - name: Install rabbitmq - include: rabbitmq.yaml - - - name: Install elastic + - name: Install ElasticSearch include: elasic.yaml -########################################################################################################################### -########################################################################################################################### + - name: Install Kafka + import_role: + name: ../roles/install_kafka + + - name: Install MongoDB + import_role: + name: ../roles/install_mongodb + - name: Install Go import_role: name: ../roles/install_go -########################################################################################################################### - -########################################################################################################################### -# install cgrates - - name: create cgrates directory - file: - state: directory - mode: 'u=rwx,go=rx' - owner: "{{ user }}" - group: "{{ user }}" - dest: '{{ cgrates_dir }}' - become_user: "{{ user }}" - - - name: git clone cgrates - git: - repo: https://github.com/cgrates/cgrates.git - dest: '{{ cgrates_dir }}' - become: yes - become_user: "{{ user }}" - - - name: build cgrates - command: 'sh {{ cgrates_dir }}/build.sh' - environment: - PATH: "{{ lookup('env','PATH') }}:/home/{{ user }}/go/bin:/usr/local/go/bin:{{ ansible_env.PATH }}" - args: - chdir: '{{ cgrates_dir }}' - - - name: symbol link - become: yes - file: - src: "{{ cgrates_dir }}/data" - dest: "/usr/share/cgrates" - state: link -########################################################################################################################### - -########################################################################################################################### -# post install - - name: post install mysql - become: yes - command: 'sh {{ cgrates_dir }}/data/storage/mysql/setup_cgr_db.sh root CGRateS.org localhost' - args: - chdir: '{{ cgrates_dir }}/data/storage/mysql/' - - - name: post install for ers mysql - become: yes - command: 'sh {{ cgrates_dir }}/data/storage/mysql/setup_ers_db.sh root CGRateS.org localhost' - args: - chdir: '{{ cgrates_dir }}/data/storage/mysql/' - - - name: post install postgres2 - become: yes - command: 'sh {{ cgrates_dir }}/data/storage/postgres/create_db_with_users.sh' - args: - chdir: '{{ cgrates_dir }}/data/storage/postgres/' - - - name: post install for ers postgres - become: yes - command: 'sh {{ cgrates_dir }}/data/storage/postgres/create_ers_db.sh' - args: - chdir: '{{ cgrates_dir }}/data/storage/postgres/' - - - name: post install mongo - become: yes - command: 'sh {{ cgrates_dir }}/data/storage/mongo/setup_cgr_db.sh' - args: - chdir: '{{ cgrates_dir }}/data/storage/mongo/' - - - name: set versions - command: 'cgr-migrator -exec=*set_versions -config_path=/usr/share/cgrates/conf/samples/tutmysql' - environment: - PATH: "{{ lookup('env','PATH') }}:/home/{{ user }}/go/bin:/usr/local/go/bin:{{ ansible_env.PATH }}" \ No newline at end of file + - name: Install and configure CGRateS + import_role: + name: ../roles/install_cgrates \ No newline at end of file diff --git a/data/ansible/integration_tests/mongo.yaml b/data/ansible/integration_tests/mongo.yaml deleted file mode 100644 index b6ca5fa80..000000000 --- a/data/ansible/integration_tests/mongo.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -- name: Add an apt key for MongoDB - become: yes - apt_key: - url: https://www.mongodb.org/static/pgp/server-4.4.asc - state: present - -- name: Add apt repository for MongoDB - become: yes - apt_repository: - repo: "deb http://repo.mongodb.org/apt/debian {{ ansible_distribution_release }}/mongodb-org/4.4 main" - filename: mongodb-org-4.4 - update_cache: yes - -- name: Install MongoDB - become: yes - apt: - name: "mongodb-org" - state: present - -- name: Enable mongod service and ensure it is not masked - become: yes - systemd: - name: mongod - state: started - enabled: yes - masked: no \ No newline at end of file diff --git a/data/ansible/integration_tests/rabbitmq.yaml b/data/ansible/integration_tests/rabbitmq.yaml deleted file mode 100644 index affdb64e9..000000000 --- a/data/ansible/integration_tests/rabbitmq.yaml +++ /dev/null @@ -1,36 +0,0 @@ ---- -- name: Add an apt key by id for rabbitmq - become: yes - apt_key: - url: "{{ item }}" - state: present - with_items: - - https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc - - https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key - - https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key - - -- name: Install the apt-transport-https - become: yes - apt: - name: apt-transport-https - -- name: Add apt repository for erlang - become: yes - apt_repository: - repo: "deb https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/debian {{ ansible_distribution_release }} main" - filename: rabbitmq_erlang - update_cache: no - -- name: Add apt repository for rabbitmq - become: yes - apt_repository: - repo: "deb https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/debian {{ ansible_distribution_release }} main" - filename: rabbitmq_main - update_cache: yes - -- name: Install RabbitMQ - become: yes - apt: - name: "rabbitmq-server" - state: present \ No newline at end of file