mirror of https://github.com/ansible/ansible.git
Remove legacy `test/samples` directory.
parent
580401c02b
commit
8e951b9f98
@ -1 +0,0 @@
|
||||
This is a small set of samples used for testing the v2 code.
|
@ -1 +0,0 @@
|
||||
- debug: msg="this is the common include"
|
@ -1 +0,0 @@
|
||||
testing ansible_connection=local ansible_ssh_host=192.168.122.100 ansible_ssh_user=testing
|
@ -1,9 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- fail:
|
||||
ignore_errors: yes
|
||||
- debug: msg="you should still see this"
|
||||
- fail:
|
||||
- debug: msg="you should NOT see this"
|
@ -1,5 +0,0 @@
|
||||
- debug: msg="this is the include, a=={{a}}"
|
||||
tags:
|
||||
- included
|
||||
#- debug: msg="this is the second debug in the include"
|
||||
- debug: msg="this is the third debug in the include, and a is still {{a}}"
|
@ -1,6 +0,0 @@
|
||||
- hosts: localhost
|
||||
gather_facts: no
|
||||
tags:
|
||||
- included
|
||||
tasks:
|
||||
- debug: msg="incuded playbook, variable is {{a}}"
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,254 +0,0 @@
|
||||
127.0.0.1
|
||||
127.0.0.2
|
||||
127.0.0.3
|
||||
127.0.0.4
|
||||
127.0.0.5
|
||||
127.0.0.6
|
||||
127.0.0.7
|
||||
127.0.0.8
|
||||
127.0.0.9
|
||||
127.0.0.10
|
||||
127.0.0.11
|
||||
127.0.0.12
|
||||
127.0.0.13
|
||||
127.0.0.14
|
||||
127.0.0.15
|
||||
127.0.0.16
|
||||
127.0.0.17
|
||||
127.0.0.18
|
||||
127.0.0.19
|
||||
127.0.0.20
|
||||
127.0.0.21
|
||||
127.0.0.22
|
||||
127.0.0.23
|
||||
127.0.0.24
|
||||
127.0.0.25
|
||||
127.0.0.26
|
||||
127.0.0.27
|
||||
127.0.0.28
|
||||
127.0.0.29
|
||||
127.0.0.30
|
||||
127.0.0.31
|
||||
127.0.0.32
|
||||
127.0.0.33
|
||||
127.0.0.34
|
||||
127.0.0.35
|
||||
127.0.0.36
|
||||
127.0.0.37
|
||||
127.0.0.38
|
||||
127.0.0.39
|
||||
127.0.0.40
|
||||
127.0.0.41
|
||||
127.0.0.42
|
||||
127.0.0.43
|
||||
127.0.0.44
|
||||
127.0.0.45
|
||||
127.0.0.46
|
||||
127.0.0.47
|
||||
127.0.0.48
|
||||
127.0.0.49
|
||||
127.0.0.50
|
||||
127.0.0.51
|
||||
127.0.0.52
|
||||
127.0.0.53
|
||||
127.0.0.54
|
||||
127.0.0.55
|
||||
127.0.0.56
|
||||
127.0.0.57
|
||||
127.0.0.58
|
||||
127.0.0.59
|
||||
127.0.0.60
|
||||
127.0.0.61
|
||||
127.0.0.62
|
||||
127.0.0.63
|
||||
127.0.0.64
|
||||
127.0.0.65
|
||||
127.0.0.66
|
||||
127.0.0.67
|
||||
127.0.0.68
|
||||
127.0.0.69
|
||||
127.0.0.70
|
||||
127.0.0.71
|
||||
127.0.0.72
|
||||
127.0.0.73
|
||||
127.0.0.74
|
||||
127.0.0.75
|
||||
127.0.0.76
|
||||
127.0.0.77
|
||||
127.0.0.78
|
||||
127.0.0.79
|
||||
127.0.0.80
|
||||
127.0.0.81
|
||||
127.0.0.82
|
||||
127.0.0.83
|
||||
127.0.0.84
|
||||
127.0.0.85
|
||||
127.0.0.86
|
||||
127.0.0.87
|
||||
127.0.0.88
|
||||
127.0.0.89
|
||||
127.0.0.90
|
||||
127.0.0.91
|
||||
127.0.0.92
|
||||
127.0.0.93
|
||||
127.0.0.94
|
||||
127.0.0.95
|
||||
127.0.0.96
|
||||
127.0.0.97
|
||||
127.0.0.98
|
||||
127.0.0.99
|
||||
127.0.0.100
|
||||
127.0.0.101
|
||||
127.0.0.102
|
||||
127.0.0.103
|
||||
127.0.0.104
|
||||
127.0.0.105
|
||||
127.0.0.106
|
||||
127.0.0.107
|
||||
127.0.0.108
|
||||
127.0.0.109
|
||||
127.0.0.110
|
||||
127.0.0.111
|
||||
127.0.0.112
|
||||
127.0.0.113
|
||||
127.0.0.114
|
||||
127.0.0.115
|
||||
127.0.0.116
|
||||
127.0.0.117
|
||||
127.0.0.118
|
||||
127.0.0.119
|
||||
127.0.0.120
|
||||
127.0.0.121
|
||||
127.0.0.122
|
||||
127.0.0.123
|
||||
127.0.0.124
|
||||
127.0.0.125
|
||||
127.0.0.126
|
||||
127.0.0.127
|
||||
127.0.0.128
|
||||
127.0.0.129
|
||||
127.0.0.130
|
||||
127.0.0.131
|
||||
127.0.0.132
|
||||
127.0.0.133
|
||||
127.0.0.134
|
||||
127.0.0.135
|
||||
127.0.0.136
|
||||
127.0.0.137
|
||||
127.0.0.138
|
||||
127.0.0.139
|
||||
127.0.0.140
|
||||
127.0.0.141
|
||||
127.0.0.142
|
||||
127.0.0.143
|
||||
127.0.0.144
|
||||
127.0.0.145
|
||||
127.0.0.146
|
||||
127.0.0.147
|
||||
127.0.0.148
|
||||
127.0.0.149
|
||||
127.0.0.150
|
||||
127.0.0.151
|
||||
127.0.0.152
|
||||
127.0.0.153
|
||||
127.0.0.154
|
||||
127.0.0.155
|
||||
127.0.0.156
|
||||
127.0.0.157
|
||||
127.0.0.158
|
||||
127.0.0.159
|
||||
127.0.0.160
|
||||
127.0.0.161
|
||||
127.0.0.162
|
||||
127.0.0.163
|
||||
127.0.0.164
|
||||
127.0.0.165
|
||||
127.0.0.166
|
||||
127.0.0.167
|
||||
127.0.0.168
|
||||
127.0.0.169
|
||||
127.0.0.170
|
||||
127.0.0.171
|
||||
127.0.0.172
|
||||
127.0.0.173
|
||||
127.0.0.174
|
||||
127.0.0.175
|
||||
127.0.0.176
|
||||
127.0.0.177
|
||||
127.0.0.178
|
||||
127.0.0.179
|
||||
127.0.0.180
|
||||
127.0.0.181
|
||||
127.0.0.182
|
||||
127.0.0.183
|
||||
127.0.0.184
|
||||
127.0.0.185
|
||||
127.0.0.186
|
||||
127.0.0.187
|
||||
127.0.0.188
|
||||
127.0.0.189
|
||||
127.0.0.190
|
||||
127.0.0.191
|
||||
127.0.0.192
|
||||
127.0.0.193
|
||||
127.0.0.194
|
||||
127.0.0.195
|
||||
127.0.0.196
|
||||
127.0.0.197
|
||||
127.0.0.198
|
||||
127.0.0.199
|
||||
127.0.0.200
|
||||
127.0.0.201
|
||||
127.0.0.202
|
||||
127.0.0.203
|
||||
127.0.0.204
|
||||
127.0.0.205
|
||||
127.0.0.206
|
||||
127.0.0.207
|
||||
127.0.0.208
|
||||
127.0.0.209
|
||||
127.0.0.210
|
||||
127.0.0.211
|
||||
127.0.0.212
|
||||
127.0.0.213
|
||||
127.0.0.214
|
||||
127.0.0.215
|
||||
127.0.0.216
|
||||
127.0.0.217
|
||||
127.0.0.218
|
||||
127.0.0.219
|
||||
127.0.0.220
|
||||
127.0.0.221
|
||||
127.0.0.222
|
||||
127.0.0.223
|
||||
127.0.0.224
|
||||
127.0.0.225
|
||||
127.0.0.226
|
||||
127.0.0.227
|
||||
127.0.0.228
|
||||
127.0.0.229
|
||||
127.0.0.230
|
||||
127.0.0.231
|
||||
127.0.0.232
|
||||
127.0.0.233
|
||||
127.0.0.234
|
||||
127.0.0.235
|
||||
127.0.0.236
|
||||
127.0.0.237
|
||||
127.0.0.238
|
||||
127.0.0.239
|
||||
127.0.0.240
|
||||
127.0.0.241
|
||||
127.0.0.242
|
||||
127.0.0.243
|
||||
127.0.0.244
|
||||
127.0.0.245
|
||||
127.0.0.246
|
||||
127.0.0.247
|
||||
127.0.0.248
|
||||
127.0.0.249
|
||||
127.0.0.250
|
||||
127.0.0.251
|
||||
127.0.0.252
|
||||
127.0.0.253
|
||||
127.0.0.254
|
@ -1,2 +0,0 @@
|
||||
- debug: msg="this is the l1 include"
|
||||
- include: common_include.yml
|
@ -1,3 +0,0 @@
|
||||
- debug: msg="this is the l2 include"
|
||||
- debug: msg="a second task for l2"
|
||||
- include: common_include.yml
|
@ -1,4 +0,0 @@
|
||||
- debug: msg="this is the l3 include"
|
||||
- debug: msg="a second task for l3"
|
||||
- debug: msg="a third task for l3"
|
||||
- include: common_include.yml
|
@ -1,2 +0,0 @@
|
||||
- debug: msg="this is the localhost include"
|
||||
- include: common_include.yml
|
@ -1,3 +0,0 @@
|
||||
l1 ansible_ssh_host=127.0.0.1
|
||||
l2 ansible_ssh_host=127.0.0.2
|
||||
l3 ansible_ssh_host=127.0.0.3
|
@ -1,5 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- debug: msg="the pubkey is {{lookup('file', '~/.ssh/id_rsa.pub')}}"
|
@ -1,7 +0,0 @@
|
||||
- hosts: localhost
|
||||
gather_facts: no
|
||||
#vars:
|
||||
# my_password: "{{ lookup('password', '/tmp/test_lookup_password length=15') }}"
|
||||
tasks:
|
||||
#- debug: msg="the password is {{my_password}}"
|
||||
- debug: msg="the password is {{ lookup('password', '/tmp/test_lookup_password length=15') }}"
|
@ -1,4 +0,0 @@
|
||||
- hosts: localhost
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- debug: msg="the date is {{ lookup('pipe', 'date') }}"
|
@ -1,6 +0,0 @@
|
||||
- hosts: localhost
|
||||
gather_facts: no
|
||||
vars:
|
||||
my_var: "Bazinga!"
|
||||
tasks:
|
||||
- debug: msg="the rendered template is {{ lookup('template', 'template.j2') }}"
|
@ -1,163 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import time
|
||||
import Queue
|
||||
import traceback
|
||||
from multiprocessing import Process, Manager, Pipe, RLock
|
||||
|
||||
from ansible.playbook.play import Play
|
||||
from ansible.playbook.task import Task
|
||||
|
||||
from ansible.utils.display import Display
|
||||
display = Display()
|
||||
debug = display.debug
|
||||
|
||||
NUM_WORKERS = 50
|
||||
NUM_HOSTS = 2500
|
||||
NUM_TASKS = 1
|
||||
|
||||
class Foo:
|
||||
def __init__(self, i, j):
|
||||
self._foo = "FOO_%05d_%05d" % (i, j)
|
||||
|
||||
def __repr__(self):
|
||||
return self._foo
|
||||
|
||||
def __getstate__(self):
|
||||
debug("pickling %s" % self._foo)
|
||||
return dict(foo=self._foo)
|
||||
|
||||
def __setstate__(self, data):
|
||||
debug("unpickling...")
|
||||
self._foo = data.get('foo', "BAD PICKLE!")
|
||||
debug("unpickled %s" % self._foo)
|
||||
|
||||
def results(pipe, workers):
|
||||
cur_worker = 0
|
||||
def _read_worker_result(cur_worker):
|
||||
result = None
|
||||
starting_point = cur_worker
|
||||
while True:
|
||||
(worker_prc, main_pipe, res_pipe) = workers[cur_worker]
|
||||
cur_worker += 1
|
||||
if cur_worker >= len(workers):
|
||||
cur_worker = 0
|
||||
|
||||
if res_pipe[1].poll(0.01):
|
||||
debug("worker %d has data to read" % cur_worker)
|
||||
result = res_pipe[1].recv()
|
||||
debug("got a result from worker %d: %s" % (cur_worker, result))
|
||||
break
|
||||
|
||||
if cur_worker == starting_point:
|
||||
break
|
||||
|
||||
return (result, cur_worker)
|
||||
|
||||
while True:
|
||||
result = None
|
||||
try:
|
||||
(result, cur_worker) = _read_worker_result(cur_worker)
|
||||
if result is None:
|
||||
time.sleep(0.01)
|
||||
continue
|
||||
pipe.send(result)
|
||||
except (IOError, EOFError, KeyboardInterrupt) as e:
|
||||
debug("got a breaking error: %s" % e)
|
||||
break
|
||||
except Exception as e:
|
||||
debug("EXCEPTION DURING RESULTS PROCESSING: %s" % e)
|
||||
traceback.print_exc()
|
||||
break
|
||||
|
||||
def worker(main_pipe, res_pipe):
|
||||
while True:
|
||||
foo = None
|
||||
try:
|
||||
if main_pipe.poll(0.01):
|
||||
foo = main_pipe.recv()
|
||||
time.sleep(0.07)
|
||||
res_pipe.send(foo)
|
||||
else:
|
||||
time.sleep(0.01)
|
||||
except (IOError, EOFError, KeyboardInterrupt), e:
|
||||
debug("got a breaking error: %s" % e)
|
||||
break
|
||||
except Exception, e:
|
||||
debug("EXCEPTION DURING WORKER PROCESSING: %s" % e)
|
||||
traceback.print_exc()
|
||||
break
|
||||
|
||||
workers = []
|
||||
for i in range(NUM_WORKERS):
|
||||
(main_p1, main_p2) = Pipe()
|
||||
(res_p1, res_p2) = Pipe()
|
||||
worker_p = Process(target=worker, args=(main_p2, res_p1))
|
||||
worker_p.start()
|
||||
workers.append((worker_p, (main_p1, main_p2), (res_p1, res_p2)))
|
||||
|
||||
in_p, out_p = Pipe()
|
||||
res_p = Process(target=results, args=(in_p, workers))
|
||||
res_p.start()
|
||||
|
||||
def send_data(obj):
|
||||
global cur_worker
|
||||
global workers
|
||||
global pending_results
|
||||
|
||||
(w_proc, main_pipe, res_pipe) = workers[cur_worker]
|
||||
cur_worker += 1
|
||||
if cur_worker >= len(workers):
|
||||
cur_worker = 0
|
||||
|
||||
pending_results += 1
|
||||
main_pipe[0].send(obj)
|
||||
|
||||
def _process_pending_results():
|
||||
global out_p
|
||||
global pending_results
|
||||
|
||||
try:
|
||||
#p_lock.acquire()
|
||||
while out_p.poll(0.01):
|
||||
result = out_p.recv()
|
||||
debug("got final result: %s" % (result,))
|
||||
pending_results -= 1
|
||||
finally:
|
||||
#p_lock.release()
|
||||
pass
|
||||
|
||||
def _wait_on_pending_results():
|
||||
global pending_results
|
||||
while pending_results > 0:
|
||||
debug("waiting for pending results (%d left)" % pending_results)
|
||||
_process_pending_results()
|
||||
time.sleep(0.01)
|
||||
|
||||
|
||||
debug("starting")
|
||||
cur_worker = 0
|
||||
pending_results = 0
|
||||
|
||||
sample_play = Play()
|
||||
for i in range(NUM_TASKS):
|
||||
for j in range(NUM_HOSTS):
|
||||
debug("queuing %d, %d" % (i, j))
|
||||
send_data(Task().load(dict(name="task %d %d" % (i,j), ping=""), sample_play))
|
||||
debug("done queuing %d, %d" % (i, j))
|
||||
_process_pending_results()
|
||||
debug("waiting for the results to drain...")
|
||||
_wait_on_pending_results()
|
||||
|
||||
in_p.close()
|
||||
out_p.close()
|
||||
res_p.terminate()
|
||||
|
||||
for (w_p, main_pipe, res_pipe) in workers:
|
||||
res_pipe[1].close()
|
||||
res_pipe[0].close()
|
||||
main_pipe[1].close()
|
||||
main_pipe[0].close()
|
||||
w_p.terminate()
|
||||
|
||||
debug("done")
|
@ -1,177 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
import time
|
||||
import Queue
|
||||
import traceback
|
||||
import multiprocessing
|
||||
|
||||
from ansible.inventory import Inventory
|
||||
from ansible.inventory.host import Host
|
||||
from ansible.playbook.play import Play
|
||||
from ansible.playbook.play_context import PlayContext
|
||||
from ansible.playbook.task import Task
|
||||
from ansible.executor.task_executor import TaskExecutor
|
||||
from ansible.executor.task_result import TaskResult
|
||||
from ansible.parsing.dataloader import DataLoader
|
||||
from ansible.vars import VariableManager
|
||||
|
||||
from ansible.utils.display import Display
|
||||
display = Display()
|
||||
debug = display.debug
|
||||
|
||||
NUM_WORKERS = 20
|
||||
NUM_HOSTS = 1778
|
||||
NUM_TASKS = 1
|
||||
|
||||
def results(final_q, workers):
|
||||
cur_worker = 0
|
||||
def _read_worker_result(cur_worker):
|
||||
result = None
|
||||
starting_point = cur_worker
|
||||
while True:
|
||||
(worker_prc, main_q, res_q) = workers[cur_worker]
|
||||
cur_worker += 1
|
||||
if cur_worker >= len(workers):
|
||||
cur_worker = 0
|
||||
|
||||
try:
|
||||
if not res_q.empty():
|
||||
debug("worker %d has data to read" % cur_worker)
|
||||
result = res_q.get()
|
||||
debug("got a result from worker %d: %s" % (cur_worker, result))
|
||||
break
|
||||
except:
|
||||
pass
|
||||
|
||||
if cur_worker == starting_point:
|
||||
break
|
||||
|
||||
return (result, cur_worker)
|
||||
|
||||
while True:
|
||||
result = None
|
||||
try:
|
||||
(result, cur_worker) = _read_worker_result(cur_worker)
|
||||
if result is None:
|
||||
time.sleep(0.01)
|
||||
continue
|
||||
final_q.put(result, block=False)
|
||||
except (IOError, EOFError, KeyboardInterrupt) as e:
|
||||
debug("got a breaking error: %s" % e)
|
||||
break
|
||||
except Exception as e:
|
||||
debug("EXCEPTION DURING RESULTS PROCESSING: %s" % e)
|
||||
traceback.print_exc()
|
||||
break
|
||||
|
||||
def worker(main_q, res_q, loader):
|
||||
while True:
|
||||
task = None
|
||||
try:
|
||||
if not main_q.empty():
|
||||
(host, task, task_vars, conn_info) = main_q.get(block=False)
|
||||
executor_result = TaskExecutor(host, task, task_vars, conn_info, loader).run()
|
||||
debug("executor result: %s" % executor_result)
|
||||
task_result = TaskResult(host, task, executor_result)
|
||||
res_q.put(task_result)
|
||||
else:
|
||||
time.sleep(0.01)
|
||||
except Queue.Empty:
|
||||
pass
|
||||
except (IOError, EOFError, KeyboardInterrupt) as e:
|
||||
debug("got a breaking error: %s" % e)
|
||||
break
|
||||
except Exception as e:
|
||||
debug("EXCEPTION DURING WORKER PROCESSING: %s" % e)
|
||||
traceback.print_exc()
|
||||
break
|
||||
|
||||
loader = DataLoader()
|
||||
|
||||
workers = []
|
||||
for i in range(NUM_WORKERS):
|
||||
main_q = multiprocessing.Queue()
|
||||
res_q = multiprocessing.Queue()
|
||||
worker_p = multiprocessing.Process(target=worker, args=(main_q, res_q, loader))
|
||||
worker_p.start()
|
||||
workers.append((worker_p, main_q, res_q))
|
||||
|
||||
res_q = multiprocessing.Queue()
|
||||
res_p = multiprocessing.Process(target=results, args=(res_q, workers))
|
||||
res_p.start()
|
||||
|
||||
def send_data(obj):
|
||||
global cur_worker
|
||||
global workers
|
||||
global pending_results
|
||||
|
||||
(w_proc, main_q, wrkr_q) = workers[cur_worker]
|
||||
cur_worker += 1
|
||||
if cur_worker >= len(workers):
|
||||
cur_worker = 0
|
||||
|
||||
pending_results += 1
|
||||
main_q.put(obj, block=False)
|
||||
|
||||
def _process_pending_results():
|
||||
global res_q
|
||||
global pending_results
|
||||
|
||||
while not res_q.empty():
|
||||
try:
|
||||
result = res_q.get(block=False)
|
||||
debug("got final result: %s" % (result,))
|
||||
pending_results -= 1
|
||||
except Queue.Empty:
|
||||
pass
|
||||
|
||||
def _wait_on_pending_results():
|
||||
global pending_results
|
||||
while pending_results > 0:
|
||||
debug("waiting for pending results (%d left)" % pending_results)
|
||||
_process_pending_results()
|
||||
time.sleep(0.01)
|
||||
|
||||
|
||||
debug("starting")
|
||||
cur_worker = 0
|
||||
pending_results = 0
|
||||
|
||||
|
||||
var_manager = VariableManager()
|
||||
|
||||
debug("loading inventory")
|
||||
inventory = Inventory(host_list='/tmp/med_inventory', loader=loader, variable_manager=var_manager)
|
||||
hosts = inventory.get_hosts()[:]
|
||||
debug("done loading inventory")
|
||||
|
||||
play_context = PlayContext()
|
||||
play_context.connection = 'local'
|
||||
|
||||
for i in range(NUM_TASKS):
|
||||
#for j in range(NUM_HOSTS):
|
||||
for h in hosts:
|
||||
debug("queuing %s %d" % (h, i))
|
||||
#h = Host(name="host%06d" % j)
|
||||
t = Task().load(dict(name="task %d" % (i,), debug="msg='hello from %s, %d'" % (h,i)))
|
||||
#t = Task().load(dict(name="task %d" % (i,), ping=""))
|
||||
#task_vars = var_manager.get_vars(loader=loader, host=h, task=t)
|
||||
task_vars = dict()
|
||||
new_t = t.copy()
|
||||
new_t.post_validate(task_vars)
|
||||
send_data((h, t, task_vars, play_context))
|
||||
debug("done queuing %s %d" % (h, i))
|
||||
_process_pending_results()
|
||||
debug("waiting for the results to drain...")
|
||||
_wait_on_pending_results()
|
||||
|
||||
res_q.close()
|
||||
res_p.terminate()
|
||||
|
||||
for (w_p, main_q, wrkr_q) in workers:
|
||||
main_q.close()
|
||||
wrkr_q.close()
|
||||
w_p.terminate()
|
||||
|
||||
debug("done")
|
@ -1 +0,0 @@
|
||||
- debug: msg="this is a task from the common role"
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- common
|
@ -1 +0,0 @@
|
||||
- debug: msg="this is a task from role A"
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- common
|
@ -1 +0,0 @@
|
||||
- debug: msg="this is a task from role B"
|
@ -1 +0,0 @@
|
||||
allow_duplicates: yes
|
@ -1 +0,0 @@
|
||||
- command: whoami
|
@ -1,3 +0,0 @@
|
||||
allow_duplicates: yes
|
||||
dependencies:
|
||||
- test_become_r1
|
@ -1 +0,0 @@
|
||||
- command: whoami
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- test_role_dep
|
@ -1,3 +0,0 @@
|
||||
- debug: msg="here we are in the role, foo={{foo}}"
|
||||
- fail:
|
||||
when: foo != "bar"
|
@ -1 +0,0 @@
|
||||
- debug: msg="here we are in the role dependency"
|
@ -1,5 +0,0 @@
|
||||
num_retries: 2
|
||||
frag 1
|
||||
frag 2
|
||||
frag 3
|
||||
vars_file_var: "this is in a vars file"
|
@ -1 +0,0 @@
|
||||
the variable is {{my_var}}
|
@ -1,15 +0,0 @@
|
||||
- hosts: all
|
||||
gather_facts: no
|
||||
remote_user: root
|
||||
roles:
|
||||
- { role: test_become_r2 }
|
||||
- { role: test_become_r2, sudo_user: testing }
|
||||
tasks:
|
||||
- command: whoami
|
||||
- command: whoami
|
||||
become_user: testing
|
||||
- block:
|
||||
- command: whoami
|
||||
- block:
|
||||
- command: whoami
|
||||
become_user: testing
|
@ -1,4 +0,0 @@
|
||||
- hosts: all
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- debug: msg="hi"
|
@ -1,5 +0,0 @@
|
||||
- hosts: all
|
||||
gather_facts: no
|
||||
tasks:
|
||||
#- debug: msg="hi"
|
||||
- ping:
|
@ -1,19 +0,0 @@
|
||||
- hosts: all
|
||||
gather_facts: yes
|
||||
tasks:
|
||||
- block:
|
||||
- debug: msg="this is the first task"
|
||||
- fail:
|
||||
when: inventory_hostname == "l2"
|
||||
- debug: msg="only l1 and l3 should see me"
|
||||
rescue:
|
||||
- debug: msg="this is the rescue"
|
||||
- command: /bin/false
|
||||
- debug: msg="no host should see this run"
|
||||
always:
|
||||
- debug: msg="this is the always block, it will always be seen"
|
||||
when: foo|default('') != "some value"
|
||||
tags:
|
||||
- foo
|
||||
- bar
|
||||
- debug: msg="you should only see l1 and l3 run this"
|
@ -1,17 +0,0 @@
|
||||
- hosts: localhost
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- block:
|
||||
- block:
|
||||
- block:
|
||||
- block:
|
||||
- debug: msg="are we there yet {{foo}}?"
|
||||
always:
|
||||
- debug: msg="a random always block"
|
||||
- fail:
|
||||
rescue:
|
||||
- debug: msg="rescuing from the fail"
|
||||
when: not skip_me|default(False)
|
||||
- debug: msg="i am the last task"
|
||||
vars:
|
||||
foo: bar
|
@ -1,7 +0,0 @@
|
||||
- hosts: localhost
|
||||
tasks:
|
||||
- debug: msg="this is play 1"
|
||||
|
||||
- hosts: localhost
|
||||
tasks:
|
||||
- debug: msg="this is play 2, facts should not have gathered"
|
@ -1,10 +0,0 @@
|
||||
- hosts: all
|
||||
strategy: free
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- debug: msg="all hosts should print this"
|
||||
- pause: seconds=5
|
||||
when: inventory_hostname == 'l2'
|
||||
- pause: seconds=10
|
||||
when: inventory_hostname == 'l3'
|
||||
- debug: msg="and we're done"
|
@ -1,24 +0,0 @@
|
||||
- hosts: all
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- block:
|
||||
- include: include.yml a=1
|
||||
when: 1 == 1
|
||||
notify: foo
|
||||
- include: include.yml a={{item}}
|
||||
with_items:
|
||||
- foo
|
||||
- bar
|
||||
- bam
|
||||
- include: "{{inventory_hostname}}_include.yml"
|
||||
- fail:
|
||||
|
||||
rescue:
|
||||
- include: include.yml a=rescue
|
||||
|
||||
always:
|
||||
- include: include.yml a=always
|
||||
|
||||
#handlers:
|
||||
#- name: foo
|
||||
# include: include.yml a="this is a handler"
|
@ -1,41 +0,0 @@
|
||||
# will use linear strategy by default
|
||||
- hosts: "{{hosts|default('all')}}"
|
||||
#gather_facts: false
|
||||
strategy: "{{strategy|default('linear')}}"
|
||||
vars:
|
||||
play_var: foo
|
||||
test_dict:
|
||||
a: 1
|
||||
b: 2
|
||||
vars_files:
|
||||
- testing/vars.yml
|
||||
tasks:
|
||||
- block:
|
||||
- debug: msg="in block for {{inventory_hostname}} ({{ansible_nodename}}), group_var is {{group_var}}, host var is {{host_var}}"
|
||||
notify: foo
|
||||
- command: hostname
|
||||
register: hostname_result
|
||||
- debug: msg="registered result is {{hostname_result.stdout}}"
|
||||
- command: whoami
|
||||
sudo: true
|
||||
sudo_user: testing
|
||||
- assemble: src=./testing/ dest=/tmp/output.txt remote_src=no
|
||||
- copy: content="hello world\n" dest=/tmp/copy_content.out mode=600
|
||||
#- command: /bin/false
|
||||
# retries: "{{num_retries|default(5)}}"
|
||||
# delay: 1
|
||||
#- debug: msg="you shouldn't see me"
|
||||
rescue:
|
||||
- debug: msg="this is the rescue"
|
||||
- command: /bin/false
|
||||
- debug: msg="you should not see this rescue message"
|
||||
always:
|
||||
- debug: msg="this is the always block, it should always be seen"
|
||||
#- command: /bin/false
|
||||
#- debug: msg="you should not see this always message"
|
||||
|
||||
handlers:
|
||||
- name: foo
|
||||
debug: msg="this is the foo handler"
|
||||
- name: bar
|
||||
debug: msg="this is the bar handler, you should not see this"
|
@ -1,9 +0,0 @@
|
||||
- hosts: localhost
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- fail:
|
||||
|
||||
- hosts: localhost
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- debug: msg="you should not see me..."
|
@ -1,2 +0,0 @@
|
||||
- include: included_playbook.yml a=1
|
||||
tags: include
|
@ -1,9 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
vars:
|
||||
foo: "BAD!!"
|
||||
roles:
|
||||
- { role: test_role, foo: bar }
|
||||
tasks:
|
||||
- debug: msg="done"
|
@ -1,5 +0,0 @@
|
||||
- hosts: localhost
|
||||
gather_facts: no
|
||||
roles:
|
||||
- { role: role_a, tags: A, when: skip != "A" }
|
||||
- { role: role_b, tags: B, when: skip != "B" }
|
@ -1,6 +0,0 @@
|
||||
- hosts: all
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- ping:
|
||||
run_once: yes
|
||||
- add_host: name=foo
|
@ -1,7 +0,0 @@
|
||||
- hosts: ubuntu1404
|
||||
gather_facts: no
|
||||
remote_user: testing
|
||||
tasks:
|
||||
- command: whoami
|
||||
- apt: update_cache=yes
|
||||
sudo: yes
|
@ -1,29 +0,0 @@
|
||||
- hosts: localhost
|
||||
gather_facts: no
|
||||
vars:
|
||||
a: "tags"
|
||||
tags:
|
||||
- play
|
||||
tasks:
|
||||
- block:
|
||||
- debug: msg="this is the tagged block"
|
||||
tags:
|
||||
- block
|
||||
- include: include.yml
|
||||
tags:
|
||||
- include
|
||||
- block:
|
||||
- debug: msg="tagged debug from second block"
|
||||
tags:
|
||||
- tag1
|
||||
- fail:
|
||||
tags:
|
||||
- tag1
|
||||
rescue:
|
||||
- debug: msg="tagged rescue from second block"
|
||||
tags:
|
||||
- rescue_tag
|
||||
always:
|
||||
- debug: msg="tagged always from second block"
|
||||
tags:
|
||||
- always_tag
|
@ -1 +0,0 @@
|
||||
num_retries: 2
|
@ -1 +0,0 @@
|
||||
frag 1
|
@ -1 +0,0 @@
|
||||
frag 2
|
@ -1 +0,0 @@
|
||||
frag 3
|
@ -1 +0,0 @@
|
||||
vars_file_var: "this is in a vars file"
|
@ -1,15 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
vars:
|
||||
users:
|
||||
alice:
|
||||
name: Alice Appleworth
|
||||
telephone: 123-456-7890
|
||||
bob:
|
||||
name: Bob Bananarama
|
||||
telephone: 987-654-3210
|
||||
tasks:
|
||||
- name: Print phone records
|
||||
debug: msg="User {{ item.key }} is {{ item.value.name }} ({{ item.value.telephone }})"
|
||||
with_dict: users
|
@ -1,5 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- debug: msg="{{ lookup('env','HOME') }} is an environment variable"
|
@ -1,7 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- debug: msg="file is {{item}}"
|
||||
with_fileglob:
|
||||
- "*.yml"
|
@ -1,10 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- debug: msg="file is {{item}}"
|
||||
with_first_found:
|
||||
- /etc/foo
|
||||
- /etc/bar
|
||||
- /etc/passwd
|
||||
- /etc/shadow
|
@ -1,13 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts:
|
||||
vars:
|
||||
list_a:
|
||||
- ['foo', 'bar']
|
||||
list_b:
|
||||
- [['bam', 'baz']]
|
||||
tasks:
|
||||
- debug: msg="item is {{item}}"
|
||||
with_flattened:
|
||||
- list_a
|
||||
- list_b
|
@ -1,11 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
vars:
|
||||
some_list:
|
||||
- a
|
||||
- b
|
||||
- c
|
||||
tasks:
|
||||
- debug: msg="at array position {{ item.0 }} there is a value {{ item.1 }}"
|
||||
with_indexed_items: some_list
|
@ -1,11 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
vars:
|
||||
my_list:
|
||||
- a
|
||||
- b
|
||||
- c
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- debug: msg="item is {{item}}"
|
||||
with_items: my_list
|
@ -1,6 +0,0 @@
|
||||
- hosts: localhost
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- debug: msg="line is {{item}}"
|
||||
with_lines:
|
||||
- "cat /etc/hosts"
|
@ -1,13 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
vars:
|
||||
users:
|
||||
- foo
|
||||
- bar
|
||||
- bam
|
||||
tasks:
|
||||
- debug: msg="item.0={{ item[0] }} item.1={{ item[1] }}"
|
||||
with_nested:
|
||||
- users
|
||||
- [ 'clientdb', 'employeedb', 'providerdb' ]
|
@ -1,10 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- debug: msg={{ item }}
|
||||
with_random_choice:
|
||||
- "go through the door"
|
||||
- "drink from the goblet"
|
||||
- "press the red button"
|
||||
- "do nothing"
|
@ -1,13 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
tasks:
|
||||
|
||||
- debug: msg="name={{ item }} state=present groups=evens"
|
||||
with_sequence: start=0 end=32 format=testuser%02x
|
||||
|
||||
- debug: msg="dest=/var/stuff/{{ item }} state=directory"
|
||||
with_sequence: start=4 end=16 stride=2
|
||||
|
||||
- debug: msg="name=group{{ item }} state=present"
|
||||
with_sequence: count=4
|
@ -1,18 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
vars:
|
||||
users:
|
||||
- name: alice
|
||||
authorized:
|
||||
- /tmp/alice/onekey.pub
|
||||
- /tmp/alice/twokey.pub
|
||||
- name: bob
|
||||
authorized:
|
||||
- /tmp/bob/id_rsa.pub
|
||||
|
||||
tasks:
|
||||
- debug: msg="user={{ item.0.name }} key='{{ item.1 }}'"
|
||||
with_subelements:
|
||||
- "{{ users }}"
|
||||
- authorized
|
@ -1,11 +0,0 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
vars:
|
||||
alpha: [ 'a', 'b', 'c', 'd' ]
|
||||
numbers: [ 1, 2, 3, 4 ]
|
||||
tasks:
|
||||
- debug: msg="{{ item.0 }} and {{ item.1 }}"
|
||||
with_together:
|
||||
- alpha
|
||||
- numbers
|
Loading…
Reference in New Issue