summaryrefslogtreecommitdiff
path: root/tests/fixtures/config/remote-zuul-stream/git/org_project/playbooks/command.yaml
blob: ec84cf7841e971167f13ba70e0e2367670ada283 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
- hosts: localhost
  tasks:
    - debug:
        msg: Ansible version={{ ansible_version.major }}.{{ ansible_version.minor }}

- hosts: all
  tasks:
    # Create unwritable /tmp/console-None.log
    # This ensures that no further task can write to it without failing.
    # A task trying to write to /tmp/console-None.log is considered broken
    # because zuul_log_id is missing.
    - name: Create unwritable /tmp/console-None.log
      file:
        path: /tmp/console-None.log
        state: touch
        mode: 0444
      run_once: True

    - name: Start zuul_console daemon
      zuul_console:
        port: "{{ test_console_port }}"

    - name: Create first file
      copy:
        content: "command test one\n"
        dest: "{{ ansible_user_dir }}/command_test_file1"
    - name: Create second file
      copy:
        content: "command test two\n"
        dest: "{{ ansible_user_dir }}/command_test_file2"
    - name: Show contents of first file
      command: "cat {{ ansible_user_dir }}/command_test_file1"
    - name: Show contents of second file
      # We use a sleep here to ensure that we log even after
      # a period of no logging.
      shell: "sleep 6 && cat {{ ansible_user_dir }}/command_test_file2"

    # Test a task with a handler
    - name: Run a command with notifying a handler
      command: /bin/true
      notify: test handler

    # Test cleanup task
    - name: Block with cleanup
      block:
        - name: Run a command
          command: /bin/false
      rescue:
        - name: Rescue task
          command: echo "This is a rescue task"
      always:
        - name: Always task
          command: echo "This is an always task"

  handlers:
    - name: test handler
      command: echo "This is a handler"

- hosts: all
  strategy: free
  tasks:
    - name: Command task 1 within free strategy
      command: echo "First free task"
    - name: Command task 2 within free strategy
      command: echo "Second free task"

# Test a role that has an include_role
- hosts: all
  strategy: linear
  roles:
    - include-a-role

- hosts: compute1
  tasks:
    - name: Single command
      command: "echo single"
    # Test commands within loops
    - name: Command with loop
      shell: |
        echo {{ item }}
      with_items:
        - item_in_loop1
        - item_in_loop2
    - name: Failing command with loop
      shell: |
        echo {{ item }}
        exit 1
      with_items:
        - failed_in_loop1
        - failed_in_loop2
      ignore_errors: True

- hosts: all
  tasks:
    - name: Remote shell task with python exception
      command: echo foo
      args:
        chdir: /remote-shelltask/somewhere/that/does/not/exist
      failed_when: false

- hosts: localhost
  tasks:
    - name: Local shell task with python exception
      command: echo foo
      args:
        chdir: /local-shelltask/somewhere/that/does/not/exist
      failed_when: false