mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Revise cgrates setup ansible role
- allows skipping symlink creation - symlink binary destinations can be configured - renamed git_version -> cgrates_branch. This also makes sure cgrates_branch variable is being set directly from the role and there's no need to configure it in the playbook. - fixed some linter warnings and slightly improved formatting
This commit is contained in:
committed by
Dan Christian Bogos
parent
d5aa567e98
commit
a68880a774
2
.github/workflows/integration_tests.yaml
vendored
2
.github/workflows/integration_tests.yaml
vendored
@@ -55,7 +55,7 @@ jobs:
|
||||
|
||||
- name: Run Ansible Playbook
|
||||
run: |
|
||||
ansible-playbook data/ansible/integration_tests/main.yaml -i localhost, -c local -e "ansible_user=$(whoami) cgrates_dir=$GITHUB_WORKSPACE clone_repository=false install_go=false"
|
||||
ansible-playbook data/ansible/integration_tests/main.yaml -i localhost, -c local -e "ansible_user=$(whoami) cgrates_dir=$GITHUB_WORKSPACE cgrates_clone_repo=false install_go=false"
|
||||
|
||||
# - name: Set up tmate session for debugging
|
||||
# uses: mxschmitt/action-tmate@v3
|
||||
|
||||
@@ -75,7 +75,6 @@
|
||||
# - role: ../../roles/cgrates
|
||||
# vars:
|
||||
# # To avoid tasks/dependencies we don't need.
|
||||
# cgrates_migrator_cfg_path:
|
||||
# cgrates_dbs:
|
||||
# cgrates_dependencies:
|
||||
# - git
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
---
|
||||
golang_gopath: '/home/{{ ansible_user }}/go'
|
||||
clone_repository: true
|
||||
cgrates_dir: '{{ golang_gopath }}/src/github.com/cgrates/cgrates'
|
||||
golang_gopath: "/home/{{ ansible_user }}/go"
|
||||
golang_install_dir: /usr/local/go
|
||||
git_version: master
|
||||
cgrates_migrator_cfg_path: /usr/share/cgrates/conf/samples/tutmysql # leave empty to do nothing
|
||||
cgrates_clone_repo: true
|
||||
cgrates_dir: "{{ golang_gopath }}/src/github.com/cgrates/cgrates"
|
||||
cgrates_branch: master
|
||||
|
||||
# Leave empty to skip creating symlinks
|
||||
cgrates_data_path: "/usr/share/cgrates"
|
||||
cgrates_bin_path: "/usr/bin"
|
||||
|
||||
cgrates_dbs:
|
||||
- mysql
|
||||
- postgres
|
||||
- mongo
|
||||
|
||||
# CGRateS dependencies
|
||||
cgrates_dependencies:
|
||||
- git
|
||||
- redis-server
|
||||
|
||||
@@ -2,68 +2,70 @@
|
||||
- name: Install CGRateS dependencies
|
||||
become: true
|
||||
ansible.builtin.package:
|
||||
name: '{{ cgrates_dependencies }}'
|
||||
name: "{{ cgrates_dependencies }}"
|
||||
state: present
|
||||
update_cache: yes
|
||||
update_cache: true
|
||||
|
||||
- name: Create cgrates directory
|
||||
ansible.builtin.file:
|
||||
state: directory
|
||||
mode: u=rwx,go=rx
|
||||
owner: '{{ ansible_user }}'
|
||||
dest: '{{ cgrates_dir }}'
|
||||
when: clone_repository | bool
|
||||
owner: "{{ ansible_user }}"
|
||||
dest: "{{ cgrates_dir }}"
|
||||
when: cgrates_clone_repo | bool
|
||||
|
||||
- name: Git clone cgrates
|
||||
ansible.builtin.git:
|
||||
repo: https://github.com/cgrates/cgrates.git
|
||||
dest: '{{ cgrates_dir }}'
|
||||
update: yes
|
||||
force: yes
|
||||
version: '{{ git_version }}'
|
||||
when: clone_repository | bool
|
||||
dest: "{{ cgrates_dir }}"
|
||||
update: true
|
||||
force: true
|
||||
version: "{{ cgrates_branch }}"
|
||||
when: cgrates_clone_repo | bool
|
||||
|
||||
- name: Build cgrates
|
||||
ansible.builtin.shell:
|
||||
cmd: bash -lc "sh {{ cgrates_dir }}/build.sh"
|
||||
args:
|
||||
chdir: '{{ cgrates_dir }}'
|
||||
become_user: '{{ ansible_user }}'
|
||||
- name: Install cgrates binaries
|
||||
ansible.builtin.command:
|
||||
cmd: bash -c './build.sh'
|
||||
chdir: "{{ cgrates_dir }}"
|
||||
environment:
|
||||
PATH: "{{ ansible_env.PATH }}:/usr/local/go/bin"
|
||||
|
||||
- name: Create symbolic links
|
||||
- name: Create cgrates data folder symlink
|
||||
ansible.builtin.file:
|
||||
src: '{{ item.src }}'
|
||||
dest: '{{ item.dest }}'
|
||||
src: "{{ cgrates_dir }}/data"
|
||||
dest: "{{ cgrates_data_path }}"
|
||||
state: link
|
||||
become: true
|
||||
when: cgrates_data_path | length > 0
|
||||
|
||||
- name: Create cgrates binary symlinks
|
||||
ansible.builtin.file:
|
||||
src: "{{ golang_gopath }}/bin/{{ item }}"
|
||||
dest: "{{ cgrates_bin_path }}/{{ item }}"
|
||||
state: link
|
||||
become: true
|
||||
when: cgrates_bin_path | length > 0
|
||||
loop:
|
||||
- { src: '{{ cgrates_dir }}/data', dest: /usr/share/cgrates }
|
||||
- { src: '{{ golang_gopath }}/bin/cgr-engine', dest: /usr/bin/cgr-engine }
|
||||
- { src: '{{ golang_gopath }}/bin/cgr-loader', dest: /usr/bin/cgr-loader }
|
||||
- {
|
||||
src: '{{ golang_gopath }}/bin/cgr-migrator',
|
||||
dest: /usr/bin/cgr-migrator,
|
||||
}
|
||||
- {
|
||||
src: '{{ golang_gopath }}/bin/cgr-console',
|
||||
dest: /usr/bin/cgr-console,
|
||||
}
|
||||
- { src: '{{ golang_gopath }}/bin/cgr-tester', dest: /usr/bin/cgr-tester }
|
||||
- cgr-engine
|
||||
- cgr-loader
|
||||
- cgr-migrator
|
||||
- cgr-console
|
||||
- cgr-tester
|
||||
|
||||
- name: Run post install scripts
|
||||
become: true
|
||||
ansible.builtin.command:
|
||||
cmd: '{{ item.cmd }}'
|
||||
chdir: '{{ cgrates_dir }}/data/storage/{{ item.db }}'
|
||||
cmd: "{{ item.cmd }}"
|
||||
chdir: "{{ cgrates_dir }}/data/storage/{{ item.db }}"
|
||||
when: item.db in cgrates_dbs
|
||||
loop:
|
||||
- { db: mysql, cmd: sh setup_ers_db.sh root CGRateS.org localhost }
|
||||
- { db: mysql, cmd: sh setup_cgr_db.sh root CGRateS.org localhost }
|
||||
- { db: postgres, cmd: sh create_db_with_users.sh }
|
||||
- { db: postgres, cmd: sh create_ers_db.sh }
|
||||
- { db: mongo, cmd: sh setup_cgr_db.sh }
|
||||
|
||||
- name: Set versions
|
||||
ansible.builtin.command:
|
||||
cmd: 'cgr-migrator -exec=*set_versions -config_path={{ cgrates_migrator_cfg_path }}'
|
||||
when: cgrates_migrator_cfg_path != ""
|
||||
- db: mysql
|
||||
cmd: sh setup_ers_db.sh root CGRateS.org localhost
|
||||
- db: mysql
|
||||
cmd: sh setup_cgr_db.sh root CGRateS.org localhost
|
||||
- db: postgres
|
||||
cmd: sh create_db_with_users.sh
|
||||
- db: postgres
|
||||
cmd: sh create_ers_db.sh
|
||||
- db: mongo
|
||||
cmd: sh setup_cgr_db.sh
|
||||
|
||||
Reference in New Issue
Block a user