╭────────────────────────────────── Workflow Execution Overview ───────────────────────────────────╮
│  Workflow Name     Test 14: Variable Scoping Edge Cases                                          │
│  Description       Tests edge cases for variable scoping and precedence conflicts                │
│  Dry Run           No                                                                            │
│  Hosts Count       4                                                                             │
│  Failure Strategy  skip-failed                                                                   │
│                                                                                                  │
│                                                                                                  │
│  Assembly-Time Variables                                                                         │
│    Source  Name                  Value                                                 Type      │
│    w       123numeric_start      numeric_start_value                                   str       │
│    e       blueprint_name        greet                                                 str       │
│    w       config                {'nested': {'deep': {'value': 'deep_nested_value'}}}  map       │
│    w       hostname              workflow_hostname_var                                 str       │
│    w       name                  workflow_name_var                                     str       │
│    w       platform              workflow_platform_var                                 str       │
│    w       var-with-dashes       dash_value                                            str       │
│    w       var_with_underscores  underscore_value                                      str       │
│                                                                          Sources                 │
│                                                                          e: environment variable │
│                                                                          w: defined in workflow  │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯

Execution started at: 17:13:14.411

Running task: echo
--------------------------------------------------------------------------------
Task: echo | Host: leaf1 | Hostname: 172.29.163.103 | Status: Success
17:13:14.414 - 17:13:14.415 (1ms)

Output:
=== Namespace Conflict Tests ===

Default namespace (workflow vars):
- name: workflow_name_var
- platform: workflow_platform_var
- hostname: workflow_hostname_var

Host namespace (inventory data):
- host.name: leaf1
- host.platform: arista_eos
- host.hostname: 172.29.163.103
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: leaf2 | Hostname: 172.29.163.104 | Status: Success
17:13:14.415 - 17:13:14.416 (1ms)

Output:
=== Namespace Conflict Tests ===

Default namespace (workflow vars):
- name: workflow_name_var
- platform: workflow_platform_var
- hostname: workflow_hostname_var

Host namespace (inventory data):
- host.name: leaf2
- host.platform: arista_eos
- host.hostname: 172.29.163.104
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine1 | Hostname: 172.29.163.101 | Status: Success
17:13:14.415 - 17:13:14.416 (1ms)

Output:
=== Namespace Conflict Tests ===

Default namespace (workflow vars):
- name: workflow_name_var
- platform: workflow_platform_var
- hostname: workflow_hostname_var

Host namespace (inventory data):
- host.name: spine1
- host.platform: arista_eos
- host.hostname: 172.29.163.101
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine2 | Hostname: 172.29.163.102 | Status: Success
17:13:14.416 - 17:13:14.416 (0ms)

Output:
=== Namespace Conflict Tests ===

Default namespace (workflow vars):
- name: workflow_name_var
- platform: workflow_platform_var
- hostname: workflow_hostname_var

Host namespace (inventory data):
- host.name: spine2
- host.platform: arista_eos
- host.hostname: 172.29.163.102
--------------------------------------------------------------------------------

Running task: echo
--------------------------------------------------------------------------------
Task: echo | Host: leaf1 | Hostname: 172.29.163.103 | Status: Success
17:13:14.417 - 17:13:14.417 (0ms)

Output:
=== Nested Data Access ===
- config.nested.deep.value: deep_nested_value
- Alternative syntax: deep_nested_value
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: leaf2 | Hostname: 172.29.163.104 | Status: Success
17:13:14.418 - 17:13:14.418 (0ms)

Output:
=== Nested Data Access ===
- config.nested.deep.value: deep_nested_value
- Alternative syntax: deep_nested_value
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine1 | Hostname: 172.29.163.101 | Status: Success
17:13:14.418 - 17:13:14.418 (0ms)

Output:
=== Nested Data Access ===
- config.nested.deep.value: deep_nested_value
- Alternative syntax: deep_nested_value
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine2 | Hostname: 172.29.163.102 | Status: Success
17:13:14.418 - 17:13:14.418 (0ms)

Output:
=== Nested Data Access ===
- config.nested.deep.value: deep_nested_value
- Alternative syntax: deep_nested_value
--------------------------------------------------------------------------------

Running task: echo
--------------------------------------------------------------------------------
Task: echo | Host: leaf1 | Hostname: 172.29.163.103 | Status: Success
17:13:14.419 - 17:13:14.419 (0ms)

Output:
=== Special Character Variables ===
# Note: Variables with dashes or starting with numbers cannot be 
# directly accessed in Jinja2 templates due to Python identifier rules
# Only showing variables with valid identifiers:
- var_with_underscores: underscore_value
# var-with-dashes and 123numeric_start are defined but not accessible in templates
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: leaf2 | Hostname: 172.29.163.104 | Status: Success
17:13:14.419 - 17:13:14.419 (0ms)

Output:
=== Special Character Variables ===
# Note: Variables with dashes or starting with numbers cannot be 
# directly accessed in Jinja2 templates due to Python identifier rules
# Only showing variables with valid identifiers:
- var_with_underscores: underscore_value
# var-with-dashes and 123numeric_start are defined but not accessible in templates
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine1 | Hostname: 172.29.163.101 | Status: Success
17:13:14.419 - 17:13:14.419 (0ms)

Output:
=== Special Character Variables ===
# Note: Variables with dashes or starting with numbers cannot be 
# directly accessed in Jinja2 templates due to Python identifier rules
# Only showing variables with valid identifiers:
- var_with_underscores: underscore_value
# var-with-dashes and 123numeric_start are defined but not accessible in templates
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine2 | Hostname: 172.29.163.102 | Status: Success
17:13:14.419 - 17:13:14.419 (0ms)

Output:
=== Special Character Variables ===
# Note: Variables with dashes or starting with numbers cannot be 
# directly accessed in Jinja2 templates due to Python identifier rules
# Only showing variables with valid identifiers:
- var_with_underscores: underscore_value
# var-with-dashes and 123numeric_start are defined but not accessible in templates
--------------------------------------------------------------------------------

Running task: set
--------------------------------------------------------------------------------
Task: set | Host: leaf1 | Hostname: 172.29.163.103 | Status: Success
17:13:14.420 - 17:13:14.420 (0ms)

Output:
Set 1 variable(s) for host 'leaf1':
  • config = {
  "nested": {
    "deep": {
      "value": "runtime_deep_override"
    },
    "new_key": "runtime_added"
  }
}
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: leaf2 | Hostname: 172.29.163.104 | Status: Success
17:13:14.420 - 17:13:14.420 (0ms)

Output:
Set 1 variable(s) for host 'leaf2':
  • config = {
  "nested": {
    "deep": {
      "value": "runtime_deep_override"
    },
    "new_key": "runtime_added"
  }
}
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: spine1 | Hostname: 172.29.163.101 | Status: Success
17:13:14.420 - 17:13:14.420 (0ms)

Output:
Set 1 variable(s) for host 'spine1':
  • config = {
  "nested": {
    "deep": {
      "value": "runtime_deep_override"
    },
    "new_key": "runtime_added"
  }
}
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: spine2 | Hostname: 172.29.163.102 | Status: Success
17:13:14.420 - 17:13:14.420 (0ms)

Output:
Set 1 variable(s) for host 'spine2':
  • config = {
  "nested": {
    "deep": {
      "value": "runtime_deep_override"
    },
    "new_key": "runtime_added"
  }
}
--------------------------------------------------------------------------------

Running task: echo
--------------------------------------------------------------------------------
Task: echo | Host: leaf1 | Hostname: 172.29.163.103 | Status: Success
17:13:14.421 - 17:13:14.421 (0ms)

Output:
=== After Runtime Override ===
- name (should be runtime): workflow_name_var
- config.nested.deep.value (should be runtime): runtime_deep_override
- config.nested.new_key (runtime added): runtime_added
- host.name (should be unchanged): leaf1
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: leaf2 | Hostname: 172.29.163.104 | Status: Success
17:13:14.421 - 17:13:14.422 (0ms)

Output:
=== After Runtime Override ===
- name (should be runtime): workflow_name_var
- config.nested.deep.value (should be runtime): runtime_deep_override
- config.nested.new_key (runtime added): runtime_added
- host.name (should be unchanged): leaf2
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine1 | Hostname: 172.29.163.101 | Status: Success
17:13:14.421 - 17:13:14.422 (0ms)

Output:
=== After Runtime Override ===
- name (should be runtime): workflow_name_var
- config.nested.deep.value (should be runtime): runtime_deep_override
- config.nested.new_key (runtime added): runtime_added
- host.name (should be unchanged): spine1
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine2 | Hostname: 172.29.163.102 | Status: Success
17:13:14.422 - 17:13:14.422 (0ms)

Output:
=== After Runtime Override ===
- name (should be runtime): workflow_name_var
- config.nested.deep.value (should be runtime): runtime_deep_override
- config.nested.new_key (runtime added): runtime_added
- host.name (should be unchanged): spine2
--------------------------------------------------------------------------------

Running task: set
--------------------------------------------------------------------------------
Task: set | Host: leaf1 | Hostname: 172.29.163.103 | Status: Success
17:13:14.422 - 17:13:14.422 (0ms)

Output:
Set 1 variable(s) for host 'leaf1':
  • task_sequence = "task_1"
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: leaf2 | Hostname: 172.29.163.104 | Status: Success
17:13:14.422 - 17:13:14.423 (0ms)

Output:
Set 1 variable(s) for host 'leaf2':
  • task_sequence = "task_1"
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: spine1 | Hostname: 172.29.163.101 | Status: Success
17:13:14.423 - 17:13:14.423 (0ms)

Output:
Set 1 variable(s) for host 'spine1':
  • task_sequence = "task_1"
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: spine2 | Hostname: 172.29.163.102 | Status: Success
17:13:14.423 - 17:13:14.423 (0ms)

Output:
Set 1 variable(s) for host 'spine2':
  • task_sequence = "task_1"
--------------------------------------------------------------------------------

Running task: echo
--------------------------------------------------------------------------------
Task: echo | Host: leaf1 | Hostname: 172.29.163.103 | Status: Success
17:13:14.423 - 17:13:14.423 (0ms)

Output:
Task sequence step: task_1
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: leaf2 | Hostname: 172.29.163.104 | Status: Success
17:13:14.424 - 17:13:14.424 (0ms)

Output:
Task sequence step: task_1
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine1 | Hostname: 172.29.163.101 | Status: Success
17:13:14.424 - 17:13:14.424 (0ms)

Output:
Task sequence step: task_1
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine2 | Hostname: 172.29.163.102 | Status: Success
17:13:14.424 - 17:13:14.424 (0ms)

Output:
Task sequence step: task_1
--------------------------------------------------------------------------------

Running task: set
--------------------------------------------------------------------------------
Task: set | Host: leaf1 | Hostname: 172.29.163.103 | Status: Success
17:13:14.425 - 17:13:14.425 (0ms)

Output:
Set 2 variable(s) for host 'leaf1':
  • task_sequence = "task_2"
  • previous_value = "task_1"
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: leaf2 | Hostname: 172.29.163.104 | Status: Success
17:13:14.425 - 17:13:14.425 (0ms)

Output:
Set 2 variable(s) for host 'leaf2':
  • task_sequence = "task_2"
  • previous_value = "task_1"
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: spine1 | Hostname: 172.29.163.101 | Status: Success
17:13:14.425 - 17:13:14.425 (0ms)

Output:
Set 2 variable(s) for host 'spine1':
  • task_sequence = "task_2"
  • previous_value = "task_1"
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: spine2 | Hostname: 172.29.163.102 | Status: Success
17:13:14.425 - 17:13:14.425 (0ms)

Output:
Set 2 variable(s) for host 'spine2':
  • task_sequence = "task_2"
  • previous_value = "task_1"
--------------------------------------------------------------------------------

Running task: echo
--------------------------------------------------------------------------------
Task: echo | Host: leaf1 | Hostname: 172.29.163.103 | Status: Success
17:13:14.426 - 17:13:14.426 (0ms)

Output:
=== Variable Persistence Test ===
- Current task_sequence: task_2
- Previous value captured: task_1
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: leaf2 | Hostname: 172.29.163.104 | Status: Success
17:13:14.426 - 17:13:14.426 (0ms)

Output:
=== Variable Persistence Test ===
- Current task_sequence: task_2
- Previous value captured: task_1
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine1 | Hostname: 172.29.163.101 | Status: Success
17:13:14.426 - 17:13:14.426 (0ms)

Output:
=== Variable Persistence Test ===
- Current task_sequence: task_2
- Previous value captured: task_1
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine2 | Hostname: 172.29.163.102 | Status: Success
17:13:14.426 - 17:13:14.427 (0ms)

Output:
=== Variable Persistence Test ===
- Current task_sequence: task_2
- Previous value captured: task_1
--------------------------------------------------------------------------------

Running task: set
--------------------------------------------------------------------------------
Task: set | Host: leaf1 | Hostname: 172.29.163.103 | Status: Success
17:13:14.427 - 17:13:14.427 (0ms)

Output:
Set 3 variable(s) for host 'leaf1':
  • empty_string = ""
  • zero_value = 0
  • false_value = False
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: leaf2 | Hostname: 172.29.163.104 | Status: Success
17:13:14.427 - 17:13:14.427 (0ms)

Output:
Set 3 variable(s) for host 'leaf2':
  • empty_string = ""
  • zero_value = 0
  • false_value = False
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: spine1 | Hostname: 172.29.163.101 | Status: Success
17:13:14.427 - 17:13:14.428 (0ms)

Output:
Set 3 variable(s) for host 'spine1':
  • empty_string = ""
  • zero_value = 0
  • false_value = False
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: set | Host: spine2 | Hostname: 172.29.163.102 | Status: Success
17:13:14.427 - 17:13:14.428 (0ms)

Output:
Set 3 variable(s) for host 'spine2':
  • empty_string = ""
  • zero_value = 0
  • false_value = False
--------------------------------------------------------------------------------

Running task: echo
--------------------------------------------------------------------------------
Task: echo | Host: leaf1 | Hostname: 172.29.163.103 | Status: Success
17:13:14.429 - 17:13:14.429 (0ms)

Output:
=== Empty/Null/False Handling ===
- Empty string: ""
- Empty with default: 
- Zero value: 0
- Zero with default: 0
- False value: False
- False with default: False
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: leaf2 | Hostname: 172.29.163.104 | Status: Success
17:13:14.429 - 17:13:14.429 (0ms)

Output:
=== Empty/Null/False Handling ===
- Empty string: ""
- Empty with default: 
- Zero value: 0
- Zero with default: 0
- False value: False
- False with default: False
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine1 | Hostname: 172.29.163.101 | Status: Success
17:13:14.429 - 17:13:14.429 (0ms)

Output:
=== Empty/Null/False Handling ===
- Empty string: ""
- Empty with default: 
- Zero value: 0
- Zero with default: 0
- False value: False
- False with default: False
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Task: echo | Host: spine2 | Hostname: 172.29.163.102 | Status: Success
17:13:14.429 - 17:13:14.429 (0ms)

Output:
=== Empty/Null/False Handling ===
- Empty string: ""
- Empty with default: 
- Zero value: 0
- Zero with default: 0
- False value: False
- False with default: False
--------------------------------------------------------------------------------



━━━ EXECUTION SUMMARY ━━━

Time Statistics:
  Started at:  17:13:14.411
  Finished at: 17:13:14.430
  Duration:    19ms (0.02 seconds)

Task Statistics:
  Unique Tasks:    11
  Task Executions: 44

Execution Results:
  Successful:  44 (100.0%)
  Failed:      0 (0.0%)

                                          

