From 95a2ed63366c7f021c1b5d9122c6f02334347e43 Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Wed, 1 Mar 2017 15:54:20 -0500 Subject: [PATCH] Updates to insights playbook project syncing based on feedback * Support "name" if given, else use a more reasonable file name for the playbook file * Fix an issue where we wouldn't populate the playbooks correctly in the database * Force downloading the playbooks every time since we can't tell when the file might change --- awx/main/tasks.py | 6 +++--- awx/playbooks/project_update.yml | 21 +++++++++++++++++---- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/awx/main/tasks.py b/awx/main/tasks.py index c96441c1c4..16a772dfdc 100644 --- a/awx/main/tasks.py +++ b/awx/main/tasks.py @@ -1318,10 +1318,10 @@ class RunProjectUpdate(BaseTask): lines = fd.readlines() if lines: p.scm_revision = lines[0].strip() - p.playbook_files = p.playbooks - p.save() else: - logger.error("Could not find scm revision in check") + logger.info("Could not find scm revision in check") + p.playbook_files = p.playbooks + p.save() try: os.remove(self.revision_path) except Exception, e: diff --git a/awx/playbooks/project_update.yml b/awx/playbooks/project_update.yml index c42017b748..8fdd3349c3 100644 --- a/awx/playbooks/project_update.yml +++ b/awx/playbooks/project_update.yml @@ -107,7 +107,7 @@ - name: update project using insights uri: - url: "{{insights_url}}/r/insights/v1/maintenance" + url: "{{insights_url}}/r/insights/v1/maintenance?ansible=true" user: "{{scm_username|quote}}" password: "{{scm_password|quote}}" force_basic_auth: yes @@ -120,14 +120,27 @@ state: directory when: scm_type == 'insights' - - name: Fetch Insights Playbook + - name: Fetch Insights Playbook With Name get_url: url: "{{insights_url}}/r/insights/v3/maintenance/{{item.maintenance_id}}/playbook" - dest: "{{project_path|quote}}/{{item.maintenance_id}}.yml" + dest: "{{project_path|quote}}/{{item.name}}-{{item.maintenance_id}}.yml" url_username: "{{scm_username|quote}}" url_password: "{{scm_password|quote}}" force_basic_auth: yes - when: scm_type == 'insights' + force: yes + when: scm_type == 'insights' and item.name != None + with_items: "{{insights_output.json}}" + failed_when: false + + - name: Fetch Insights Playbook + get_url: + url: "{{insights_url}}/r/insights/v3/maintenance/{{item.maintenance_id}}/playbook" + dest: "{{project_path|quote}}/insights-plan-{{item.maintenance_id}}.yml" + url_username: "{{scm_username|quote}}" + url_password: "{{scm_password|quote}}" + force_basic_auth: yes + force: yes + when: scm_type == 'insights' and item.name == None with_items: "{{insights_output.json}}" failed_when: false