New stuffs again
This commit is contained in:
98
tasks/lock_pkg copy.yml
Normal file
98
tasks/lock_pkg copy.yml
Normal file
@ -0,0 +1,98 @@
|
||||
---
|
||||
# httpd-2.4.6-18.el7_0
|
||||
# item | regex_replace('(\\w+-\\d+)\\..*$', '\\1')
|
||||
|
||||
- name: Debug item
|
||||
ansible.builtin.debug:
|
||||
var: item
|
||||
|
||||
# - name: Regex test 1
|
||||
# ansible.builtin.debug:
|
||||
# msg: "{{ item | regex_replace('(\\w+.?)-(\\d+\\..*)(\\.el.*$)', '\\1 + \\2 + \\3') }}"
|
||||
|
||||
# - name: Regex test 2
|
||||
# ansible.builtin.debug:
|
||||
# msg: "{{ item | regex_replace('^.*?-(\\d+.*$)', '\\1') }}"
|
||||
|
||||
# - name: Regex test 3
|
||||
# ansible.builtin.debug:
|
||||
# msg: "{{ item | regex_replace('^(\\w+.*?)-\\d+.*?$', '\\1') }}"
|
||||
|
||||
# - name: Regex test
|
||||
# ansible.builtin.debug:
|
||||
# msg: "{{ item | regex_replace('(\\w+.?)-(\\d+\\..*$)', '\\1 + \\2') }}"
|
||||
|
||||
# - name: Set package name and version facts
|
||||
# ansible.builtin.set_fact:
|
||||
# pkg_name: "{{ item | regex_replace('(\\w+.?)-\\d+\\..*$', '\\1') }}"
|
||||
# pkg_vers: "{{ item | regex_replace('\\w+.?-(\\d+\\..*$)', '\\1') }}"
|
||||
|
||||
- name: Set package name and version facts
|
||||
ansible.builtin.set_fact:
|
||||
pkg_name: "{{ item | regex_replace('^(\\w+.*?)-\\d+.*?$', '\\1') }}"
|
||||
pkg_vers: "{{ item | regex_replace('^.*?-(\\d+.*$)', '\\1') }}"
|
||||
|
||||
- name: Display package name and version
|
||||
ansible.builtin.debug:
|
||||
msg: "Package: {{ pkg_name }} || Version: {{ pkg_vers }}"
|
||||
|
||||
# this is the right track...
|
||||
# conditions:
|
||||
# - versionlock doesnt exist for pkg
|
||||
# - add versionlock
|
||||
# - versionlock exists for pkg and version matches
|
||||
# - move on
|
||||
# - versionlock exists for pkg and version mismatch
|
||||
# - clear current lock
|
||||
# - add new lock for new version
|
||||
# - pkg doesnt exist
|
||||
# - fail with message stating to check pkg name/version
|
||||
|
||||
|
||||
# - name: End host
|
||||
# ansible.builtin.meta: end_host
|
||||
|
||||
# - name: "Check if lock currently exists for {{ item }}"
|
||||
# ansible.builtin.command:
|
||||
# cmd: "grep -c {{ item | regex_replace('(\\w+-\\d+)\\..*$', '\\1') }} /etc/yum/pluginconf.d/versionlock.list"
|
||||
# failed_when: versionlock_check['rc'] not in [0, 1]
|
||||
# changed_when: false
|
||||
# register: versionlock_check
|
||||
|
||||
# - name: Debug versionlock_check
|
||||
# ansible.builtin.debug:
|
||||
# var: versionlock_check
|
||||
# # verbosity: 1
|
||||
|
||||
# - name: "Clear old version lock if present for {{ item }}"
|
||||
# when:
|
||||
# - versionlock_check['rc'] == 0
|
||||
# block:
|
||||
# - name: "Clear existing locks via wildcard match for {{ item }}" # noqa: command-instead-of-module
|
||||
# ansible.builtin.command: "yum versionlock delete '{{ item | regex_replace('(\\w+-\\d+)\\..*$', '\\1') }}*'"
|
||||
# register: versionlock_rm
|
||||
|
||||
# - name: Debug versionlock_rm
|
||||
# ansible.builtin.debug:
|
||||
# var: versionlock_rm
|
||||
|
||||
# - name: "Version lock package: {{ item }}"
|
||||
# # when:
|
||||
# # - versionlock_check['rc'] == 1
|
||||
# block:
|
||||
# - name: "Version locking: {{ item }}" # noqa: command-instead-of-module
|
||||
# ansible.builtin.command: "yum versionlock {{ item }}"
|
||||
# # changed_when: "'Adding versionlock on:' in versionlock_pkg['stdout']"
|
||||
# # failed_when: "'Package already locked' in versionlock_pkg['stdout']"
|
||||
# changed_when: "'versionlock added: 1' in versionlock_pkg['stdout']"
|
||||
# failed_when: "'versionlock added: 0' in versionlock_pkg['stdout']"
|
||||
# register: versionlock_pkg
|
||||
|
||||
# - name: Debug versionlock_pkg
|
||||
# ansible.builtin.debug:
|
||||
# var: versionlock_pkg
|
||||
# verbosity: 1
|
||||
# rescue:
|
||||
# - name: Failed to add versionlock
|
||||
# ansible.builtin.fail:
|
||||
# msg: "Failed to add versionlock for item: {{ item }}. Please re-check package name/version."
|
Reference in New Issue
Block a user