From 87accc631b64eec3004d8a5fd8504be7d75ae925 Mon Sep 17 00:00:00 2001 From: SMY ALTAMASH <30286162+SMYALTAMASH@users.noreply.github.com> Date: Mon, 27 May 2019 19:12:07 +0530 Subject: [PATCH] Issue #000 player: cdn changed for player (#495) * Issue #000 player: player cdn file name changes --- ansible/roles/stack-sunbird/defaults/main.yml | 1 + .../stack-sunbird/tasks/service_stack.yml | 39 ++++++++++--------- pipelines/deploy/player/Jenkinsfile | 9 ++++- 3 files changed, 28 insertions(+), 21 deletions(-) diff --git a/ansible/roles/stack-sunbird/defaults/main.yml b/ansible/roles/stack-sunbird/defaults/main.yml index 2b038206f..573900b2b 100644 --- a/ansible/roles/stack-sunbird/defaults/main.yml +++ b/ansible/roles/stack-sunbird/defaults/main.yml @@ -102,3 +102,4 @@ sunbird_analytics_blob_account_name: sunbird_analytics_blob_account_key: sunbird_portal_player_cdn_enabled: sunbird_portal_preview_cdn_url: +cdn_file_path: diff --git a/ansible/roles/stack-sunbird/tasks/service_stack.yml b/ansible/roles/stack-sunbird/tasks/service_stack.yml index ec763dd0c..92daab1e8 100644 --- a/ansible/roles/stack-sunbird/tasks/service_stack.yml +++ b/ansible/roles/stack-sunbird/tasks/service_stack.yml @@ -3,42 +3,43 @@ template: src="stack_{{service_name}}.yml" dest="/home/deployer/stack/stack_{{service_name}}.yml" mode=0644 - name: Save config file - copy: src="{{inventory_dir}}/../../../sunbird-portal/src/app/dist/index_cdn.ejs" dest="/home/deployer/config/index_cdn.ejs" mode=0644 + copy: src="{{cdn_file_path}}" dest="/home/deployer/config/index_cdn.ejs" mode=0644 when: sunbird_portal_cdn_url is defined register: copy_file ignore_errors: yes -- name: Remove the cdn file from player if it's present - shell: docker service update --config-rm index.ejs player_player - when: copy_file.changed +- debug: + msg: "{{copy_file}}" + +- name: check if player is running + shell: docker service ps player_player + become: yes + register: playerRunning ignore_errors: yes +- name: Remove the cdn file from player if it's present + shell: docker service update --config-rm index_cdn.ejs player_player + when: copy_file.changed and playerRunning.rc == 0 and sunbird_portal_cdn_url is defined + - name: Remove the existing config if it is present shell: docker config rm index_cdn.ejs - when: copy_file.changed - ignore_errors: yes + when: copy_file.changed and playerRunning.rc == 0 and sunbird_portal_cdn_url is defined - name: Create the index_cdn.ejs file as a config shell: "docker config create index_cdn.ejs /home/deployer/config/index_cdn.ejs" - when: sunbird_portal_cdn_url is defined and copy_file.changed - ignore_errors: yes - -- name: Create the index_cdn.ejs file as a config - shell: "docker config create index_cdn.ejs /home/deployer/config/index_cdn.ejs" - when: sunbird_portal_cdn_url is defined and copy_file.changed - ignore_errors: yes + when: sunbird_portal_cdn_url is defined and copy_file.changed and playerRunning.rc == 0 - name: Deploy Player with updated player config - shell: docker service update --config-add source=index.ejs,target=/home/sunbird/app_dist/dist/index_cdn.ejs - when: sunbird_portal_cdn_url is defined and copy_file.changed - register: update_player + shell: docker service update --config-add source=index_cdn.ejs,target=/home/sunbird/app_dist/dist/index_cdn.ejs player_player + when: sunbird_portal_cdn_url is defined and copy_file.changed and playerRunning.rc == 0 - name: Deploy stack shell: "docker stack deploy -c stack_{{service_name}}.yml {{service_name}} --with-registry-auth" args: chdir: /home/deployer/stack - when: not update_player.changed + register: stackDeployed - name: Inject config file for the first player deploy - shell: docker service update --config-add source=index.ejs,target=/home/sunbird/app_dist/dist/index_cdn.ejs - when: sunbird_portal_cdn_url is defined and not update_player.changed + shell: docker service update --config-add source=index_cdn.ejs,target=/home/sunbird/app_dist/dist/index_cdn.ejs player_player + when: stackDeployed.changed + diff --git a/pipelines/deploy/player/Jenkinsfile b/pipelines/deploy/player/Jenkinsfile index e5ce7eb37..ec5895aad 100644 --- a/pipelines/deploy/player/Jenkinsfile +++ b/pipelines/deploy/player/Jenkinsfile @@ -49,7 +49,7 @@ node() { } // Uploading cdn assets to blob ansiblePlaybook = "$currentWs/ansible/assets-upload.yml" - ansibleExtraArgs = "--extra-vars assets=$currentWs/sunbird-portal/src/app/dist --vault-password-file /var/lib/jenkins/secrets/vault-pass" + ansibleExtraArgs = "--extra-vars assets=$currentWs/sunbird-portal/src/app/dist --extra-vars cdn_file_path=$currentWs/sunbird-portal/src/app/dist/index_cdn.ejs --vault-password-file /var/lib/jenkins/secrets/vault-pass" values.put('ansiblePlaybook', ansiblePlaybook) values.put('ansibleExtraArgs', ansibleExtraArgs) ansible_playbook_run(values) @@ -58,7 +58,12 @@ node() { } stage('deploy') { ansiblePlaybook = "$currentWs/ansible/deploy.yml" - ansibleExtraArgs = "--tags \"stack-sunbird\" --extra-vars \"hub_org=$hub_org image_name=$values.image_name image_tag=$values.image_tag service_name=player deploy_stack=True\" --vault-password-file /var/lib/jenkins/secrets/vault-pass" + if ( cdnUrl == '' ) { + ansibleExtraArgs = "--tags \"stack-sunbird\" --extra-vars \"hub_org=$hub_org image_name=$values.image_name image_tag=$values.image_tag service_name=player deploy_stack=True\" --vault-password-file /var/lib/jenkins/secrets/vault-pass" + } + else { + ansibleExtraArgs = "--tags \"stack-sunbird\" --extra-vars \"hub_org=$hub_org image_name=$values.image_name image_tag=$values.image_tag service_name=player deploy_stack=True cdn_file_path=$currentWs/sunbird-portal/src/app/dist/index_cdn.ejs\" --vault-password-file /var/lib/jenkins/secrets/vault-pass" + } values.put('ansiblePlaybook', ansiblePlaybook) values.put('ansibleExtraArgs', ansibleExtraArgs) ansible_playbook_run(values) -- GitLab