From 89371d718b96cc03dae137148f021b60734d2223 Mon Sep 17 00:00:00 2001 From: TeoV Date: Thu, 13 Feb 2020 13:09:48 +0200 Subject: [PATCH] Update ansible script for rpm to consider tag release --- data/ansible/rpm_packages/cgrates.spec.j2 | 5 +- data/ansible/rpm_packages/main.yaml | 58 +++++++++++++++++++---- 2 files changed, 51 insertions(+), 12 deletions(-) diff --git a/data/ansible/rpm_packages/cgrates.spec.j2 b/data/ansible/rpm_packages/cgrates.spec.j2 index f9a0065a0..4fad377f3 100644 --- a/data/ansible/rpm_packages/cgrates.spec.j2 +++ b/data/ansible/rpm_packages/cgrates.spec.j2 @@ -1,5 +1,6 @@ {{ ansible_managed | comment }} %global version 0.10.0 +%global branch 0.10 %global git_commit {{ gitVersion.stdout_lines[0] }} %global git_short_commit {{ gitShortVersion.stdout_lines[0] }} @@ -10,7 +11,7 @@ Name: cgrates Version: %{version} -Release: {{ gitDate.stdout_lines[0] }}+%{git_short_commit} +Release: {{ releaseTag }} Summary: Carrier Grade Real-time Charging System License: GPLv3 URL: https://github.com/cgrates/cgrates @@ -33,7 +34,7 @@ CGRateS is a very fast and easy scalable real-time charging system for Telecom e %prep %setup -q -n %{name}-%{version} -c mkdir -p src/github.com/cgrates -ln -sf ../../../%{name}-%{git_commit} src/github.com/cgrates/cgrates +ln -sf ../../../%{name}-%{branch} src/github.com/cgrates/cgrates %pre getent group %{name} >/dev/null || groupadd -r %{name} diff --git a/data/ansible/rpm_packages/main.yaml b/data/ansible/rpm_packages/main.yaml index 38ee4f517..f7cb16cb4 100644 --- a/data/ansible/rpm_packages/main.yaml +++ b/data/ansible/rpm_packages/main.yaml @@ -11,6 +11,18 @@ fi become: true +- name: Check and set python version on PKG server + hosts: pkg + remote_user: '{{ gouser }}' + gather_facts: false + tasks: + - name: symlink /usr/bin/python -> /usr/bin/python3 + raw: | + if [ -f /usr/bin/python3 ] && [ ! -f /usr/bin/python ]; then + ln --symbolic /usr/bin/python3 /usr/bin/python; + fi + become: true + - hosts: yum vars: ############################################################### @@ -177,6 +189,21 @@ src: "{{ cgrates_dir }}/data" dest: "/usr/share/cgrates" state: link + + - name: get git tag + shell: "git tag -l --points-at HEAD" + args: + chdir: '{{ cgrates_dir }}' + register: gitTagVar + + - name: Compose the ReleaseTag + set_fact: + releaseTag: "" + + - name: Compose the ReleaseTag with values + set_fact: + releaseTag: "{{ gitDate.stdout_lines[0] }}+{{ gitShortVersion.stdout_lines[0] }}" + when : gitTagVar.stdout_lines|length == 0 ########################################################################################################################### ########################################################################################################################### # Generate package @@ -217,37 +244,46 @@ # Move the file to PKG server - name: Copy the file to PKG server - shell: 'sshpass -p {{ pkgPass }} scp cgr_build/RPMS/x86_64/{{ item }} {{ gouser }}@{{ internalPkgAddr }}:/tmp/' - with_items: '{{ rmpFileName.stdout_lines }}' - + shell: 'sshpass -p {{ pkgPass }} scp cgr_build/RPMS/x86_64/{{ rmpFileName.stdout_lines[0] }} {{ gouser }}@{{ internalPkgAddr }}:/tmp/' + - name: Sign with rpm --addsign the .rpm file become: yes shell: 'sudo rpm --addsign cgr_build/RPMS/x86_64/{{ rmpFileName.stdout_lines[0] }}' + when : gitTagVar.stdout_lines|length > 0 - name: Check if is something in /var/packages/yum/v0.10/ become: yes shell : "ls /var/packages/yum/v0.10/" register: yumFiles - + when : gitTagVar.stdout_lines|length > 0 + # Clean the folder - name: Clean the incoming folder become: yes shell: "sudo rm -rf /var/packages/yum/v0.10/*" - when: yumFiles.stdout_lines|length > 1 + when: gitTagVar.stdout_lines|length > 0 and yumFiles.stdout_lines|length > 1 - name: Move the files to /var/packages/yum/v0.10 become: yes command: mv cgr_build/RPMS/x86_64/{{ rmpFileName.stdout_lines[0] }} /var/packages/yum/v0.10/ - when : rmpFileName.stdout_lines|length > 0 - + when : rmpFileName.stdout_lines|length > 0 and gitTagVar.stdout_lines|length > 0 + - name: Include the package with createrepo become: yes shell: createrepo /var/packages/yum/v0.10 + when : gitTagVar.stdout_lines|length > 0 - hosts: pkg remote_user: '{{ gouser }}' tasks: - - name: Creates directory + + - name: Creates directory rpm + become: yes + file: + path: /var/packages/rpm/ + state: directory + + - name: Creates directory v0.10 become: yes file: path: /var/packages/rpm/v0.10/ @@ -258,11 +294,13 @@ file: path: /var/packages/rpm/v0.10/cgrates_current.rpm state: absent + when : hostvars['yum']['gitTagVar'].stdout_lines|length > 0 - name: Move the new package to /var/packages/rpm become: yes - shell: "sudo mv /tmp/{{ hostvars['yum']['rmpFileName']['stdout_lines'][0] }} /var/packages/rpm/v0.10/" + shell: "mv /tmp/{{ hostvars['yum']['rmpFileName']['stdout_lines'][0] }} /var/packages/rpm/v0.10/" - name: Create the new symlink cgrates_current.rpm become: yes - shell: "sudo ln -s /var/packages/rpm/v0.10/{{ hostvars['yum']['rmpFileName']['stdout_lines'][0] }} /var/packages/rpm/v0.10/cgrates_current.rpm" + shell: "ln -s /var/packages/rpm/v0.10/{{ hostvars['yum']['rmpFileName']['stdout_lines'][0] }} /var/packages/rpm/v0.10/cgrates_current.rpm" + when : hostvars['yum']['gitTagVar'].stdout_lines|length > 0