zuul-jobs/roles/ensure-packer/tasks/install-packer.yaml
Sorin Sbarnea 0eaa5cf59a Upgrade ansible-lint to 5.0
- bumps ansible-lint to 5.0
- updates our custom rules to make them compatible with 5.0
- replace custom module mocking with native ansible-lint ones
- remove custom call of ansible-playbook --syntax-check as now this
  is done by ansible-lint
- assured molecule vars are hosted under a vars/ folder in order to
  avoid confusing linter detection.
- replaced custom rule for loop var names in role as now this this an
  optional core feature of the linter (see config)
- replaced custom rule no-same-owner with opt-in one (see config)

Change-Id: I233fae8c9036d295968a97ee80e07fde8846c633
2021-03-17 15:44:43 +00:00

62 lines
1.7 KiB
YAML

- name: Get packer checksums
uri:
url: "{{ hashicorp_releases_fqdn }}/\
packer/{{ packer_version }}/packer_{{ packer_version }}_SHA256SUMS"
return_content: true
register: packer_version_checksums
- name: Set packer checksum
set_fact:
packer_checksum: "{{ \
packer_version_checksums.content | \
regex_search( '[a-z0-9]+ ' + packer_package) | \
regex_replace( '(?P<checksum>[a-z0-9]+) ' + packer_package, '\\g<checksum>')
}}"
- name: Create temp directory
tempfile:
state: directory
register: packer_install_tempdir
- name: Download packer archive
get_url:
url: "{{ hashicorp_releases_fqdn }}/\
packer/{{ packer_version }}/{{ packer_package }}.zip"
dest: "{{ packer_install_tempdir.path }}/{{ packer_package }}.zip"
checksum: "sha256:{{ packer_checksum }}"
- name: Create packer package directory
file:
path: "{{ packer_install_tempdir.path }}/{{ packer_package }}"
state: directory
mode: 0700
- name: Unarchive packer
unarchive:
src: "{{ packer_install_tempdir.path }}/{{ packer_package }}.zip"
dest: "{{ packer_install_tempdir.path }}/{{ packer_package }}"
remote_src: yes
mode: 0600
- name: Make sure installation directory exists
file:
path: "{{ packer_install_dir }}"
state: directory
mode: 0755
- name: Install packer
copy:
src: "{{ packer_install_tempdir.path }}/{{ packer_package }}/packer"
dest: "{{ packer_install_dir }}/packer"
mode: 0755
owner: "{{ ansible_user }}"
remote_src: yes
- name: Set packer executable fact
set_fact:
packer_executable: "{{ packer_install_dir }}/packer"
cacheable: true
- name: Output packer version
command: "{{ packer_executable }} version"