Skip to content

Instantly share code, notes, and snippets.

@glennpratt
Created May 21, 2024 14:41
Show Gist options
  • Save glennpratt/087d4c8d3eea6b01e32729a9f4c9be63 to your computer and use it in GitHub Desktop.
Save glennpratt/087d4c8d3eea6b01e32729a9f4c9be63 to your computer and use it in GitHub Desktop.
- name: output
hosts: k8s_cluster
tasks:
- name: Rolling (intended behavior)
ansible.builtin.include_tasks: change_config.yml
with_items: "{{ groups['k8s_cluster'] }}"
loop_control:
loop_var: _host_item
when:
- hostvars[_host_item].inventory_hostname == inventory_hostname
- name: Rolling (doesn't work)
ansible.builtin.include_tasks: change_config.yml
when:
- ('k8s_cluster' in groups)
vars:
_host_item: '{{inventory_hostname}}'
- debug:
msg: "Starting {{ inventory_hostname }}"
- wait_for:
timeout: 1
delegate_to: localhost
- debug:
msg: "Ending {{ inventory_hostname }}"
k8s_cluster:
children:
servers:
hosts:
server-0:
server-1:
server-2:
agents:
hosts:
agent-0:
agent-1:
agent-2:
PLAY [output] ****************************************************************************************************************
TASK [Rolling (intended behavior)] *******************************************************************************************
skipping: [server-0] => (item=server-1)
skipping: [server-1] => (item=server-0)
skipping: [server-0] => (item=server-2)
skipping: [server-0] => (item=agent-0)
skipping: [server-2] => (item=server-0)
skipping: [server-1] => (item=server-2)
skipping: [server-0] => (item=agent-1)
skipping: [server-2] => (item=server-1)
skipping: [server-1] => (item=agent-0)
skipping: [server-0] => (item=agent-2)
skipping: [agent-0] => (item=server-0)
skipping: [server-1] => (item=agent-1)
skipping: [server-2] => (item=agent-0)
skipping: [agent-0] => (item=server-1)
skipping: [server-1] => (item=agent-2)
skipping: [agent-0] => (item=server-2)
skipping: [server-2] => (item=agent-1)
skipping: [server-2] => (item=agent-2)
skipping: [agent-1] => (item=server-0)
skipping: [agent-0] => (item=agent-1)
skipping: [agent-1] => (item=server-1)
skipping: [agent-0] => (item=agent-2)
skipping: [agent-1] => (item=server-2)
skipping: [agent-2] => (item=server-0)
skipping: [agent-1] => (item=agent-0)
skipping: [agent-2] => (item=server-1)
skipping: [agent-1] => (item=agent-2)
skipping: [agent-2] => (item=server-2)
skipping: [agent-2] => (item=agent-0)
skipping: [agent-2] => (item=agent-1)
included: /Users/gpratt/Code/CNS/app-platform/tests/integration/targets/lookup_phased_rollout/playbooks/default/change_config.yml for server-0 => (item=server-0)
included: /Users/gpratt/Code/CNS/app-platform/tests/integration/targets/lookup_phased_rollout/playbooks/default/change_config.yml for server-1 => (item=server-1)
included: /Users/gpratt/Code/CNS/app-platform/tests/integration/targets/lookup_phased_rollout/playbooks/default/change_config.yml for server-2 => (item=server-2)
included: /Users/gpratt/Code/CNS/app-platform/tests/integration/targets/lookup_phased_rollout/playbooks/default/change_config.yml for agent-0 => (item=agent-0)
included: /Users/gpratt/Code/CNS/app-platform/tests/integration/targets/lookup_phased_rollout/playbooks/default/change_config.yml for agent-1 => (item=agent-1)
included: /Users/gpratt/Code/CNS/app-platform/tests/integration/targets/lookup_phased_rollout/playbooks/default/change_config.yml for agent-2 => (item=agent-2)
TASK [debug] *****************************************************************************************************************
ok: [server-0] => {
"msg": "Starting server-0"
}
TASK [wait_for] **************************************************************************************************************
ok: [server-0 -> localhost]
TASK [debug] *****************************************************************************************************************
ok: [server-0] => {
"msg": "Ending server-0"
}
TASK [debug] *****************************************************************************************************************
ok: [server-1] => {
"msg": "Starting server-1"
}
TASK [wait_for] **************************************************************************************************************
ok: [server-1 -> localhost]
TASK [debug] *****************************************************************************************************************
ok: [server-1] => {
"msg": "Ending server-1"
}
TASK [debug] *****************************************************************************************************************
ok: [server-2] => {
"msg": "Starting server-2"
}
TASK [wait_for] **************************************************************************************************************
ok: [server-2 -> localhost]
TASK [debug] *****************************************************************************************************************
ok: [server-2] => {
"msg": "Ending server-2"
}
TASK [debug] *****************************************************************************************************************
ok: [agent-0] => {
"msg": "Starting agent-0"
}
TASK [wait_for] **************************************************************************************************************
ok: [agent-0 -> localhost]
TASK [debug] *****************************************************************************************************************
ok: [agent-0] => {
"msg": "Ending agent-0"
}
TASK [debug] *****************************************************************************************************************
ok: [agent-1] => {
"msg": "Starting agent-1"
}
TASK [wait_for] **************************************************************************************************************
ok: [agent-1 -> localhost]
TASK [debug] *****************************************************************************************************************
ok: [agent-1] => {
"msg": "Ending agent-1"
}
TASK [debug] *****************************************************************************************************************
ok: [agent-2] => {
"msg": "Starting agent-2"
}
TASK [wait_for] **************************************************************************************************************
ok: [agent-2 -> localhost]
TASK [debug] *****************************************************************************************************************
ok: [agent-2] => {
"msg": "Ending agent-2"
}
TASK [Rolling (doesn't work)] ************************************************************************************************
included: /Users/gpratt/Code/CNS/app-platform/tests/integration/targets/lookup_phased_rollout/playbooks/default/change_config.yml for server-0, server-1, server-2, agent-0, agent-1, agent-2
TASK [debug] *****************************************************************************************************************
ok: [server-0] => {
"msg": "Starting server-0"
}
ok: [server-1] => {
"msg": "Starting server-1"
}
ok: [server-2] => {
"msg": "Starting server-2"
}
ok: [agent-0] => {
"msg": "Starting agent-0"
}
ok: [agent-1] => {
"msg": "Starting agent-1"
}
ok: [agent-2] => {
"msg": "Starting agent-2"
}
TASK [wait_for] **************************************************************************************************************
ok: [server-0 -> localhost]
ok: [agent-0 -> localhost]
ok: [agent-1 -> localhost]
ok: [server-2 -> localhost]
ok: [server-1 -> localhost]
ok: [agent-2 -> localhost]
TASK [debug] *****************************************************************************************************************
ok: [server-0] => {
"msg": "Ending server-0"
}
ok: [server-1] => {
"msg": "Ending server-1"
}
ok: [server-2] => {
"msg": "Ending server-2"
}
ok: [agent-0] => {
"msg": "Ending agent-0"
}
ok: [agent-1] => {
"msg": "Ending agent-1"
}
ok: [agent-2] => {
"msg": "Ending agent-2"
}
PLAY RECAP *******************************************************************************************************************
agent-0 : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
agent-1 : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
agent-2 : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
server-0 : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
server-1 : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
server-2 : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment