updating for packer
This commit is contained in:
102
infra-config/test1.yml
Normal file
102
infra-config/test1.yml
Normal file
@@ -0,0 +1,102 @@
|
||||
---
|
||||
- name: Test IP address parsing - extract last two octets
|
||||
hosts: localhost
|
||||
gather_facts: false
|
||||
|
||||
vars:
|
||||
test_ip: "192.168.1.100"
|
||||
|
||||
tasks:
|
||||
- name: Method 1 - Using split and join
|
||||
ansible.builtin.set_fact:
|
||||
last_two_octets_1: "{{ test_ip.split('.')[-2:] | join('.') }}"
|
||||
|
||||
|
||||
- name: Display results
|
||||
ansible.builtin.debug:
|
||||
msg: |
|
||||
Original IP: {{ test_ip }}
|
||||
Method 1 (split + join): {{ last_two_octets_1 }}
|
||||
|
||||
|
||||
- name: Test with different IP addresses
|
||||
ansible.builtin.set_fact:
|
||||
test_ips:
|
||||
- "10.0.0.1"
|
||||
- "172.16.254.1"
|
||||
- "192.168.100.200"
|
||||
- "8.8.8.8"
|
||||
|
||||
- name: Process multiple IPs
|
||||
ansible.builtin.set_fact:
|
||||
results: "{{ results | default([]) + [{'ip': item, 'last_two': item.split('.')[-2:] | join('.')}] }}"
|
||||
loop: "{{ test_ips }}"
|
||||
|
||||
- name: Display all results
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ results }}"
|
||||
|
||||
# New tasks for 3-digit formatting
|
||||
- name: Method 1 - Format last octet to 3 digits using zfill
|
||||
ansible.builtin.set_fact:
|
||||
last_two_octets_3digits_1: "{{ test_ip.split('.')[-2] }}.{{ (test_ip.split('.')[-1] | int) | string | zfill(3) }}"
|
||||
|
||||
- name: Method 2 - Format last octet to 3 digits using format
|
||||
ansible.builtin.set_fact:
|
||||
last_two_octets_3digits_2: "{{ test_ip.split('.')[-2] }}.{{ '%03d' % (test_ip.split('.')[-1] | int) }}"
|
||||
|
||||
- name: Method 3 - Format last octet to 3 digits using sprintf
|
||||
ansible.builtin.set_fact:
|
||||
last_two_octets_3digits_3: "{{ test_ip.split('.')[-2] }}.{{ (test_ip.split('.')[-1] | int) | string | sprintf('%03d') }}"
|
||||
|
||||
- name: Display 3-digit formatting results
|
||||
ansible.builtin.debug:
|
||||
msg: |
|
||||
Original IP: {{ test_ip }}
|
||||
Method 1 (zfill): {{ last_two_octets_3digits_1 }}
|
||||
Method 2 (format): {{ last_two_octets_3digits_2 }}
|
||||
Method 3 (sprintf): {{ last_two_octets_3digits_3 }}
|
||||
|
||||
- name: Test 3-digit formatting with different IPs
|
||||
ansible.builtin.set_fact:
|
||||
test_ips_3digits:
|
||||
- "10.0.0.1"
|
||||
- "172.16.254.1"
|
||||
- "192.168.100.200"
|
||||
- "8.8.8.8"
|
||||
- "192.168.1.10"
|
||||
- "10.0.0.255"
|
||||
|
||||
- name: Process multiple IPs with 3-digit formatting
|
||||
ansible.builtin.set_fact:
|
||||
results_3digits: "{{ results_3digits | default([]) + [{'ip': item, 'last_two_3digits': item.split('.')[-2] + '.' + ('%03d' % (item.split('.')[-1] | int))}] }}"
|
||||
loop: "{{ test_ips_3digits }}"
|
||||
|
||||
- name: Display all 3-digit results
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ results_3digits }}"
|
||||
|
||||
# VM ID creation without dot separator
|
||||
- name: Create vm_id using format (no dot separator)
|
||||
ansible.builtin.set_fact:
|
||||
vm_id: "{{ test_ip.split('.')[-2] }}{{ '%03d' % (test_ip.split('.')[-1] | int) }}"
|
||||
|
||||
- name: Create vm_id using sprintf (no dot separator)
|
||||
ansible.builtin.set_fact:
|
||||
vm_id_sprintf: "{{ test_ip.split('.')[-2] }}{{ (test_ip.split('.')[-1] | int) | string | sprintf('%03d') }}"
|
||||
|
||||
- name: Display vm_id results
|
||||
ansible.builtin.debug:
|
||||
msg: |
|
||||
Original IP: {{ test_ip }}
|
||||
VM ID (format): {{ vm_id }}
|
||||
VM ID (sprintf): {{ vm_id_sprintf }}
|
||||
|
||||
- name: Test vm_id with different IPs
|
||||
ansible.builtin.set_fact:
|
||||
vm_id_results: "{{ vm_id_results | default([]) + [{'ip': item, 'vm_id': item.split('.')[-2] + ('%03d' % (item.split('.')[-1] | int))}] }}"
|
||||
loop: "{{ test_ips_3digits }}"
|
||||
|
||||
- name: Display all vm_id results
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ vm_id_results }}"
|
||||
Reference in New Issue
Block a user