mirror of
https://github.com/ansible/awx.git
synced 2026-02-28 00:08:44 -03:30
Revert project_update.yml
Due to problem found in testing reverting
019e6a52fe
This commit is contained in:
@@ -25,47 +25,42 @@
|
|||||||
connection: local
|
connection: local
|
||||||
name: Update source tree if necessary
|
name: Update source tree if necessary
|
||||||
tasks:
|
tasks:
|
||||||
- name: Delete project directory before update
|
|
||||||
ansible.builtin.shell: set -o pipefail && find . -delete -print | tail -2 # volume mounted, cannot delete folder itself
|
- name: delete project directory before update
|
||||||
register: reg
|
command: "find -delete" # volume mounted, cannot delete folder itself
|
||||||
changed_when: reg.stdout_lines | length > 1
|
|
||||||
args:
|
args:
|
||||||
chdir: "{{ project_path }}"
|
chdir: "{{ project_path }}"
|
||||||
tags:
|
tags:
|
||||||
- delete
|
- delete
|
||||||
|
|
||||||
- name: Update project using git
|
- block:
|
||||||
tags:
|
- name: update project using git
|
||||||
- update_git
|
git:
|
||||||
block:
|
dest: "{{project_path|quote}}"
|
||||||
- name: Update project using git
|
repo: "{{scm_url}}"
|
||||||
ansible.builtin.git:
|
version: "{{scm_branch|quote}}"
|
||||||
dest: "{{ project_path | quote }}"
|
refspec: "{{scm_refspec|default(omit)}}"
|
||||||
repo: "{{ scm_url }}"
|
force: "{{scm_clean}}"
|
||||||
version: "{{ scm_branch | quote }}"
|
track_submodules: "{{scm_track_submodules|default(omit)}}"
|
||||||
refspec: "{{ scm_refspec | default(omit) }}"
|
accept_hostkey: "{{scm_accept_hostkey|default(omit)}}"
|
||||||
force: "{{ scm_clean }}"
|
|
||||||
track_submodules: "{{ scm_track_submodules | default(omit) }}"
|
|
||||||
accept_hostkey: "{{ scm_accept_hostkey | default(omit) }}"
|
|
||||||
register: git_result
|
register: git_result
|
||||||
|
|
||||||
- name: Set the git repository version
|
- name: Set the git repository version
|
||||||
ansible.builtin.set_fact:
|
set_fact:
|
||||||
scm_version: "{{ git_result['after'] }}"
|
scm_version: "{{ git_result['after'] }}"
|
||||||
when: "'after' in git_result"
|
when: "'after' in git_result"
|
||||||
|
|
||||||
- name: Update project using svn
|
|
||||||
tags:
|
tags:
|
||||||
- update_svn
|
- update_git
|
||||||
block:
|
|
||||||
- name: Update project using svn
|
- block:
|
||||||
ansible.builtin.subversion:
|
- name: update project using svn
|
||||||
dest: "{{ project_path | quote }}"
|
subversion:
|
||||||
repo: "{{ scm_url | quote }}"
|
dest: "{{project_path|quote}}"
|
||||||
revision: "{{ scm_branch | quote }}"
|
repo: "{{scm_url|quote}}"
|
||||||
force: "{{ scm_clean }}"
|
revision: "{{scm_branch|quote}}"
|
||||||
username: "{{ scm_username | default(omit) }}"
|
force: "{{scm_clean}}"
|
||||||
password: "{{ scm_password | default(omit) }}"
|
username: "{{scm_username|default(omit)}}"
|
||||||
|
password: "{{scm_password|default(omit)}}"
|
||||||
# must be in_place because folder pre-existing, because it is mounted
|
# must be in_place because folder pre-existing, because it is mounted
|
||||||
in_place: true
|
in_place: true
|
||||||
environment:
|
environment:
|
||||||
@@ -73,90 +68,85 @@
|
|||||||
register: svn_result
|
register: svn_result
|
||||||
|
|
||||||
- name: Set the svn repository version
|
- name: Set the svn repository version
|
||||||
ansible.builtin.set_fact:
|
set_fact:
|
||||||
scm_version: "{{ svn_result['after'] }}"
|
scm_version: "{{ svn_result['after'] }}"
|
||||||
when: "'after' in svn_result"
|
when: "'after' in svn_result"
|
||||||
|
|
||||||
- name: Parse subversion version string properly
|
- name: parse subversion version string properly
|
||||||
ansible.builtin.set_fact:
|
set_fact:
|
||||||
scm_version: "{{ scm_version | regex_replace('^.*Revision: ([0-9]+).*$', '\\1') }}"
|
scm_version: "{{scm_version|regex_replace('^.*Revision: ([0-9]+).*$', '\\1')}}"
|
||||||
|
|
||||||
|
|
||||||
- name: Project update for Insights
|
|
||||||
tags:
|
tags:
|
||||||
- update_insights
|
- update_svn
|
||||||
block:
|
|
||||||
|
- block:
|
||||||
- name: Ensure the project directory is present
|
- name: Ensure the project directory is present
|
||||||
ansible.builtin.file:
|
file:
|
||||||
dest: "{{ project_path | quote }}"
|
dest: "{{project_path|quote}}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: '0755'
|
|
||||||
|
|
||||||
- name: Fetch Insights Playbook(s)
|
- name: Fetch Insights Playbook(s)
|
||||||
insights:
|
insights:
|
||||||
insights_url: "{{ insights_url }}"
|
insights_url: "{{insights_url}}"
|
||||||
username: "{{ scm_username }}"
|
username: "{{scm_username}}"
|
||||||
password: "{{ scm_password }}"
|
password: "{{scm_password}}"
|
||||||
project_path: "{{ project_path }}"
|
project_path: "{{project_path}}"
|
||||||
awx_license_type: "{{ awx_license_type }}"
|
awx_license_type: "{{awx_license_type}}"
|
||||||
awx_version: "{{ awx_version }}"
|
awx_version: "{{awx_version}}"
|
||||||
register: results
|
register: results
|
||||||
|
|
||||||
- name: Save Insights Version
|
- name: Save Insights Version
|
||||||
ansible.builtin.set_fact:
|
set_fact:
|
||||||
scm_version: "{{ results.version }}"
|
scm_version: "{{results.version}}"
|
||||||
when: results is defined
|
when: results is defined
|
||||||
|
|
||||||
|
|
||||||
- name: Update project using archive
|
|
||||||
tags:
|
tags:
|
||||||
- update_archive
|
- update_insights
|
||||||
block:
|
|
||||||
|
- block:
|
||||||
- name: Ensure the project archive directory is present
|
- name: Ensure the project archive directory is present
|
||||||
ansible.builtin.file:
|
file:
|
||||||
dest: "{{ project_path | quote }}/.archive"
|
dest: "{{ project_path|quote }}/.archive"
|
||||||
state: directory
|
state: directory
|
||||||
mode: '0755'
|
|
||||||
|
|
||||||
- name: Get archive from url
|
- name: Get archive from url
|
||||||
ansible.builtin.get_url:
|
get_url:
|
||||||
url: "{{ scm_url | quote }}"
|
url: "{{ scm_url|quote }}"
|
||||||
dest: "{{ project_path | quote }}/.archive/"
|
dest: "{{ project_path|quote }}/.archive/"
|
||||||
url_username: "{{ scm_username | default(omit) }}"
|
url_username: "{{ scm_username|default(omit) }}"
|
||||||
url_password: "{{ scm_password | default(omit) }}"
|
url_password: "{{ scm_password|default(omit) }}"
|
||||||
force_basic_auth: true
|
force_basic_auth: true
|
||||||
mode: '0755'
|
|
||||||
register: get_archive
|
register: get_archive
|
||||||
|
|
||||||
- name: Unpack archive
|
- name: Unpack archive
|
||||||
project_archive:
|
project_archive:
|
||||||
src: "{{ get_archive.dest }}"
|
src: "{{ get_archive.dest }}"
|
||||||
project_path: "{{ project_path | quote }}"
|
project_path: "{{ project_path|quote }}"
|
||||||
force: "{{ scm_clean }}"
|
force: "{{ scm_clean }}"
|
||||||
when: get_archive.changed or scm_clean
|
when: get_archive.changed or scm_clean
|
||||||
register: unarchived
|
register: unarchived
|
||||||
|
|
||||||
- name: Find previous archives
|
- name: Find previous archives
|
||||||
ansible.builtin.find:
|
find:
|
||||||
paths: "{{ project_path | quote }}/.archive/"
|
paths: "{{ project_path|quote }}/.archive/"
|
||||||
excludes:
|
excludes:
|
||||||
- "{{ get_archive.dest | basename }}"
|
- "{{ get_archive.dest|basename }}"
|
||||||
when: unarchived.changed
|
when: unarchived.changed
|
||||||
register: previous_archive
|
register: previous_archive
|
||||||
|
|
||||||
- name: Remove previous archives
|
- name: Remove previous archives
|
||||||
ansible.builtin.file:
|
file:
|
||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: absent
|
state: absent
|
||||||
loop: "{{ previous_archive.files }}"
|
loop: "{{ previous_archive.files }}"
|
||||||
when: previous_archive.files | default([])
|
when: previous_archive.files|default([])
|
||||||
|
|
||||||
- name: Set scm_version to archive sha1 checksum
|
- name: Set scm_version to archive sha1 checksum
|
||||||
ansible.builtin.set_fact:
|
set_fact:
|
||||||
scm_version: "{{ get_archive.checksum_src }}"
|
scm_version: "{{ get_archive.checksum_src }}"
|
||||||
|
tags:
|
||||||
|
- update_archive
|
||||||
|
|
||||||
- name: Repository Version
|
- name: Repository Version
|
||||||
ansible.builtin.debug:
|
debug:
|
||||||
msg: "Repository Version {{ scm_version }}"
|
msg: "Repository Version {{ scm_version }}"
|
||||||
tags:
|
tags:
|
||||||
- update_git
|
- update_git
|
||||||
@@ -193,59 +183,60 @@
|
|||||||
additional_collections_env:
|
additional_collections_env:
|
||||||
# These environment variables are used for installing collections, in addition to galaxy_task_env
|
# These environment variables are used for installing collections, in addition to galaxy_task_env
|
||||||
# setting the collections paths silences warnings
|
# setting the collections paths silences warnings
|
||||||
ANSIBLE_COLLECTIONS_PATHS: "{{ projects_root }}/.__awx_cache/{{ local_path }}/stage/requirements_collections"
|
ANSIBLE_COLLECTIONS_PATHS: "{{projects_root}}/.__awx_cache/{{local_path}}/stage/requirements_collections"
|
||||||
# Put the local tmp directory in same volume as collection destination
|
# Put the local tmp directory in same volume as collection destination
|
||||||
# otherwise, files cannot be moved accross volumes and will cause error
|
# otherwise, files cannot be moved accross volumes and will cause error
|
||||||
ANSIBLE_LOCAL_TEMP: "{{ projects_root }}/.__awx_cache/{{ local_path }}/stage/tmp"
|
ANSIBLE_LOCAL_TEMP: "{{projects_root}}/.__awx_cache/{{local_path}}/stage/tmp"
|
||||||
tasks:
|
tasks:
|
||||||
|
|
||||||
- name: Check content sync settings
|
- name: Check content sync settings
|
||||||
when: not roles_enabled | bool and not collections_enabled | bool
|
|
||||||
tags:
|
|
||||||
- install_roles
|
|
||||||
- install_collections
|
|
||||||
block:
|
block:
|
||||||
- name: Warn about disabled content sync
|
- debug:
|
||||||
ansible.builtin.debug:
|
|
||||||
msg: >
|
msg: >
|
||||||
Collection and role syncing disabled. Check the AWX_ROLES_ENABLED and
|
Collection and role syncing disabled. Check the AWX_ROLES_ENABLED and
|
||||||
AWX_COLLECTIONS_ENABLED settings and Galaxy credentials on the project's organization.
|
AWX_COLLECTIONS_ENABLED settings and Galaxy credentials on the project's organization.
|
||||||
- name: End play due to disabled content sync
|
|
||||||
ansible.builtin.meta: end_play
|
|
||||||
|
|
||||||
- name: Fetch galaxy roles from requirements.(yml/yaml)
|
- meta: end_play
|
||||||
ansible.builtin.command: >
|
|
||||||
|
when: not roles_enabled|bool and not collections_enabled|bool
|
||||||
|
tags:
|
||||||
|
- install_roles
|
||||||
|
- install_collections
|
||||||
|
|
||||||
|
- name: fetch galaxy roles from requirements.(yml/yaml)
|
||||||
|
command: >
|
||||||
ansible-galaxy role install -r {{ item }}
|
ansible-galaxy role install -r {{ item }}
|
||||||
--roles-path {{ projects_root }}/.__awx_cache/{{ local_path }}/stage/requirements_roles
|
--roles-path {{projects_root}}/.__awx_cache/{{local_path}}/stage/requirements_roles
|
||||||
{{ ' -' + 'v' * ansible_verbosity if ansible_verbosity else '' }}
|
{{ ' -' + 'v' * ansible_verbosity if ansible_verbosity else '' }}
|
||||||
args:
|
args:
|
||||||
chdir: "{{ project_path | quote }}"
|
chdir: "{{project_path|quote}}"
|
||||||
register: galaxy_result
|
register: galaxy_result
|
||||||
with_fileglob:
|
with_fileglob:
|
||||||
- "{{ project_path | quote }}/roles/requirements.yaml"
|
- "{{project_path|quote}}/roles/requirements.yaml"
|
||||||
- "{{ project_path | quote }}/roles/requirements.yml"
|
- "{{project_path|quote}}/roles/requirements.yml"
|
||||||
changed_when: "'was installed successfully' in galaxy_result.stdout"
|
changed_when: "'was installed successfully' in galaxy_result.stdout"
|
||||||
environment: "{{ galaxy_task_env }}"
|
environment: "{{ galaxy_task_env }}"
|
||||||
when: roles_enabled | bool
|
when: roles_enabled|bool
|
||||||
tags:
|
tags:
|
||||||
- install_roles
|
- install_roles
|
||||||
|
|
||||||
- name: Fetch galaxy collections from collections/requirements.(yml/yaml)
|
- name: fetch galaxy collections from collections/requirements.(yml/yaml)
|
||||||
ansible.builtin.command: >
|
command: >
|
||||||
ansible-galaxy collection install -r {{ item }}
|
ansible-galaxy collection install -r {{ item }}
|
||||||
--collections-path {{ projects_root }}/.__awx_cache/{{ local_path }}/stage/requirements_collections
|
--collections-path {{projects_root}}/.__awx_cache/{{local_path}}/stage/requirements_collections
|
||||||
{{ ' -' + 'v' * ansible_verbosity if ansible_verbosity else '' }}
|
{{ ' -' + 'v' * ansible_verbosity if ansible_verbosity else '' }}
|
||||||
args:
|
args:
|
||||||
chdir: "{{ project_path | quote }}"
|
chdir: "{{project_path|quote}}"
|
||||||
register: galaxy_collection_result
|
register: galaxy_collection_result
|
||||||
with_fileglob:
|
with_fileglob:
|
||||||
- "{{ project_path | quote }}/collections/requirements.yaml"
|
- "{{project_path|quote}}/collections/requirements.yaml"
|
||||||
- "{{ project_path | quote }}/collections/requirements.yml"
|
- "{{project_path|quote}}/collections/requirements.yml"
|
||||||
- "{{ project_path | quote }}/requirements.yaml"
|
- "{{project_path|quote}}/requirements.yaml"
|
||||||
- "{{ project_path | quote }}/requirements.yml"
|
- "{{project_path|quote}}/requirements.yml"
|
||||||
changed_when: "'Installing ' in galaxy_collection_result.stdout"
|
changed_when: "'Installing ' in galaxy_collection_result.stdout"
|
||||||
environment: "{{ additional_collections_env | combine(galaxy_task_env) }}"
|
environment: "{{ additional_collections_env | combine(galaxy_task_env) }}"
|
||||||
when:
|
when:
|
||||||
- "ansible_version.full is version_compare('2.9', '>=')"
|
- "ansible_version.full is version_compare('2.9', '>=')"
|
||||||
- collections_enabled | bool
|
- collections_enabled|bool
|
||||||
tags:
|
tags:
|
||||||
- install_collections
|
- install_collections
|
||||||
|
|||||||
Reference in New Issue
Block a user