diff options
Diffstat (limited to 'src')
92 files changed, 4874 insertions, 0 deletions
diff --git a/src/infra/cp437utf8.py b/src/infra/cp437utf8.py new file mode 100644 index 0000000..9b1b629 --- /dev/null +++ b/src/infra/cp437utf8.py | |||
@@ -0,0 +1,69 @@ | |||
1 | # _______ | ||
2 | # ____________ _______ _\__ /_________ ___ _____ | ||
3 | # | _ _ \ _ | ____\ _ / | |/ _ \ | ||
4 | # | / / / / | | | /___/ _ | | / / | ||
5 | # |___/___/ /___/____|________|___ | |_| |___|_____/ | ||
6 | # \__/ |___| | ||
7 | # | ||
8 | # | ||
9 | # (c) 2009-2012 Wijnand Modderman-Lenstra <maze@pyth0n.org> | ||
10 | # MIT License | ||
11 | # | ||
12 | |||
13 | CP437 = ( | ||
14 | u'\u0000', u'\u0001', u'\u0002', u'\u0003', u'\u0004', u'\u0005', | ||
15 | u'\u0006', u'\u0007', u'\u0008', u'\u0009', u'\u000A', u'\u000B', | ||
16 | u'\u000C', u'\u000D', u'\u000E', u'\u000F', u'\u0010', u'\u0011', | ||
17 | u'\u0012', u'\u0013', u'\u0014', u'\u0015', u'\u0016', u'\u0017', | ||
18 | u'\u0018', u'\u0019', u'\u001A', u'\u001B', u'\u001C', u'\u001D', | ||
19 | u'\u001E', u'\u001F', u'\u0020', u'\u0021', u'\u0022', u'\u0023', | ||
20 | u'\u0024', u'\u0025', u'\u0026', u'\u0027', u'\u0028', u'\u0029', | ||
21 | u'\u002A', u'\u002B', u'\u002C', u'\u002D', u'\u002E', u'\u002F', | ||
22 | u'\u0030', u'\u0031', u'\u0032', u'\u0033', u'\u0034', u'\u0035', | ||
23 | u'\u0036', u'\u0037', u'\u0038', u'\u0039', u'\u003A', u'\u003B', | ||
24 | u'\u003C', u'\u003D', u'\u003E', u'\u003F', u'\u0040', u'\u0041', | ||
25 | u'\u0042', u'\u0043', u'\u0044', u'\u0045', u'\u0046', u'\u0047', | ||
26 | u'\u0048', u'\u0049', u'\u004A', u'\u004B', u'\u004C', u'\u004D', | ||
27 | u'\u004E', u'\u004F', u'\u0050', u'\u0051', u'\u0052', u'\u0053', | ||
28 | u'\u0054', u'\u0055', u'\u0056', u'\u0057', u'\u0058', u'\u0059', | ||
29 | u'\u005A', u'\u005B', u'\u005C', u'\u005D', u'\u005E', u'\u005F', | ||
30 | u'\u0060', u'\u0061', u'\u0062', u'\u0063', u'\u0064', u'\u0065', | ||
31 | u'\u0066', u'\u0067', u'\u0068', u'\u0069', u'\u006A', u'\u006B', | ||
32 | u'\u006C', u'\u006D', u'\u006E', u'\u006F', u'\u0070', u'\u0071', | ||
33 | u'\u0072', u'\u0073', u'\u0074', u'\u0075', u'\u0076', u'\u0077', | ||
34 | u'\u0078', u'\u0079', u'\u007A', u'\u007B', u'\u007C', u'\u007D', | ||
35 | u'\u007E', u'\u007F', u'\u00C7', u'\u00FC', u'\u00E9', u'\u00E2', | ||
36 | u'\u00E4', u'\u00E0', u'\u00E5', u'\u00E7', u'\u00EA', u'\u00EB', | ||
37 | u'\u00E8', u'\u00EF', u'\u00EE', u'\u00EC', u'\u00C4', u'\u00C5', | ||
38 | u'\u00C9', u'\u00E6', u'\u00C6', u'\u00F4', u'\u00F6', u'\u00F2', | ||
39 | u'\u00FB', u'\u00F9', u'\u00FF', u'\u00D6', u'\u00DC', u'\u00A2', | ||
40 | u'\u00A3', u'\u00A5', u'\u20A7', u'\u0192', u'\u00E1', u'\u00ED', | ||
41 | u'\u00F3', u'\u00FA', u'\u00F1', u'\u00D1', u'\u00AA', u'\u00BA', | ||
42 | u'\u00BF', u'\u2310', u'\u00AC', u'\u00BD', u'\u00BC', u'\u00A1', | ||
43 | u'\u00AB', u'\u00BB', u'\u2591', u'\u2592', u'\u2593', u'\u2502', | ||
44 | u'\u2524', u'\u2561', u'\u2562', u'\u2556', u'\u2555', u'\u2563', | ||
45 | u'\u2551', u'\u2557', u'\u255D', u'\u255C', u'\u255B', u'\u2510', | ||
46 | u'\u2514', u'\u2534', u'\u252C', u'\u251C', u'\u2500', u'\u253C', | ||
47 | u'\u255E', u'\u255F', u'\u255A', u'\u2554', u'\u2569', u'\u2566', | ||
48 | u'\u2560', u'\u2550', u'\u256C', u'\u2567', u'\u2568', u'\u2564', | ||
49 | u'\u2565', u'\u2559', u'\u2558', u'\u2552', u'\u2553', u'\u256B', | ||
50 | u'\u256A', u'\u2518', u'\u250C', u'\u2588', u'\u2584', u'\u258C', | ||
51 | u'\u2590', u'\u2580', u'\u03B1', u'\u00DF', u'\u0393', u'\u03C0', | ||
52 | u'\u03A3', u'\u03C3', u'\u00B5', u'\u03C4', u'\u03A6', u'\u0398', | ||
53 | u'\u03A9', u'\u03B4', u'\u221E', u'\u03C6', u'\u03B5', u'\u2229', | ||
54 | u'\u2261', u'\u00B1', u'\u2265', u'\u2264', u'\u2320', u'\u2321', | ||
55 | u'\u00F7', u'\u2248', u'\u00B0', u'\u2219', u'\u00B7', u'\u221A', | ||
56 | u'\u207F', u'\u00B2', u'\u25A0', u'\u00A0', | ||
57 | ) | ||
58 | |||
59 | def convert(text): | ||
60 | return u''.join([CP437[ord(char)] for char in text]) | ||
61 | |||
62 | if __name__ == '__main__': | ||
63 | import sys | ||
64 | if len(sys.argv) < 2: | ||
65 | print >>sys.stderr, '%s <in> <out>' % (sys.argv[0],) | ||
66 | sys.exit(1) | ||
67 | d = file(sys.argv[1]).read() | ||
68 | out = open(sys.argv[2], 'w') | ||
69 | out.write(convert(d).encode('utf8')) | ||
diff --git a/src/infra/images/01-gerrit.png b/src/infra/images/01-gerrit.png new file mode 100644 index 0000000..2c8a2c4 --- /dev/null +++ b/src/infra/images/01-gerrit.png | |||
Binary files differ | |||
diff --git a/src/infra/images/02-status1.png b/src/infra/images/02-status1.png new file mode 100644 index 0000000..7b350a8 --- /dev/null +++ b/src/infra/images/02-status1.png | |||
Binary files differ | |||
diff --git a/src/infra/images/03-status2.png b/src/infra/images/03-status2.png new file mode 100644 index 0000000..0b2607d --- /dev/null +++ b/src/infra/images/03-status2.png | |||
Binary files differ | |||
diff --git a/src/infra/images/04-health.png b/src/infra/images/04-health.png new file mode 100644 index 0000000..750d32c --- /dev/null +++ b/src/infra/images/04-health.png | |||
Binary files differ | |||
diff --git a/src/infra/images/ansible.ans b/src/infra/images/ansible.ans new file mode 100644 index 0000000..0cadddf --- /dev/null +++ b/src/infra/images/ansible.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | [1;30m▄▄▄▄██████▄▄▄▄[0;37m | ||
4 | [A[79C | ||
5 | [1;30m▄▄██████████████████▄▄[0;37m | ||
6 | [A[79C | ||
7 | [1;30m▄██████████████████████████▄[0;37m | ||
8 | [A[79C | ||
9 | [1;30m▄██████████████████████████████▄[0;37m | ||
10 | [A[79C | ||
11 | [1;30m▄████████████████[47m███[40m███████████████▄[0;37m | ||
12 | [A[79C | ||
13 | [1;30m▄█████████████████[47m█ █[40m████████████████▄[0;37m | ||
14 | [A[79C | ||
15 | [1;30m▐█████████████████[47m█ █[40m████████████████▌[0;37m | ||
16 | [A[79C | ||
17 | [1;30m█████████████████[47m█ ▄ █[40m████████████████[0;37m | ||
18 | [A[79C | ||
19 | [1;30m▐████████████████[47m█ █ █[40m███████████████▌[0;37m | ||
20 | [A[79C | ||
21 | [1;30m████████████████[47m█ ███ █[40m███████████████[0;37m | ||
22 | [A[79C | ||
23 | [1;30m▐███████████████[47m█ █████ █[40m██████████████▌[0;37m | ||
24 | [A[79C | ||
25 | [1;30m▐██████████████[47m█ ▀▀███ █[40m█████████████▌[0;37m | ||
26 | [A[79C | ||
27 | [1;30m█████████████[47m█ ▄ ▀▀█ █[40m████████████[0;37m | ||
28 | [A[79C | ||
29 | [1;30m▐███████████[47m█ ████▄▄ █[40m██████████▌[0;37m | ||
30 | [A[79C | ||
31 | [1;30m██████████[47m█ █[40m███████[47m▄▄ █[40m█████████[0;37m | ||
32 | [A[79C | ||
33 | [1;30m▐████████[47m█ █[40m██████████[47m██▄ [40m████████▌[0;37m | ||
34 | [A[79C | ||
35 | [1;30m▀██████[47m█ █[40m██████████████[47m█▄▄▄[40m████████▀[0;37m | ||
36 | [A[79C | ||
37 | [1;30m▀██████████████████████████████████▀[0;37m | ||
38 | [A[79C | ||
39 | [1;30m▀██████████████████████████████▀[0;37m | ||
40 | [A[79C | ||
41 | [1;30m▀██████████████████████████▀[0;37m | ||
42 | [A[79C | ||
43 | [1;30m▀▀██████████████████▀▀[0;37m | ||
44 | [A[79C | ||
45 | [1;30m▀▀▀▀██████▀▀▀▀[0;37m | ||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/architecture.ans b/src/infra/images/architecture.ans new file mode 100644 index 0000000..ad308eb --- /dev/null +++ b/src/infra/images/architecture.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | [1m┌─────────────┐[0m | ||
8 | [A[79C | ||
9 | [1m┌───────┤[0m [1;31mZuul Merger[0;37m [1m│[0m [1;31m [37m [0m | ||
10 | [A[79C | ||
11 | [1m┌────┴───┐[0m [1m└──┬───┬──────┘[0m | ||
12 | [A[79C | ||
13 | [1m┌──┤[0m [1;33mGerrit[0;37m [1m├──┐[0m [1m│[0m [1m│[0m | ||
14 | [A[79C | ||
15 | [1m│[0m [1m└────────┘[0m [1m│[0m [1m┌─┘[0m [1m│[0m | ||
16 | [A[79C | ||
17 | [1m [0m [1m│ ┌────────┐[0m [1m│[0m [1m│[0m [1m┌──┴───┐[0m [1m┌───────────────┐[0m | ||
18 | [A[79C | ||
19 | [1m┌─────┼──┤[0m [1;31m Web [0;37m [1m├──┼────┤[0m [1;31mZuul[0;37m [1m├─────┤[0m [1;31mZuul Executor[0;37m [1m│ [0m | ||
20 | [A[79C | ||
21 | ____ [1m│[0m [1m└────┬───┘[0m [1m│[0m [1m│[0m [1m└──┬───┘[0m [1m│[0m [1m┌───────┐[0m [1m│[0m | ||
22 | [A[79C | ||
23 | |[32m... [37m| [1m│[0m [1m┌────┴───┐[0m [1m│ │[0m [1m│[0m [1m│ [0m [1m│[31mAnsible[37m│ │[0m | ||
24 | [A[79C | ||
25 | |[32m... [37m| [1m├──┤[0m [1;33mGitHub[0;37m [1m├──┼─┘[0m [1m│[0m [1m└───┴───┬───┴───┘[0m | ||
26 | [A[79C | ||
27 | /______\ [1m│[0m [1m└────────┘[0m [1m│[0m [1m┌────┴─────┐[0m [1m│[0m | ||
28 | [A[79C | ||
29 | [1mo[0m [1m│[0m [1m┌────────┐[0m [1m│[0m [1m│[0m [1;34mNodepool[0;37m [1m│[0m [1m│[0m | ||
30 | [A[79C | ||
31 | [1m-|-[0m [1m└──┤[31m Finger [37m├──┘[0m [1m└────┬─────┘[0m [1m│[0m | ||
32 | [A[79C | ||
33 | [1m/ \[0m [1m└────────┘[0m [1m│[0m [1m│[0m | ||
34 | [A[79C | ||
35 | [1mDev[0m [1;44mCloud │ [0;40m [1m│[0m | ||
36 | [A[79C | ||
37 | [1;44m Node 1 ───[40m──────────┤[0m | ||
38 | [A[79C | ||
39 | [1;44m ... [0;40m [1m│[0m | ||
40 | [A[79C | ||
41 | [1;44m Node 2 ───[40m──────────┘[0m | ||
42 | [A[79C | ||
43 | [1;30m(Not to scale)[0;37m [1;44m [0;40m | ||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/circle.ans b/src/infra/images/circle.ans new file mode 100644 index 0000000..291eb33 --- /dev/null +++ b/src/infra/images/circle.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m ▄▄▄▀▀▀▀▄▄▄ | ||
2 | [A[79C | ||
3 | ▄▄▀▀▀ ▀▀▀▄▄ | ||
4 | [A[79C | ||
5 | ▄▀▀ ▀▀▄ | ||
6 | [A[79C | ||
7 | ▄▀ ▀▄ | ||
8 | [A[79C | ||
9 | ▄▀ ▀▄ | ||
10 | [A[79C | ||
11 | ▄▀ ▀▄ | ||
12 | [A[79C | ||
13 | ▄▀ ▀▄ | ||
14 | [A[79C | ||
15 | █ █ | ||
16 | [A[79C | ||
17 | █ █ | ||
18 | [A[79C | ||
19 | ▄▀ ▀▄ | ||
20 | [A[79C | ||
21 | █ █ | ||
22 | [A[79C | ||
23 | ▀▄ ▄▀ | ||
24 | [A[79C | ||
25 | █ █ | ||
26 | [A[79C | ||
27 | █ █ | ||
28 | [A[79C | ||
29 | ▀▄ ▄▀ | ||
30 | [A[79C | ||
31 | ▀▄ ▄▀ | ||
32 | [A[79C | ||
33 | ▀▄ ▄▀ | ||
34 | [A[79C | ||
35 | ▀▄ ▄▀ | ||
36 | [A[79C | ||
37 | ▀▄▄ ▄▄▀ | ||
38 | [A[79C | ||
39 | ▀▀▄▄▄ ▄▄▄▀▀ | ||
40 | [A[79C | ||
41 | ▀▀▀▄▄▄▄▀▀▀ | ||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | |||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/color-gertty.ans b/src/infra/images/color-gertty.ans new file mode 100644 index 0000000..7530e70 --- /dev/null +++ b/src/infra/images/color-gertty.ans | |||
@@ -0,0 +1,57 @@ | |||
1 | [0m[1;34mChange [0;36m31337[37m | ||
2 | [A[79C | ||
3 | [1;34mOwner [0;36mCarol[37m | ||
4 | [A[79C | ||
5 | [1;34mProject [0;36mhello-world[37m | ||
6 | [A[79C | ||
7 | [1;34mBranch [0;36mmaster[37m | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | [1mName Verified Code-Review[0m | ||
12 | [A[79C | ||
13 | [1;33mAlice [0;32m-1 [37m | ||
14 | [A[79C | ||
15 | [1;33mBob[0;32m [1m [0;32m [1;31m-1[0;32m [37m | ||
16 | [A[79C | ||
17 | [1;33mZuul[0;37m [1;32m+1[0;37m | ||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | [34mdocs [1;32mSUCCESS[0;37m in 2m 37s | ||
22 | [A[79C | ||
23 | [34mpython27[37m [1;32mSUCCESS[0;37m in 13m 21s | ||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | [1;34mPatch Set 1 [0;34m4f0a5acfb3752dd1d2fb9153e0f3277c9bcc35ad [37m | ||
28 | [A[79C | ||
29 | [1;36mREADME.txt[0;37m [1;32m+2[0;37m,[1;31m-0[0;37m | ||
30 | [A[79C | ||
31 | [1;36msrc/hello.py [32m+28[0;37m,[1;31m-4[0;37m | ||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | [35m< [1mReview[0;35m > < Diff > < Local Checkout > < Local Cherry-Pick >[37m | ||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | [1;33mAlice[0;37m | ||
40 | [A[79C | ||
41 | This change seems gratuitous. I like it! | ||
42 | [A[79C | ||
43 | [1;33mBob[0;37m | ||
44 | [A[79C | ||
45 | This is a really good start but i have serious concerns about the | ||
46 | [A[79C | ||
47 | whitespace choices you have made. | ||
48 | [A[79C | ||
49 | |||
50 | [A[79C | ||
51 | |||
52 | [A[79C | ||
53 | |||
54 | [A[79C | ||
55 | |||
56 | [A[79C | ||
57 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/convert.sh b/src/infra/images/convert.sh new file mode 100755 index 0000000..9acce64 --- /dev/null +++ b/src/infra/images/convert.sh | |||
@@ -0,0 +1,4 @@ | |||
1 | #!/bin/sh -x | ||
2 | |||
3 | cd orig | ||
4 | find . -type f -name \*.ans -exec python ../../cp437utf8.py {} ../{} \; | ||
diff --git a/src/infra/images/crd.ans b/src/infra/images/crd.ans new file mode 100644 index 0000000..4b4436d --- /dev/null +++ b/src/infra/images/crd.ans | |||
@@ -0,0 +1,29 @@ | |||
1 | [0m* nova 1001,12 Add SSH host keys to intance metadata | ||
2 | [A[79C | ||
3 | Change-ID: I0ac10 | ||
4 | [A[79C | ||
5 | * devstack 1020,6 Configure nova to return host keys | ||
6 | [A[79C | ||
7 | Change-ID: I0bc10 | ||
8 | [A[79C | ||
9 | Depends-On: I0ac10 | ||
10 | [A[79C | ||
11 | * novaclient 1030,3 Add test that host keys are returned | ||
12 | [A[79C | ||
13 | Change-ID: I0dc10 | ||
14 | [A[79C | ||
15 | Depends-On: I0bc10 | ||
16 | [A[79C | ||
17 | * shade 1040,1 Return host keys on instance creation | ||
18 | [A[79C | ||
19 | Change-ID: I0ec10 | ||
20 | [A[79C | ||
21 | Depends-On: I0dc10 | ||
22 | [A[79C | ||
23 | * nodepool 1050,5 Verify host keys when booting nodes | ||
24 | [A[79C | ||
25 | Change-ID: I0fc10 | ||
26 | [A[79C | ||
27 | Depends-On: I0ec10 | ||
28 | [A[79C | ||
29 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/cursor.ans b/src/infra/images/cursor.ans new file mode 100644 index 0000000..6d4d108 --- /dev/null +++ b/src/infra/images/cursor.ans | |||
@@ -0,0 +1,47 @@ | |||
1 | [0m[1;5;32m█[0;0;37m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [30m█[37m | ||
46 | [A[79C | ||
47 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/cursor2.ans b/src/infra/images/cursor2.ans new file mode 100644 index 0000000..a9fe285 --- /dev/null +++ b/src/infra/images/cursor2.ans | |||
@@ -0,0 +1,47 @@ | |||
1 | [0m[30m█[37m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [30m█[37m | ||
46 | [A[79C | ||
47 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/openstack.ans b/src/infra/images/openstack.ans new file mode 100644 index 0000000..e7a66f4 --- /dev/null +++ b/src/infra/images/openstack.ans | |||
@@ -0,0 +1,51 @@ | |||
1 | [0m [31m ▄▄▄▄▄▄▄▄▄▄▄ [37m | ||
2 | [A[79C | ||
3 | [31m▄▄▄▄▄▄▄▄▄▄▄▄█████████████████████████▄▄[37m | ||
4 | [A[79C | ||
5 | [31m█████████████████████████████████████████▄[37m | ||
6 | [A[79C | ||
7 | [31m▐█████████████████[1;41m▄▄▄▄▄▄▄▄▄▄▄▄▄██████████▄[0;31m█▌[37m | ||
8 | [A[79C | ||
9 | [31m▐██████[1;41m▄███████████████████████████████████[0;31m▌[37m | ||
10 | [A[79C | ||
11 | [31m▐█████[1;41m▐████████████████████████████████████[0;31m▌[37m | ||
12 | [A[79C | ||
13 | [31m▐█████[1;41m█████████████████████████████████████[0;31m▌[37m | ||
14 | [A[79C | ||
15 | [31m▀████[1;41m███████▀▀▀▀▀▀▀▀▀[0;31m▀▀▀▀▀▀▀▀█[30;41m..[31;40m██[1;41m▐███████[0;31m▌[37m | ||
16 | [A[79C | ||
17 | [31m ▄▄[30;41m..[31;40m█[1;41m███████[0;31m▌ [37m [31m▐[30;41m ..[31;40m█[1;41m▀▀▀[0;31m████▌[37m | ||
18 | [A[79C | ||
19 | [31m▐███[30;41m..[1;31m▀▀▀▀▀[0;31m██▌[37m [31m▐██[30;41m [31;40m█[1;41m▄▄▄████[0;31m▌[37m | ||
20 | [A[79C | ||
21 | [31m▐█████[1;41m▄▄▄▄▄██[0;31m▌[37m [31m▐████[1;41m▐███████[0;31m▌[37m | ||
22 | [A[79C | ||
23 | [31m▐█████[1;41m███████[0;31m▌[37m [31m▐████[1;41m▐███████[0;31m▌[37m | ||
24 | [A[79C | ||
25 | [31m▐█████[1;41m███████[0;31m▌[37m [31m▐████[1;41m▐███████[0;31m▌[37m | ||
26 | [A[79C | ||
27 | [31m▐█████[1;41m███████[0;31m▌[37m [31m▐████[1;41m▐███████[0;31m▌[37m | ||
28 | [A[79C | ||
29 | [31m▀████[1;41m███████[0;31m▌[37m [31m▐[30;41m.. [31;40m█[1;41m▐███████[0;31m▌[37m | ||
30 | [A[79C | ||
31 | [31m ▄▄███[1;41m███████[0;31m▌[37m [31m ▄▄▄▄▄████[30;41m.. [1;31m▀▀▀[0;31m████▌[37m | ||
32 | [A[79C | ||
33 | [31m▐██[30;41m..[31;40m█[1;41m████▀▀▀[0;31m███████████████████████[1;41m▄▄▄████[0;31m▌[37m | ||
34 | [A[79C | ||
35 | [31m▐███[30;41m..[31;40m████[1;41m▄▄▄[0;31m██████████████████████[1;41m████████[0;31m▌[37m | ||
36 | [A[79C | ||
37 | [31m▐█████[1;41m███████▄[0;31m██████████████[1;41m▄▄▄▄▄██████████[0;31m▌[37m | ||
38 | [A[79C | ||
39 | [31m █████[1;41m████████████████████████████████████▀[0;31m▌[37m | ||
40 | [A[79C | ||
41 | [31m▐████[1;41m██████████████████████████████████▀▀[0;31m▀ [37m | ||
42 | [A[79C | ||
43 | [31m▐██[1;41m██████████████████████████▀▀▀▀▀▀[0;31m▀▀▀ [37m | ||
44 | [A[79C | ||
45 | [31m▀█[1;41m▀▀▀▀▀▀▀▀▀▀▀▀▀▀[0;31m▀▀▀▀▀▀▀▀▀▀▀ [37m | ||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | |||
50 | [A[79C | ||
51 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/ansible.ans b/src/infra/images/orig/ansible.ans new file mode 100644 index 0000000..8605d51 --- /dev/null +++ b/src/infra/images/orig/ansible.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | [1;30m[0;37m | ||
4 | [A[79C | ||
5 | [1;30m[0;37m | ||
6 | [A[79C | ||
7 | [1;30m[0;37m | ||
8 | [A[79C | ||
9 | [1;30m[0;37m | ||
10 | [A[79C | ||
11 | [1;30m[47m[40m[0;37m | ||
12 | [A[79C | ||
13 | [1;30m[47m [40m[0;37m | ||
14 | [A[79C | ||
15 | [1;30m[47m [40m[0;37m | ||
16 | [A[79C | ||
17 | [1;30m[47m [40m[0;37m | ||
18 | [A[79C | ||
19 | [1;30m[47m [40m[0;37m | ||
20 | [A[79C | ||
21 | [1;30m[47m [40m[0;37m | ||
22 | [A[79C | ||
23 | [1;30m[47m [40m[0;37m | ||
24 | [A[79C | ||
25 | [1;30m[47m [40m[0;37m | ||
26 | [A[79C | ||
27 | [1;30m[47m [40m[0;37m | ||
28 | [A[79C | ||
29 | [1;30m[47m [40m[0;37m | ||
30 | [A[79C | ||
31 | [1;30m[47m [40m[47m [40m[0;37m | ||
32 | [A[79C | ||
33 | [1;30m[47m [40m[47m [40m[0;37m | ||
34 | [A[79C | ||
35 | [1;30m[47m [40m[47m[40m[0;37m | ||
36 | [A[79C | ||
37 | [1;30m[0;37m | ||
38 | [A[79C | ||
39 | [1;30m[0;37m | ||
40 | [A[79C | ||
41 | [1;30m[0;37m | ||
42 | [A[79C | ||
43 | [1;30m[0;37m | ||
44 | [A[79C | ||
45 | [1;30m[0;37m | ||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/architecture.ans b/src/infra/images/orig/architecture.ans new file mode 100644 index 0000000..94b0720 --- /dev/null +++ b/src/infra/images/orig/architecture.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | [1mĿ[0m | ||
8 | [A[79C | ||
9 | [1mĴ[0m [1;31mZuul Merger[0;37m [1m[0m | ||
10 | [A[79C | ||
11 | [1m[0m [1m[0m | ||
12 | [A[79C | ||
13 | [1m[0m [1m[0m | ||
14 | [A[79C | ||
15 | [1m[0m [1m[0m | ||
16 | [A[79C | ||
17 | [1m Ŀ[0m [1mĿ[0m [1mĿ[0m | ||
18 | [A[79C | ||
19 | [1mĴ[0m [1;33mGerrit[0;37m [1mĴ[0m [1;31mZuul[0;37m [1mĴ[0m [1;31mZuul Launcher[0;37m [1m[0m | ||
20 | [A[79C | ||
21 | ____ [1m[0m [1m[0m [1m[0m [1mĿ[0m [1m[0m | ||
22 | [A[79C | ||
23 | |[32m... [37m| [1m[0m [1m [0m [1m[31mAnsible[37m [0m | ||
24 | [A[79C | ||
25 | |[32m... [37m| [1m[0m [1m[0m | ||
26 | [A[79C | ||
27 | /______\ [1mĿ[0m [1m[0m | ||
28 | [A[79C | ||
29 | [1mo[0m [1m[0m [1;34mNodepool[0;37m [1m[0m [1m[0m | ||
30 | [A[79C | ||
31 | [1m-|-[0m [1m [0m [1m[0m [1m[0m | ||
32 | [A[79C | ||
33 | [1m/ \[0m [1m[0m [1m[0m | ||
34 | [A[79C | ||
35 | [1mDev[0m [1;44mCloud [0;40m [1m[0m | ||
36 | [A[79C | ||
37 | [1;44m Node 1 [40mĴ[0m | ||
38 | [A[79C | ||
39 | [1;44m ... [0;40m [1m[0m | ||
40 | [A[79C | ||
41 | [1;44m Node 2 [40m[0m | ||
42 | [A[79C | ||
43 | [1;30m(Not to scale)[0;37m [1;44m [0;40m | ||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/circle.ans b/src/infra/images/orig/circle.ans new file mode 100644 index 0000000..d21b2bb --- /dev/null +++ b/src/infra/images/orig/circle.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | |||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/color-gertty.ans b/src/infra/images/orig/color-gertty.ans new file mode 100644 index 0000000..7530e70 --- /dev/null +++ b/src/infra/images/orig/color-gertty.ans | |||
@@ -0,0 +1,57 @@ | |||
1 | [0m[1;34mChange [0;36m31337[37m | ||
2 | [A[79C | ||
3 | [1;34mOwner [0;36mCarol[37m | ||
4 | [A[79C | ||
5 | [1;34mProject [0;36mhello-world[37m | ||
6 | [A[79C | ||
7 | [1;34mBranch [0;36mmaster[37m | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | [1mName Verified Code-Review[0m | ||
12 | [A[79C | ||
13 | [1;33mAlice [0;32m-1 [37m | ||
14 | [A[79C | ||
15 | [1;33mBob[0;32m [1m [0;32m [1;31m-1[0;32m [37m | ||
16 | [A[79C | ||
17 | [1;33mZuul[0;37m [1;32m+1[0;37m | ||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | [34mdocs [1;32mSUCCESS[0;37m in 2m 37s | ||
22 | [A[79C | ||
23 | [34mpython27[37m [1;32mSUCCESS[0;37m in 13m 21s | ||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | [1;34mPatch Set 1 [0;34m4f0a5acfb3752dd1d2fb9153e0f3277c9bcc35ad [37m | ||
28 | [A[79C | ||
29 | [1;36mREADME.txt[0;37m [1;32m+2[0;37m,[1;31m-0[0;37m | ||
30 | [A[79C | ||
31 | [1;36msrc/hello.py [32m+28[0;37m,[1;31m-4[0;37m | ||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | [35m< [1mReview[0;35m > < Diff > < Local Checkout > < Local Cherry-Pick >[37m | ||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | [1;33mAlice[0;37m | ||
40 | [A[79C | ||
41 | This change seems gratuitous. I like it! | ||
42 | [A[79C | ||
43 | [1;33mBob[0;37m | ||
44 | [A[79C | ||
45 | This is a really good start but i have serious concerns about the | ||
46 | [A[79C | ||
47 | whitespace choices you have made. | ||
48 | [A[79C | ||
49 | |||
50 | [A[79C | ||
51 | |||
52 | [A[79C | ||
53 | |||
54 | [A[79C | ||
55 | |||
56 | [A[79C | ||
57 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/crd.ans b/src/infra/images/orig/crd.ans new file mode 100644 index 0000000..4b4436d --- /dev/null +++ b/src/infra/images/orig/crd.ans | |||
@@ -0,0 +1,29 @@ | |||
1 | [0m* nova 1001,12 Add SSH host keys to intance metadata | ||
2 | [A[79C | ||
3 | Change-ID: I0ac10 | ||
4 | [A[79C | ||
5 | * devstack 1020,6 Configure nova to return host keys | ||
6 | [A[79C | ||
7 | Change-ID: I0bc10 | ||
8 | [A[79C | ||
9 | Depends-On: I0ac10 | ||
10 | [A[79C | ||
11 | * novaclient 1030,3 Add test that host keys are returned | ||
12 | [A[79C | ||
13 | Change-ID: I0dc10 | ||
14 | [A[79C | ||
15 | Depends-On: I0bc10 | ||
16 | [A[79C | ||
17 | * shade 1040,1 Return host keys on instance creation | ||
18 | [A[79C | ||
19 | Change-ID: I0ec10 | ||
20 | [A[79C | ||
21 | Depends-On: I0dc10 | ||
22 | [A[79C | ||
23 | * nodepool 1050,5 Verify host keys when booting nodes | ||
24 | [A[79C | ||
25 | Change-ID: I0fc10 | ||
26 | [A[79C | ||
27 | Depends-On: I0ec10 | ||
28 | [A[79C | ||
29 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/cursor.ans b/src/infra/images/orig/cursor.ans new file mode 100644 index 0000000..d9f6da9 --- /dev/null +++ b/src/infra/images/orig/cursor.ans | |||
@@ -0,0 +1,47 @@ | |||
1 | [0m[1;5;32m[0;0;37m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [30m[37m | ||
46 | [A[79C | ||
47 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/cursor2.ans b/src/infra/images/orig/cursor2.ans new file mode 100644 index 0000000..93d8570 --- /dev/null +++ b/src/infra/images/orig/cursor2.ans | |||
@@ -0,0 +1,47 @@ | |||
1 | [0m[30m[37m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [30m[37m | ||
46 | [A[79C | ||
47 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/openstack.ans b/src/infra/images/orig/openstack.ans new file mode 100644 index 0000000..4f689c7 --- /dev/null +++ b/src/infra/images/orig/openstack.ans | |||
@@ -0,0 +1,51 @@ | |||
1 | [0m [31m [37m | ||
2 | [A[79C | ||
3 | [31m[37m | ||
4 | [A[79C | ||
5 | [31m[37m | ||
6 | [A[79C | ||
7 | [31m[1;41m[0;31m[37m | ||
8 | [A[79C | ||
9 | [31m[1;41m[0;31m[37m | ||
10 | [A[79C | ||
11 | [31m[1;41m[0;31m[37m | ||
12 | [A[79C | ||
13 | [31m[1;41m[0;31m[37m | ||
14 | [A[79C | ||
15 | [31m[1;41m[0;31m[30;41m..[31;40m[1;41m[0;31m[37m | ||
16 | [A[79C | ||
17 | [31m [30;41m..[31;40m[1;41m[0;31m [37m [31m[30;41m ..[31;40m[1;41m[0;31m[37m | ||
18 | [A[79C | ||
19 | [31m[30;41m..[1;31m[0;31m[37m [31m[30;41m [31;40m[1;41m[0;31m[37m | ||
20 | [A[79C | ||
21 | [31m[1;41m[0;31m[37m [31m[1;41m[0;31m[37m | ||
22 | [A[79C | ||
23 | [31m[1;41m[0;31m[37m [31m[1;41m[0;31m[37m | ||
24 | [A[79C | ||
25 | [31m[1;41m[0;31m[37m [31m[1;41m[0;31m[37m | ||
26 | [A[79C | ||
27 | [31m[1;41m[0;31m[37m [31m[1;41m[0;31m[37m | ||
28 | [A[79C | ||
29 | [31m[1;41m[0;31m[37m [31m[30;41m.. [31;40m[1;41m[0;31m[37m | ||
30 | [A[79C | ||
31 | [31m [1;41m[0;31m[37m [31m [30;41m.. [1;31m[0;31m[37m | ||
32 | [A[79C | ||
33 | [31m[30;41m..[31;40m[1;41m[0;31m[1;41m[0;31m[37m | ||
34 | [A[79C | ||
35 | [31m[30;41m..[31;40m[1;41m[0;31m[1;41m[0;31m[37m | ||
36 | [A[79C | ||
37 | [31m[1;41m[0;31m[1;41m[0;31m[37m | ||
38 | [A[79C | ||
39 | [31m [1;41m[0;31m[37m | ||
40 | [A[79C | ||
41 | [31m[1;41m[0;31m [37m | ||
42 | [A[79C | ||
43 | [31m[1;41m[0;31m [37m | ||
44 | [A[79C | ||
45 | [31m[1;41m[0;31m [37m | ||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | |||
50 | [A[79C | ||
51 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/questions.ans b/src/infra/images/orig/questions.ans new file mode 100644 index 0000000..ae2e90a --- /dev/null +++ b/src/infra/images/orig/questions.ans | |||
@@ -0,0 +1,27 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | [1;30m[33m[30m[0;37m | ||
10 | [A[79C | ||
11 | [1;33m[0;30;43m [1;33m [0;30;43m [1;40m[0;37m | ||
12 | [A[79C | ||
13 | [1;33m[0;30;43m [1;33m[0;30;43m[1;33m[0;30;43m [1;40m[0;37m | ||
14 | [A[79C | ||
15 | [1;33m[0;30;43m [1;33;40m[0;37m [30;43m [1;33m[0;30;43m [1;40m[0;37m | ||
16 | [A[79C | ||
17 | [1;33m[0;30;43m [1;33m [0;30;43m [1;40m[0;37m | ||
18 | [A[79C | ||
19 | [1;33m[0;30;43m [1;40m[0;37m | ||
20 | [A[79C | ||
21 | [1;33m[0;30;43m [1;33m[0;30;43m [1;40m[0;37m | ||
22 | [A[79C | ||
23 | [1;33m[0;30;43m [1;40m[0;37m | ||
24 | [A[79C | ||
25 | [1;30m[0;37m | ||
26 | [A[79C | ||
27 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/redhat.ans b/src/infra/images/orig/redhat.ans new file mode 100644 index 0000000..f297fd0 --- /dev/null +++ b/src/infra/images/orig/redhat.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | [1;31m [0;37m | ||
4 | [A[79C | ||
5 | [31m [1m [0;37m | ||
6 | [A[79C | ||
7 | [1;31m[0;37m [1;31m [0;37m | ||
8 | [A[79C | ||
9 | [1;31m [0;31m [37m | ||
10 | [A[79C | ||
11 | [31m [1m [0;37m [1;31m [0;37m | ||
12 | [A[79C | ||
13 | [1;31m [0;31m [37m [31m [1m [0;37m | ||
14 | [A[79C | ||
15 | [1;31m [0;31m [37m [1;31m [0;37m | ||
16 | [A[79C | ||
17 | [1;31m [0;31m [37m [1;31m [0;31m [37m | ||
18 | [A[79C | ||
19 | [1;31m [0;37m | ||
20 | [A[79C | ||
21 | [1;31m[0;37m | ||
22 | [A[79C | ||
23 | [1m [0m [31m [1m[37m [0m | ||
24 | [A[79C | ||
25 | [1m [0m [31m [1m [0;37m | ||
26 | [A[79C | ||
27 | [1m [0m | ||
28 | [A[79C | ||
29 | [1m [0m | ||
30 | [A[79C | ||
31 | [1m [0m | ||
32 | [A[79C | ||
33 | [1m [0m | ||
34 | [A[79C | ||
35 | [1m [31m [0;37m | ||
36 | [A[79C | ||
37 | [1m [0m [1m [0m | ||
38 | [A[79C | ||
39 | [1m [0m | ||
40 | [A[79C | ||
41 | [1m [0m | ||
42 | [A[79C | ||
43 | [1m [0m | ||
44 | [A[79C | ||
45 | |||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/startup1.ans b/src/infra/images/orig/startup1.ans new file mode 100644 index 0000000..3510a93 --- /dev/null +++ b/src/infra/images/orig/startup1.ans | |||
@@ -0,0 +1,39 @@ | |||
1 | [0m Ŀ | ||
2 | [A[79C | ||
3 | [1;31mZuul[0;37m | ||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | Ŀ | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | Ŀ Ŀ Ŀ Ŀ Ŀ Ŀ Ŀ Ŀ | ||
14 | [A[79C | ||
15 | [1;31mzm1[0;37m [1;31mzm2[0;37m [1;31mzm3[0;37m [1;31mzm4[0;37m [1;31mzm5[0;37m [1;31mzm6[0;37m [1;31mzm7[0;37m [1;31mzm8[0;37m | ||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | [1mnova keyst swift devst tmpst glanc dg projc[0m | ||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | [1m [0m | ||
38 | [A[79C | ||
39 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/startup2.ans b/src/infra/images/orig/startup2.ans new file mode 100644 index 0000000..3093800 --- /dev/null +++ b/src/infra/images/orig/startup2.ans | |||
@@ -0,0 +1,39 @@ | |||
1 | [0m Ŀ | ||
2 | [A[79C | ||
3 | [1;31mZuul[0;37m | ||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | Ŀ | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | Ŀ Ŀ Ŀ Ŀ Ŀ Ŀ Ŀ Ŀ | ||
14 | [A[79C | ||
15 | [1;31mzm1[0;37m [1;31mzm2[0;37m [1;31mzm3[0;37m [1;31mzm4[0;37m [1;31mzm5[0;37m [1;31mzm6[0;37m [1;31mzm7[0;37m [1;31mzm8[0;37m | ||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | nova keyst swift devst tmpst glanc dg projc | ||
20 | [A[79C | ||
21 | [1mmastr newt mitak mastr mastr diabl mastr mastr[0m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | [1m [0m | ||
38 | [A[79C | ||
39 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/td.ans b/src/infra/images/orig/td.ans new file mode 100644 index 0000000..c0c5cd6 --- /dev/null +++ b/src/infra/images/orig/td.ans | |||
Binary files differ | |||
diff --git a/src/infra/images/orig/testslide.ans b/src/infra/images/orig/testslide.ans new file mode 100644 index 0000000..5505907 --- /dev/null +++ b/src/infra/images/orig/testslide.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m[44mͻ[40m | ||
2 | [A[79C | ||
3 | [44m Ŀ [40m | ||
4 | [A[79C | ||
5 | [44m [40m [44m [40m | ||
6 | [A[79C | ||
7 | [44m [40m [44m [40m | ||
8 | [A[79C | ||
9 | [44m [40m [30m Test Slide [47m Test Slide [37;40m [44m [40m | ||
10 | [A[79C | ||
11 | [44m [40m [31m Test Slide [47m Test Slide [37;40m [44m [40m | ||
12 | [A[79C | ||
13 | [44m [40m [32m Test Slide [47m Test Slide [37;40m [44m [40m | ||
14 | [A[79C | ||
15 | [44m [40m [33m Test Slide [47m Test Slide [37;40m [44m [40m | ||
16 | [A[79C | ||
17 | [44m [40m [34m Test Slide [47m Test Slide [37;40m [44m [40m | ||
18 | [A[79C | ||
19 | [44m [40m [35m Test Slide [47m Test Slide [37;40m [44m [40m | ||
20 | [A[79C | ||
21 | [44m [40m [36m Test Slide [47m Test Slide [37;40m [44m [40m | ||
22 | [A[79C | ||
23 | [44m [40m Test Slide [47m Test Slide [40m [44m [40m | ||
24 | [A[79C | ||
25 | [44m [40m [1;30m Test Slide [47m Test Slide [0;37;40m [44m [40m | ||
26 | [A[79C | ||
27 | [44m [40m [1;31m Test Slide [47m Test Slide [0;37;40m [44m [40m | ||
28 | [A[79C | ||
29 | [44m [40m [1;32m Test Slide [47m Test Slide [0;37;40m [44m [40m | ||
30 | [A[79C | ||
31 | [44m [40m [1;33m Test Slide [47m Test Slide [0;37;40m [44m [40m | ||
32 | [A[79C | ||
33 | [44m [40m [1;34m Test Slide [47m Test Slide [0;37;40m [44m [40m | ||
34 | [A[79C | ||
35 | [44m [40m [1;35m Test Slide [47m Test Slide [0;37;40m [44m [40m | ||
36 | [A[79C | ||
37 | [44m [40m [1;36m Test Slide [47m Test Slide [0;37;40m [44m [40m | ||
38 | [A[79C | ||
39 | [44m [40m [1m Test Slide [47m Test Slide [0;40m [44m [40m | ||
40 | [A[79C | ||
41 | [44m [40m [44m [40m | ||
42 | [A[79C | ||
43 | [44m [40m [44m [40m | ||
44 | [A[79C | ||
45 | [44m [40m | ||
46 | [A[79C | ||
47 | [44mͼ[40m | ||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/title.ans b/src/infra/images/orig/title.ans new file mode 100644 index 0000000..82ef305 --- /dev/null +++ b/src/infra/images/orig/title.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m [1;34m______________[0;37m [1;34m..[0;37m [1;34m..[0;37m [1;34m______________[0;37m | ||
2 | [A[79C | ||
3 | [1;34m( ( [0;37m [1;34m\ \_____)____(_____/ /[0;37m [1;34m ) )[0;37m | ||
4 | [A[79C | ||
5 | [1;34m\ )[0;37m [1;34m`' [0;37m [1;34m `'[0;37m [1;34m( /[0;37m | ||
6 | [A[79C | ||
7 | [1;34m)/ [0;37m [1;34m \([0;37m | ||
8 | [A[79C | ||
9 | [1;34m /' [0;37m [1mREST APIs and the Return of the[0m [1;34m `\ [0;37m | ||
10 | [A[79C | ||
11 | [1;34mO [0;37m [1;32m ___ ___ _ _ ___ ___ _ ___ [0;37m [1;34m O[0;37m | ||
12 | [A[79C | ||
13 | [1;34m[0;37m [1;32m / __/ _ \| \| / __|/ _ \| | | __|[0;37m [1;34m[0;37m | ||
14 | [A[79C | ||
15 | [1;34m[0;37m [1;32m| (_| (_) | .` \__ \ (_) | |__| _| [0;37m [1;34m[0;37m | ||
16 | [A[79C | ||
17 | [1;34m[0;37m [1;32m \___\___/|_|\_|___/\___/|____|___|[0;37m [1;34m[0;37m | ||
18 | [A[79C | ||
19 | [1;34m[0;37m [1;34m[0;37m | ||
20 | [A[79C | ||
21 | [1;34m[0;37m [1mApplication[0m [1;34m[0;37m | ||
22 | [A[79C | ||
23 | [1;34m[0;37m [1;34m[0;37m | ||
24 | [A[79C | ||
25 | [1;34mO [0;37m [33mJames E. Blair <corvus@inaugust.com>[37m [1;34m O[0;37m | ||
26 | [A[79C | ||
27 | [1;34m \.[0;37m [1;34m./ [0;37m | ||
28 | [A[79C | ||
29 | [1;34m)\ [0;37m [1;34m,____[0;37m [1;34m____,[0;37m [1;34m /([0;37m | ||
30 | [A[79C | ||
31 | [1;34m/ )[0;37m [1;34m/ ____\ ____ /____ \[0;37m [1;34m( \[0;37m | ||
32 | [A[79C | ||
33 | [1;34m( (_________/_/ ) ( \_\_________) )[0;37m | ||
34 | [A[79C | ||
35 | [1;34m ~-' [0;37m [1;34m`'[0;37m [1;34m`'[0;37m [1;34m `-~ [0;37m | ||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/workflow.ans b/src/infra/images/orig/workflow.ans new file mode 100644 index 0000000..067cc56 --- /dev/null +++ b/src/infra/images/orig/workflow.ans | |||
@@ -0,0 +1,29 @@ | |||
1 | [0m Hack Review Test | ||
2 | [A[79C | ||
3 | ========= ========== ========== | ||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | push approve | ||
8 | [A[79C | ||
9 | +-------------+ +-------------+ | ||
10 | [A[79C | ||
11 | | | | | | ||
12 | [A[79C | ||
13 | +------+--+ +--v----+--+ +--v-------+ | ||
14 | [A[79C | ||
15 | | | | | | | | ||
16 | [A[79C | ||
17 | | $EDITOR | | Gerrit | | Zuul | | ||
18 | [A[79C | ||
19 | | | | | | | | ||
20 | [A[79C | ||
21 | +------^--+ +--+----^--+ +--+-------+ | ||
22 | [A[79C | ||
23 | | | | | | ||
24 | [A[79C | ||
25 | +-------------+ +-------------+ | ||
26 | [A[79C | ||
27 | clone merge | ||
28 | [A[79C | ||
29 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-00.ans b/src/infra/images/orig/zsim-00.ans new file mode 100644 index 0000000..4f9ed82 --- /dev/null +++ b/src/infra/images/orig/zsim-00.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m00[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-01.ans b/src/infra/images/orig/zsim-01.ans new file mode 100644 index 0000000..a087092 --- /dev/null +++ b/src/infra/images/orig/zsim-01.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m01[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;30m[0;37m Nova #1 Nova Keystone | ||
6 | [A[79C | ||
7 | [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-02.ans b/src/infra/images/orig/zsim-02.ans new file mode 100644 index 0000000..8f2938c --- /dev/null +++ b/src/infra/images/orig/zsim-02.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m02[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [34m[37m Nova Keystone | ||
6 | [A[79C | ||
7 | [34m[37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [34m[37m | ||
10 | [A[79C | ||
11 | [34m[37m | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-03.ans b/src/infra/images/orig/zsim-03.ans new file mode 100644 index 0000000..1186441 --- /dev/null +++ b/src/infra/images/orig/zsim-03.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m03[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;34m[0;34m[37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;34m[0;34m[37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [34m[37m | ||
10 | [A[79C | ||
11 | [34m[37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;30m[0;37m Keystone #2 | ||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-04.ans b/src/infra/images/orig/zsim-04.ans new file mode 100644 index 0000000..8344a58 --- /dev/null +++ b/src/infra/images/orig/zsim-04.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m04[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;34m[0;34m[37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;34m[0;34m[37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [34m[37m | ||
10 | [A[79C | ||
11 | [1;34m[0;34m[37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;32m[0;37m Keystone #2 [34m[37m | ||
16 | [A[79C | ||
17 | [34m[37m | ||
18 | [A[79C | ||
19 | [34m[37m | ||
20 | [A[79C | ||
21 | [34m[37m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-05.ans b/src/infra/images/orig/zsim-05.ans new file mode 100644 index 0000000..948d831 --- /dev/null +++ b/src/infra/images/orig/zsim-05.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m05[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;34m[0;34m[37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;34m[0;34m[37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;34m[0;34m[37m | ||
10 | [A[79C | ||
11 | [1;34m[0;34m[37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;32m[0;37m Keystone #2 [1;34m[0;34m[37m | ||
16 | [A[79C | ||
17 | [1;34m[0;34m[37m | ||
18 | [A[79C | ||
19 | [34m[37m | ||
20 | [A[79C | ||
21 | [34m[37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;30m[0;37m Nova #3 | ||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-06.ans b/src/infra/images/orig/zsim-06.ans new file mode 100644 index 0000000..be6cf1b --- /dev/null +++ b/src/infra/images/orig/zsim-06.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m06[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;34m[0;34m[37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;34m[0;34m[37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;34m[0;34m[37m | ||
10 | [A[79C | ||
11 | [1;34m[0;34m[37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;32m[0;37m Keystone #2 [1;34m[0;34m[37m | ||
16 | [A[79C | ||
17 | [1;34m[0;34m[37m | ||
18 | [A[79C | ||
19 | [1;34m[0;34m[37m | ||
20 | [A[79C | ||
21 | [1;34m[0;34m[37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;32m[0;37m Nova #3 [34m[37m | ||
26 | [A[79C | ||
27 | [34m[37m | ||
28 | [A[79C | ||
29 | [34m[37m | ||
30 | [A[79C | ||
31 | [34m[37m | ||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-07.ans b/src/infra/images/orig/zsim-07.ans new file mode 100644 index 0000000..e827b4f --- /dev/null +++ b/src/infra/images/orig/zsim-07.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m07[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;34m[0;34m[37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;34m[0;34m[37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;34m[0;34m[37m | ||
10 | [A[79C | ||
11 | [1;34m[0;34m[37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;32m[0;37m Keystone #2 [1;34m[0;34m[37m | ||
16 | [A[79C | ||
17 | [1;34m[0;34m[37m | ||
18 | [A[79C | ||
19 | [1;34m[0;34m[37m | ||
20 | [A[79C | ||
21 | [1;34m[0;34m[37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;32m[0;37m Nova #3 [1;34m[0;34m[37m | ||
26 | [A[79C | ||
27 | [1;34m[0;34m[37m | ||
28 | [A[79C | ||
29 | [34m[37m | ||
30 | [A[79C | ||
31 | [34m[37m | ||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;30m[0;37m Nova #4 | ||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-08.ans b/src/infra/images/orig/zsim-08.ans new file mode 100644 index 0000000..e7d5ca5 --- /dev/null +++ b/src/infra/images/orig/zsim-08.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m08[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;34m[0;34m[37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;34m[0;34m[37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;34m[0;34m[37m | ||
10 | [A[79C | ||
11 | [1;34m[0;34m[37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;32m[0;37m Keystone #2 [1;34m[0;34m[37m | ||
16 | [A[79C | ||
17 | [1;34m[0;34m[37m | ||
18 | [A[79C | ||
19 | [1;34m[0;34m[37m | ||
20 | [A[79C | ||
21 | [1;34m[0;34m[37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;32m[0;37m Nova #3 [1;34m[0;34m[37m | ||
26 | [A[79C | ||
27 | [1;34m[0;34m[37m | ||
28 | [A[79C | ||
29 | [34m[37m | ||
30 | [A[79C | ||
31 | [1;34m[0;34m[37m | ||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;32m[0;37m Nova #4 [34m[37m | ||
36 | [A[79C | ||
37 | [34m[37m | ||
38 | [A[79C | ||
39 | [34m[37m | ||
40 | [A[79C | ||
41 | [34m[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-09.ans b/src/infra/images/orig/zsim-09.ans new file mode 100644 index 0000000..c5a6f3a --- /dev/null +++ b/src/infra/images/orig/zsim-09.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m09[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;34m[0;34m[37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;34m[0;34m[37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;34m[0;34m[37m | ||
10 | [A[79C | ||
11 | [1;34m[0;34m[37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;31m[0;37m Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | [1;34m[0;34m[37m | ||
18 | [A[79C | ||
19 | [1;34m[0;34m[37m | ||
20 | [A[79C | ||
21 | [1;34m[0;34m[37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;32m[0;37m Nova #3 [1;34m[0;34m[37m | ||
26 | [A[79C | ||
27 | [1;34m[0;34m[37m | ||
28 | [A[79C | ||
29 | [1;34m[0;34m[37m | ||
30 | [A[79C | ||
31 | [1;34m[0;34m[37m | ||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;32m[0;37m Nova #4 [1;34m[0;34m[37m | ||
36 | [A[79C | ||
37 | [1;34m[0;34m[37m | ||
38 | [A[79C | ||
39 | [34m[37m | ||
40 | [A[79C | ||
41 | [34m[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-10.ans b/src/infra/images/orig/zsim-10.ans new file mode 100644 index 0000000..85e80a2 --- /dev/null +++ b/src/infra/images/orig/zsim-10.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m10[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;34m[0;34m[37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;34m[0;34m[37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;34m[0;34m[37m | ||
10 | [A[79C | ||
11 | [1;34m[0;34m[37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;31m[0;37m Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | [1;34m[0;37m | ||
18 | [A[79C | ||
19 | [1;34m[0;34m[37m | ||
20 | [A[79C | ||
21 | [1;34m[0;34m[37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;30m[0;37m Nova #3 [1;30mCANCELED[0;37m | ||
26 | [A[79C | ||
27 | [1;30mCANCELED[0;37m | ||
28 | [A[79C | ||
29 | [1;30mCANCELED[0;37m | ||
30 | [A[79C | ||
31 | [1;30mCANCELED[0;37m | ||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;30m[0;37m Nova #4 [1;30mCANCELED[0;37m | ||
36 | [A[79C | ||
37 | [1;30mCANCELED[0;37m | ||
38 | [A[79C | ||
39 | [1;30mCANCELED[0;37m | ||
40 | [A[79C | ||
41 | [1;30mCANCELED[0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-11.ans b/src/infra/images/orig/zsim-11.ans new file mode 100644 index 0000000..0a7b7e2 --- /dev/null +++ b/src/infra/images/orig/zsim-11.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m11[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;34m[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;34m[0;37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | Ŀ [1;34m[0;34m[37m | ||
10 | [A[79C | ||
11 | [1;34m[0;34m[37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;31m[0;37m Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | [1;34m[0;34m[37m | ||
20 | [A[79C | ||
21 | [1;34m[0;34m[37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;30m[0;37m Nova #3 | ||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;30m[0;37m Nova #4 | ||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-12.ans b/src/infra/images/orig/zsim-12.ans new file mode 100644 index 0000000..072d29b --- /dev/null +++ b/src/infra/images/orig/zsim-12.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m12[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;32mSUCCESS[0;37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | Ŀ [1;34m[0;34m[37m | ||
10 | [A[79C | ||
11 | [1;34m[0;37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;31m[0;37m Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | [1;34m[0;34m[37m | ||
20 | [A[79C | ||
21 | [1;34m[0;34m[37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;32m[0;37m Nova #3 [34m[37m | ||
26 | [A[79C | ||
27 | [34m[37m | ||
28 | [A[79C | ||
29 | [34m[37m | ||
30 | [A[79C | ||
31 | [34m[37m | ||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;30m[0;37m Nova #4 | ||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-13.ans b/src/infra/images/orig/zsim-13.ans new file mode 100644 index 0000000..cf656e3 --- /dev/null +++ b/src/infra/images/orig/zsim-13.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m13[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;32mSUCCESS[0;37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | Ŀ [1;34m[0;37m | ||
10 | [A[79C | ||
11 | [1;32mSUCCESS[0;37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;31m[0;37m Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | [1;34m[0;34m[37m | ||
20 | [A[79C | ||
21 | [1;34m[0;34m[37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;32m[0;37m Nova #3 [1;34m[0;34m[37m | ||
26 | [A[79C | ||
27 | [1;34m[0;34m[37m | ||
28 | [A[79C | ||
29 | [34m[37m | ||
30 | [A[79C | ||
31 | [34m[37m | ||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;32m[0;37m Nova #4 [34m[37m | ||
36 | [A[79C | ||
37 | [34m[37m | ||
38 | [A[79C | ||
39 | [34m[37m | ||
40 | [A[79C | ||
41 | [34m[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-14.ans b/src/infra/images/orig/zsim-14.ans new file mode 100644 index 0000000..0151210 --- /dev/null +++ b/src/infra/images/orig/zsim-14.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m14[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | Ŀ | ||
4 | [A[79C | ||
5 | [1;32m[0;37m Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | [1;32mSUCCESS[0;37m [1;33m[0;37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | Ŀ [1;32mSUCCESS[0;37m | ||
10 | [A[79C | ||
11 | [1;32mSUCCESS[0;37m | ||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;31m[0;37m Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | [1;34m[0;34m[37m | ||
20 | [A[79C | ||
21 | [1;34m[0;34m[37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;32m[0;37m Nova #3 [1;34m[0;34m[37m | ||
26 | [A[79C | ||
27 | [1;34m[0;34m[37m | ||
28 | [A[79C | ||
29 | [1;34m[0;34m[37m | ||
30 | [A[79C | ||
31 | [1;34m[0;34m[37m | ||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;32m[0;37m Nova #4 [1;34m[0;34m[37m | ||
36 | [A[79C | ||
37 | [1;34m[0;34m[37m | ||
38 | [A[79C | ||
39 | [34m[37m | ||
40 | [A[79C | ||
41 | [34m[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-15.ans b/src/infra/images/orig/zsim-15.ans new file mode 100644 index 0000000..eb63977 --- /dev/null +++ b/src/infra/images/orig/zsim-15.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m15[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m[37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33m[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;31m[0;37m Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | [1;34m[0;37m | ||
20 | [A[79C | ||
21 | [1;34m[0;37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;32m[0;37m Nova #3 [1;34m[0;34m[37m | ||
26 | [A[79C | ||
27 | [1;34m[0;34m[37m | ||
28 | [A[79C | ||
29 | [1;34m[0;34m[37m | ||
30 | [A[79C | ||
31 | [1;34m[0;34m[37m | ||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;32m[0;37m Nova #4 [1;34m[0;34m[37m | ||
36 | [A[79C | ||
37 | [1;34m[0;34m[37m | ||
38 | [A[79C | ||
39 | [1;34m[0;34m[37m | ||
40 | [A[79C | ||
41 | [1;34m[0;34m[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-16.ans b/src/infra/images/orig/zsim-16.ans new file mode 100644 index 0000000..d007060 --- /dev/null +++ b/src/infra/images/orig/zsim-16.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m16[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m[37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33m[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | Ŀ | ||
14 | [A[79C | ||
15 | [1;31m[0;37m Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | [1;32mSUCCESS[0;37m | ||
20 | [A[79C | ||
21 | [1;32mSUCCESS[0;37m | ||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;32m[0;37m Nova #3 [1;34m[0;34m[37m | ||
26 | [A[79C | ||
27 | [1;34m[0;34m[37m | ||
28 | [A[79C | ||
29 | [1;34m[0;34m[37m | ||
30 | [A[79C | ||
31 | [1;34m[0;34m[37m | ||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;32m[0;37m Nova #4 [1;34m[0;34m[37m | ||
36 | [A[79C | ||
37 | [1;34m[0;34m[37m | ||
38 | [A[79C | ||
39 | [1;34m[0;34m[37m | ||
40 | [A[79C | ||
41 | [1;34m[0;34m[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-17.ans b/src/infra/images/orig/zsim-17.ans new file mode 100644 index 0000000..14c9258 --- /dev/null +++ b/src/infra/images/orig/zsim-17.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m17[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m[37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33m[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;32m[0;37m Nova #3 [1;34m[0;37m | ||
26 | [A[79C | ||
27 | [1;34m[0;37m | ||
28 | [A[79C | ||
29 | [1;34m[0;34m[37m | ||
30 | [A[79C | ||
31 | [1;34m[0;34m[37m | ||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;32m[0;37m Nova #4 [1;34m[0;34m[37m | ||
36 | [A[79C | ||
37 | [1;34m[0;34m[37m | ||
38 | [A[79C | ||
39 | [1;34m[0;34m[37m | ||
40 | [A[79C | ||
41 | [1;34m[0;34m[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-18.ans b/src/infra/images/orig/zsim-18.ans new file mode 100644 index 0000000..ed780ea --- /dev/null +++ b/src/infra/images/orig/zsim-18.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m18[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m[37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33m[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | Ŀ | ||
24 | [A[79C | ||
25 | [1;32m[0;37m Nova #3 [1;32m SUCCESS [0;37m | ||
26 | [A[79C | ||
27 | [1;32m SUCCESS [0;37m | ||
28 | [A[79C | ||
29 | [1;32m SUCCESS [0;37m | ||
30 | [A[79C | ||
31 | [1;32m SUCCESS [0;37m | ||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;32m[0;37m Nova #4 [1;34m[0;37m | ||
36 | [A[79C | ||
37 | [1;34m[0;37m | ||
38 | [A[79C | ||
39 | [1;34m[0;34m[37m | ||
40 | [A[79C | ||
41 | [1;34m[0;34m[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-19.ans b/src/infra/images/orig/zsim-19.ans new file mode 100644 index 0000000..c82b91c --- /dev/null +++ b/src/infra/images/orig/zsim-19.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m19[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m[37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33m[37m#1 | ||
10 | [A[79C | ||
11 | [1;33m[0;37m#3 | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;32m[0;37m Nova #4 [1;32m SUCCESS [0;37m | ||
36 | [A[79C | ||
37 | [1;32m SUCCESS [0;37m | ||
38 | [A[79C | ||
39 | [1;34m[0;37m | ||
40 | [A[79C | ||
41 | [1;32m SUCCESS [0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-20.ans b/src/infra/images/orig/zsim-20.ans new file mode 100644 index 0000000..4d75d8b --- /dev/null +++ b/src/infra/images/orig/zsim-20.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m20[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m[37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33m[37m#1 | ||
10 | [A[79C | ||
11 | [1;33m[0;37m#3 | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | Ŀ | ||
34 | [A[79C | ||
35 | [1;32m[0;37m Nova #4 [1;32m SUCCESS [0;37m | ||
36 | [A[79C | ||
37 | [1;32m SUCCESS [0;37m | ||
38 | [A[79C | ||
39 | [1;32m SUCCESS [0;37m | ||
40 | [A[79C | ||
41 | [1;32m SUCCESS [0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-21.ans b/src/infra/images/orig/zsim-21.ans new file mode 100644 index 0000000..5847053 --- /dev/null +++ b/src/infra/images/orig/zsim-21.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m21[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m[37mbadbeef [1;33m[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33m[37m#1 | ||
10 | [A[79C | ||
11 | [33m[37m#3 | ||
12 | [A[79C | ||
13 | [1;33m[0;37m#4 | ||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-22.ans b/src/infra/images/orig/zsim-22.ans new file mode 100644 index 0000000..3ad7700 --- /dev/null +++ b/src/infra/images/orig/zsim-22.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m22[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m[37mbadbeef [1;33m:([0;37m | ||
8 | [A[79C | ||
9 | [33m[37m#1 | ||
10 | [A[79C | ||
11 | [33m[37m#3 | ||
12 | [A[79C | ||
13 | [1;33m[0;37m#4 | ||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zsim-keyline.ans b/src/infra/images/orig/zsim-keyline.ans new file mode 100644 index 0000000..a2c3fb5 --- /dev/null +++ b/src/infra/images/orig/zsim-keyline.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m Zuul Git | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | [X] Nova #1 SUCCESS Nova Keystone | ||
6 | [A[79C | ||
7 | | SUCCESS * HEAD * HEAD | ||
8 | [A[79C | ||
9 | |--+ OOOOOOOOO.. | ||
10 | [A[79C | ||
11 | | | SUCCESS | ||
12 | [A[79C | ||
13 | | | | ||
14 | [A[79C | ||
15 | | [X] Keystone #2 FAILURE | ||
16 | [A[79C | ||
17 | | SUCCESS | ||
18 | [A[79C | ||
19 | | OOOOOOO.... | ||
20 | [A[79C | ||
21 | | OOOOOOOOO.. | ||
22 | [A[79C | ||
23 | | | ||
24 | [A[79C | ||
25 | [X] Nova #3 OOOOOOO.... | ||
26 | [A[79C | ||
27 | | OOOOOOO.... | ||
28 | [A[79C | ||
29 | | OOOOO...... | ||
30 | [A[79C | ||
31 | | OOOOOO..... | ||
32 | [A[79C | ||
33 | | | ||
34 | [A[79C | ||
35 | [X] Nova #4 OOOO....... | ||
36 | [A[79C | ||
37 | OOOO....... | ||
38 | [A[79C | ||
39 | OO......... | ||
40 | [A[79C | ||
41 | OOO........ | ||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zuul-status.ans b/src/infra/images/orig/zuul-status.ans new file mode 100644 index 0000000..d21c0ca --- /dev/null +++ b/src/infra/images/orig/zuul-status.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m[47m [40m | ||
2 | [A[79C | ||
3 | [47m [1;31m Check [0;47m [1;31m Gate[0;47m [1;31m Post[0;47m [40m | ||
4 | [A[79C | ||
5 | [30;47m[[42m [47m][46m+-----------------+[37;47m [30m[[42m [47m][46m+-----------------+[47m [[42m [47m][46m+-----------------+[37;40m | ||
6 | [A[79C | ||
7 | [47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m|[37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;40m | ||
8 | [A[79C | ||
9 | [47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m|[37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;40m | ||
10 | [A[79C | ||
11 | [47m [30;46m+-----------------+[37;47m [30m|[37m [30;46m+-----------------+[37;47m [30;46m+-----------------+[37;40m | ||
12 | [A[79C | ||
13 | [47m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;47m [30m|[37m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;47m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;40m | ||
14 | [A[79C | ||
15 | [47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;40m | ||
16 | [A[79C | ||
17 | [47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;40m | ||
18 | [A[79C | ||
19 | [47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;40m | ||
20 | [A[79C | ||
21 | [47m [30;46m+-----------------+[37;47m [30m|[37m [30;46m+-----------------+[37;47m [30;46m+-----------------+[37;40m | ||
22 | [A[79C | ||
23 | [47m [30m|[37m [1;31m Release [0;47m [40m | ||
24 | [A[79C | ||
25 | [30;47m[[42m [47m][46m+-----------------+[37;47m [30m +[[41m [47m][46m+---------------+[37;47m [40m | ||
26 | [A[79C | ||
27 | [47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m |[37m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [40m | ||
28 | [A[79C | ||
29 | [47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m |[37m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [40m | ||
30 | [A[79C | ||
31 | [47m [30;46m+-----------------+[37;47m [30m |[37m [30;46m+---------------+[37;47m [40m | ||
32 | [A[79C | ||
33 | [47m [30;46m|[1;31m pep8 [0;30;41mFAILURE[46m|[37;47m [30m |[37m [30m [37m [40m | ||
34 | [A[79C | ||
35 | [47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30m[[42m [47m][46m+-----------------+[47m [37m [40m | ||
36 | [A[79C | ||
37 | [47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[47m [37m [40m | ||
38 | [A[79C | ||
39 | [47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[47m [37m [40m | ||
40 | [A[79C | ||
41 | [47m [30;46m+-----------------+[37;47m [30m [37m [30;46m+-----------------+[47m [37m [40m | ||
42 | [A[79C | ||
43 | [47m [30m [37m [40m | ||
44 | [A[79C | ||
45 | [47m [40m | ||
46 | [A[79C | ||
47 | [47m [40m | ||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/orig/zuul.ans b/src/infra/images/orig/zuul.ans new file mode 100644 index 0000000..8442c58 --- /dev/null +++ b/src/infra/images/orig/zuul.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[1;33m͵[0;37m | ||
2 | [A[79C | ||
3 | [1;33mĴ[0;37m | ||
4 | [A[79C | ||
5 | [33m[1m[0;33m[37m | ||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | [32m _____ _[37m | ||
14 | [A[79C | ||
15 | [32m|__ / _ _ _| |[37m | ||
16 | [A[79C | ||
17 | [32m/ / | | | | | | |[37m | ||
18 | [A[79C | ||
19 | [32m/ /| |_| | |_| | |[37m | ||
20 | [A[79C | ||
21 | [32m/____\__,_|\__,_|_|[37m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | [33m[1m[0;33m[37m | ||
34 | [A[79C | ||
35 | [1;33mĴ[0;37m | ||
36 | [A[79C | ||
37 | [1;33m͵[0;37m | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/questions.ans b/src/infra/images/questions.ans new file mode 100644 index 0000000..450e9ac --- /dev/null +++ b/src/infra/images/questions.ans | |||
@@ -0,0 +1,27 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | [1;30m▄[33m▄▄▄▄▄▄▄▄▄▄▄▄▄▄[30m▄[0;37m | ||
10 | [A[79C | ||
11 | [1;33m█[0;30;43m ▄ [1;33m▄▄▄▄▄ [0;30;43m ▄ [1;40m█[0;37m | ||
12 | [A[79C | ||
13 | [1;33m█[0;30;43m [1;33m██[0;30;43m█▀▀[1;33m██[0;30;43m▄ [1;40m█[0;37m | ||
14 | [A[79C | ||
15 | [1;33m█[0;30;43m [1;33;40m▀▀[0;37m [30;43m [1;33m▄██[0;30;43m█ [1;40m█[0;37m | ||
16 | [A[79C | ||
17 | [1;33m█[0;30;43m [1;33m ██[0;30;43m█▀▀ [1;40m█[0;37m | ||
18 | [A[79C | ||
19 | [1;33m█[0;30;43m ▀▀ [1;40m█[0;37m | ||
20 | [A[79C | ||
21 | [1;33m█[0;30;43m [1;33m██[0;30;43m▄ [1;40m█[0;37m | ||
22 | [A[79C | ||
23 | [1;33m█[0;30;43m ▀ ▀▀▀ ▀ [1;40m█[0;37m | ||
24 | [A[79C | ||
25 | [1;30m▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀[0;37m | ||
26 | [A[79C | ||
27 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/redhat.ans b/src/infra/images/redhat.ans new file mode 100644 index 0000000..ca7597e --- /dev/null +++ b/src/infra/images/redhat.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m | ||
2 | [A[79C | ||
3 | [1;31m ▄████▄▄▄▄███▄▄▄▄[0;37m | ||
4 | [A[79C | ||
5 | [31m [1m█▀██████████▄ █▄ [0;37m | ||
6 | [A[79C | ||
7 | [1;31m▐█▄[0;37m [1;31m▀▀ ▄██████████▄[0;37m | ||
8 | [A[79C | ||
9 | [1;31m███ ▄███████████████[0;31m [37m | ||
10 | [A[79C | ||
11 | [31m [1m▄▄███ [0;37m [1;31m ▀▀██████████████████▄[0;37m | ||
12 | [A[79C | ||
13 | [1;31m ██████▄[0;31m [37m [31m [1m ▀▀███████████████▌[0;37m | ||
14 | [A[79C | ||
15 | [1;31m ▐███████▄ [0;31m [37m [1;31m▀██████████▀ ██▄▄[0;37m | ||
16 | [A[79C | ||
17 | [1;31m▐█████████▄▄ [0;31m [37m [1;31m █████████▄██████▌[0;31m [37m | ||
18 | [A[79C | ||
19 | [1;31m▀████████████▄▄ ███████████████▌[0;37m | ||
20 | [A[79C | ||
21 | [1;31m▀▀████████████████████████████▀[0;37m | ||
22 | [A[79C | ||
23 | [1m▐██▄ [0m [31m [1m▀▀█████████████████████▀[37m [0m | ||
24 | [A[79C | ||
25 | [1m ▀███▄██▄[0m [31m [1m▀▀▀▀████████▀▀▀▀ [0;37m | ||
26 | [A[79C | ||
27 | [1m ▄▄██▄ █████▄ ▄▄ ▄▄ ▄▄▄ [0m | ||
28 | [A[79C | ||
29 | [1m ████████▄▄▄███████▄▄███████████ [0m | ||
30 | [A[79C | ||
31 | [1m █████████████████████▄▄▀▀▄███▌ ▄▄ [0m | ||
32 | [A[79C | ||
33 | [1m ▀███████████████████████████ █████ [0m | ||
34 | [A[79C | ||
35 | [1m ▀███████████████████████▀ ▄▄████▀ [31m [0;37m | ||
36 | [A[79C | ||
37 | [1m ▀████████████████████▀ ▄█████▀ [0m [1m [0m | ||
38 | [A[79C | ||
39 | [1m ▀██████████████████████▀ [0m | ||
40 | [A[79C | ||
41 | [1m ▀███████████████▀▀ [0m | ||
42 | [A[79C | ||
43 | [1m ▀▀▀█████▀▀▀ [0m | ||
44 | [A[79C | ||
45 | |||
46 | [A[79C | ||
47 | |||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/startup1.ans b/src/infra/images/startup1.ans new file mode 100644 index 0000000..c657cdb --- /dev/null +++ b/src/infra/images/startup1.ans | |||
@@ -0,0 +1,39 @@ | |||
1 | [0m ┌──────┐ | ||
2 | [A[79C | ||
3 | │ [1;31mZuul[0;37m │ | ||
4 | [A[79C | ||
5 | └──┬───┘ | ||
6 | [A[79C | ||
7 | │ | ||
8 | [A[79C | ||
9 | ┌─────┬─────┬─────┬──┴──┬─────┬─────┬─────┐ | ||
10 | [A[79C | ||
11 | │ │ │ │ │ │ │ │ | ||
12 | [A[79C | ||
13 | ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ | ||
14 | [A[79C | ||
15 | │[1;31mzm1[0;37m│ │[1;31mzm2[0;37m│ │[1;31mzm3[0;37m│ │[1;31mzm4[0;37m│ │[1;31mzm5[0;37m│ │[1;31mzm6[0;37m│ │[1;31mzm7[0;37m│ │[1;31mzm8[0;37m│ | ||
16 | [A[79C | ||
17 | └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ | ||
18 | [A[79C | ||
19 | [1mnova keyst swift devst tmpst glanc dg projc[0m | ||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | [1m [0m | ||
38 | [A[79C | ||
39 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/startup2.ans b/src/infra/images/startup2.ans new file mode 100644 index 0000000..65e44fb --- /dev/null +++ b/src/infra/images/startup2.ans | |||
@@ -0,0 +1,39 @@ | |||
1 | [0m ┌──────┐ | ||
2 | [A[79C | ||
3 | │ [1;31mZuul[0;37m │ | ||
4 | [A[79C | ||
5 | └──┬───┘ | ||
6 | [A[79C | ||
7 | │ | ||
8 | [A[79C | ||
9 | ┌─────┬─────┬─────┬──┴──┬─────┬─────┬─────┐ | ||
10 | [A[79C | ||
11 | │ │ │ │ │ │ │ │ | ||
12 | [A[79C | ||
13 | ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ | ||
14 | [A[79C | ||
15 | │[1;31mzm1[0;37m│ │[1;31mzm2[0;37m│ │[1;31mzm3[0;37m│ │[1;31mzm4[0;37m│ │[1;31mzm5[0;37m│ │[1;31mzm6[0;37m│ │[1;31mzm7[0;37m│ │[1;31mzm8[0;37m│ | ||
16 | [A[79C | ||
17 | └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ | ||
18 | [A[79C | ||
19 | nova keyst swift devst tmpst glanc dg projc | ||
20 | [A[79C | ||
21 | [1mmastr newt mitak mastr mastr diabl mastr mastr[0m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | [1m [0m | ||
38 | [A[79C | ||
39 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/td.ans b/src/infra/images/td.ans new file mode 100644 index 0000000..dcbf243 --- /dev/null +++ b/src/infra/images/td.ans | |||
Binary files differ | |||
diff --git a/src/infra/images/testslide.ans b/src/infra/images/testslide.ans new file mode 100644 index 0000000..f2feea4 --- /dev/null +++ b/src/infra/images/testslide.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m[44m╔══════════════════════════════════════════════════════════════════╗[40m | ||
2 | [A[79C | ||
3 | [44m║ ┌──────────────────────────────────────────────────────────────┐ ║[40m | ||
4 | [A[79C | ||
5 | [44m║ │[40m [44m│ ║[40m | ||
6 | [A[79C | ||
7 | [44m║ │[40m [44m│ ║[40m | ||
8 | [A[79C | ||
9 | [44m║ │[40m [30m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
10 | [A[79C | ||
11 | [44m║ │[40m [31m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
12 | [A[79C | ||
13 | [44m║ │[40m [32m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
14 | [A[79C | ||
15 | [44m║ │[40m [33m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
16 | [A[79C | ||
17 | [44m║ │[40m [34m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
18 | [A[79C | ||
19 | [44m║ │[40m [35m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
20 | [A[79C | ||
21 | [44m║ │[40m [36m Test Slide [47m Test Slide [37;40m [44m│ ║[40m | ||
22 | [A[79C | ||
23 | [44m║ │[40m Test Slide [47m Test Slide [40m [44m│ ║[40m | ||
24 | [A[79C | ||
25 | [44m║ │[40m [1;30m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
26 | [A[79C | ||
27 | [44m║ │[40m [1;31m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
28 | [A[79C | ||
29 | [44m║ │[40m [1;32m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
30 | [A[79C | ||
31 | [44m║ │[40m [1;33m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
32 | [A[79C | ||
33 | [44m║ │[40m [1;34m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
34 | [A[79C | ||
35 | [44m║ │[40m [1;35m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
36 | [A[79C | ||
37 | [44m║ │[40m [1;36m Test Slide [47m Test Slide [0;37;40m [44m│ ║[40m | ||
38 | [A[79C | ||
39 | [44m║ │[40m [1m Test Slide [47m Test Slide [0;40m [44m│ ║[40m | ||
40 | [A[79C | ||
41 | [44m║ │[40m [44m│ ║[40m | ||
42 | [A[79C | ||
43 | [44m║ │[40m [44m│ ║[40m | ||
44 | [A[79C | ||
45 | [44m║ └──────────────────────────────────────────────────────────────┘ ║[40m | ||
46 | [A[79C | ||
47 | [44m╚══════════════════════════════════════════════════════════════════╝[40m | ||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/title.ans b/src/infra/images/title.ans new file mode 100644 index 0000000..c784327 --- /dev/null +++ b/src/infra/images/title.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m [1;34m______________[0;37m [1;34m.──.[0;37m [1;34m.──.[0;37m [1;34m______________[0;37m | ||
2 | [A[79C | ||
3 | [1;34m( ( [0;37m [1;34m\ \_____)____(_____/ /[0;37m [1;34m ) )[0;37m | ||
4 | [A[79C | ||
5 | [1;34m\ )[0;37m [1;34m`─────' [0;37m [1;34m `─────'[0;37m [1;34m( /[0;37m | ||
6 | [A[79C | ||
7 | [1;34m)/ [0;37m [1;34m \([0;37m | ||
8 | [A[79C | ||
9 | [1;34m /' [0;37m [1mREST APIs and the Return of the[0m [1;34m `\ [0;37m | ||
10 | [A[79C | ||
11 | [1;34mO [0;37m [1;32m ___ ___ _ _ ___ ___ _ ___ [0;37m [1;34m O[0;37m | ||
12 | [A[79C | ||
13 | [1;34m│[0;37m [1;32m / __/ _ \| \| / __|/ _ \| | | __|[0;37m [1;34m│[0;37m | ||
14 | [A[79C | ||
15 | [1;34m│[0;37m [1;32m| (_| (_) | .` \__ \ (_) | |__| _| [0;37m [1;34m│[0;37m | ||
16 | [A[79C | ||
17 | [1;34m│[0;37m [1;32m \___\___/|_|\_|___/\___/|____|___|[0;37m [1;34m│[0;37m | ||
18 | [A[79C | ||
19 | [1;34m│[0;37m [1;34m│[0;37m | ||
20 | [A[79C | ||
21 | [1;34m│[0;37m [1mApplication[0m [1;34m│[0;37m | ||
22 | [A[79C | ||
23 | [1;34m│[0;37m [1;34m│[0;37m | ||
24 | [A[79C | ||
25 | [1;34mO [0;37m [33mJames E. Blair <corvus@inaugust.com>[37m [1;34m O[0;37m | ||
26 | [A[79C | ||
27 | [1;34m \.[0;37m [1;34m./ [0;37m | ||
28 | [A[79C | ||
29 | [1;34m)\ [0;37m [1;34m,____[0;37m [1;34m____,[0;37m [1;34m /([0;37m | ||
30 | [A[79C | ||
31 | [1;34m/ )[0;37m [1;34m/ ____\ ____ /____ \[0;37m [1;34m( \[0;37m | ||
32 | [A[79C | ||
33 | [1;34m( (_________/_/ ) ( \_\_________) )[0;37m | ||
34 | [A[79C | ||
35 | [1;34m ~-' [0;37m [1;34m`──'[0;37m [1;34m`──'[0;37m [1;34m `-~ [0;37m | ||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/workflow.ans b/src/infra/images/workflow.ans new file mode 100644 index 0000000..067cc56 --- /dev/null +++ b/src/infra/images/workflow.ans | |||
@@ -0,0 +1,29 @@ | |||
1 | [0m Hack Review Test | ||
2 | [A[79C | ||
3 | ========= ========== ========== | ||
4 | [A[79C | ||
5 | |||
6 | [A[79C | ||
7 | push approve | ||
8 | [A[79C | ||
9 | +-------------+ +-------------+ | ||
10 | [A[79C | ||
11 | | | | | | ||
12 | [A[79C | ||
13 | +------+--+ +--v----+--+ +--v-------+ | ||
14 | [A[79C | ||
15 | | | | | | | | ||
16 | [A[79C | ||
17 | | $EDITOR | | Gerrit | | Zuul | | ||
18 | [A[79C | ||
19 | | | | | | | | ||
20 | [A[79C | ||
21 | +------^--+ +--+----^--+ +--+-------+ | ||
22 | [A[79C | ||
23 | | | | | | ||
24 | [A[79C | ||
25 | +-------------+ +-------------+ | ||
26 | [A[79C | ||
27 | clone merge | ||
28 | [A[79C | ||
29 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-00.ans b/src/infra/images/zsim-00.ans new file mode 100644 index 0000000..bbfdc82 --- /dev/null +++ b/src/infra/images/zsim-00.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m00[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-01.ans b/src/infra/images/zsim-01.ans new file mode 100644 index 0000000..742a968 --- /dev/null +++ b/src/infra/images/zsim-01.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m01[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;30m▐█▌[0;37m│ Nova #1 Nova Keystone | ||
6 | [A[79C | ||
7 | └───┘ [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-02.ans b/src/infra/images/zsim-02.ans new file mode 100644 index 0000000..28809c2 --- /dev/null +++ b/src/infra/images/zsim-02.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m02[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [34m█████████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └───┘ [34m█████████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [34m█████████[37m | ||
10 | [A[79C | ||
11 | [34m█████████[37m | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-03.ans b/src/infra/images/zsim-03.ans new file mode 100644 index 0000000..c6a2bfd --- /dev/null +++ b/src/infra/images/zsim-03.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m03[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;34m█[0;34m████████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m█[0;34m████████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [34m█████████[37m | ||
10 | [A[79C | ||
11 | │ [34m█████████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┐ | ||
14 | [A[79C | ||
15 | │[1;30m▐█▌[0;37m│ Keystone #2 | ||
16 | [A[79C | ||
17 | └───┘ | ||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-04.ans b/src/infra/images/zsim-04.ans new file mode 100644 index 0000000..8893ed8 --- /dev/null +++ b/src/infra/images/zsim-04.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m04[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;34m██[0;34m███████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m██[0;34m███████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [34m█████████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m█[0;34m████████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┐ | ||
14 | [A[79C | ||
15 | │[1;32m▐█▌[0;37m│ Keystone #2 [34m█████████[37m | ||
16 | [A[79C | ||
17 | └───┘ [34m█████████[37m | ||
18 | [A[79C | ||
19 | [34m█████████[37m | ||
20 | [A[79C | ||
21 | [34m█████████[37m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-05.ans b/src/infra/images/zsim-05.ans new file mode 100644 index 0000000..be3cd9e --- /dev/null +++ b/src/infra/images/zsim-05.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m05[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;34m███[0;34m██████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m███[0;34m██████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m█[0;34m████████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m██[0;34m███████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┐ | ||
14 | [A[79C | ||
15 | │[1;32m▐█▌[0;37m│ Keystone #2 [1;34m██[0;34m███████[37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m█[0;34m████████[37m | ||
18 | [A[79C | ||
19 | │ [34m█████████[37m | ||
20 | [A[79C | ||
21 | │ [34m█████████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┐ | ||
24 | [A[79C | ||
25 | │[1;30m▐█▌[0;37m│ Nova #3 | ||
26 | [A[79C | ||
27 | └───┘ | ||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-06.ans b/src/infra/images/zsim-06.ans new file mode 100644 index 0000000..64de1d6 --- /dev/null +++ b/src/infra/images/zsim-06.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m06[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;34m████[0;34m█████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m████[0;34m█████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m██[0;34m███████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m███[0;34m██████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┐ | ||
14 | [A[79C | ||
15 | │[1;32m▐█▌[0;37m│ Keystone #2 [1;34m█████[0;34m████[37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m███[0;34m██████[37m | ||
18 | [A[79C | ||
19 | │ [1;34m█[0;34m████████[37m | ||
20 | [A[79C | ||
21 | │ [1;34m█[0;34m████████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┐ | ||
24 | [A[79C | ||
25 | │[1;32m▐█▌[0;37m│ Nova #3 [34m█████████[37m | ||
26 | [A[79C | ||
27 | └───┘ [34m█████████[37m | ||
28 | [A[79C | ||
29 | [34m█████████[37m | ||
30 | [A[79C | ||
31 | [34m█████████[37m | ||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-07.ans b/src/infra/images/zsim-07.ans new file mode 100644 index 0000000..6a34279 --- /dev/null +++ b/src/infra/images/zsim-07.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m07[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;34m█████[0;34m████[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m█████[0;34m████[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m███[0;34m██████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m████[0;34m█████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┐ | ||
14 | [A[79C | ||
15 | │[1;32m▐█▌[0;37m│ Keystone #2 [1;34m███████[0;34m██[37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m███[0;34m██████[37m | ||
18 | [A[79C | ||
19 | │ [1;34m█[0;34m████████[37m | ||
20 | [A[79C | ||
21 | │ [1;34m█[0;34m████████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┐ | ||
24 | [A[79C | ||
25 | │[1;32m▐█▌[0;37m│ Nova #3 [1;34m█[0;34m████████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m█[0;34m████████[37m | ||
28 | [A[79C | ||
29 | │ [34m█████████[37m | ||
30 | [A[79C | ||
31 | │ [34m█████████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;30m▐█▌[0;37m│ Nova #4 | ||
36 | [A[79C | ||
37 | └───┘ | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-08.ans b/src/infra/images/zsim-08.ans new file mode 100644 index 0000000..318c67b --- /dev/null +++ b/src/infra/images/zsim-08.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m08[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;34m██████[0;34m███[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m██████[0;34m███[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m████[0;34m█████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m█████[0;34m████[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┐ | ||
14 | [A[79C | ||
15 | │[1;32m▐█▌[0;37m│ Keystone #2 [1;34m████████[0;34m█[37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m███[0;34m██████[37m | ||
18 | [A[79C | ||
19 | │ [1;34m██[0;34m███████[37m | ||
20 | [A[79C | ||
21 | │ [1;34m███[0;34m██████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┐ | ||
24 | [A[79C | ||
25 | │[1;32m▐█▌[0;37m│ Nova #3 [1;34m██[0;34m███████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m██[0;34m███████[37m | ||
28 | [A[79C | ||
29 | │ [34m█████████[37m | ||
30 | [A[79C | ||
31 | │ [1;34m█[0;34m████████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;32m▐█▌[0;37m│ Nova #4 [34m█████████[37m | ||
36 | [A[79C | ||
37 | └───┘ [34m█████████[37m | ||
38 | [A[79C | ||
39 | [34m█████████[37m | ||
40 | [A[79C | ||
41 | [34m█████████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-09.ans b/src/infra/images/zsim-09.ans new file mode 100644 index 0000000..441979f --- /dev/null +++ b/src/infra/images/zsim-09.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m09[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;34m███████[0;34m██[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m███████[0;34m██[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m█████[0;34m████[37m | ||
10 | [A[79C | ||
11 | │ [1;34m██████[0;34m███[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┐ | ||
14 | [A[79C | ||
15 | │[1;31m▐█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m███████[0;34m██[37m | ||
18 | [A[79C | ||
19 | │ [1;34m███[0;34m██████[37m | ||
20 | [A[79C | ||
21 | │ [1;34m███[0;34m██████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┐ | ||
24 | [A[79C | ||
25 | │[1;32m▐█▌[0;37m│ Nova #3 [1;34m███[0;34m██████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m███[0;34m██████[37m | ||
28 | [A[79C | ||
29 | │ [1;34m█[0;34m████████[37m | ||
30 | [A[79C | ||
31 | │ [1;34m██[0;34m███████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;32m▐█▌[0;37m│ Nova #4 [1;34m█[0;34m████████[37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m█[0;34m████████[37m | ||
38 | [A[79C | ||
39 | [34m█████████[37m | ||
40 | [A[79C | ||
41 | [34m█████████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-10.ans b/src/infra/images/zsim-10.ans new file mode 100644 index 0000000..818789e --- /dev/null +++ b/src/infra/images/zsim-10.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m10[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;34m████████[0;34m█[37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m████████[0;34m█[37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | │ [1;34m██████[0;34m███[37m | ||
10 | [A[79C | ||
11 | │ [1;34m███████[0;34m██[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┐ | ||
14 | [A[79C | ||
15 | │[1;31m▐█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | └─┬─┘ [1;34m█████████[0;37m | ||
18 | [A[79C | ||
19 | │ [1;34m████[0;34m█████[37m | ||
20 | [A[79C | ||
21 | │ [1;34m████[0;34m█████[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┐ | ||
24 | [A[79C | ||
25 | │[1;30m▐█▌[0;37m│ Nova #3 [1;30mCANCELED[0;37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;30mCANCELED[0;37m | ||
28 | [A[79C | ||
29 | │ [1;30mCANCELED[0;37m | ||
30 | [A[79C | ||
31 | │ [1;30mCANCELED[0;37m | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;30m▐█▌[0;37m│ Nova #4 [1;30mCANCELED[0;37m | ||
36 | [A[79C | ||
37 | └───┘ [1;30mCANCELED[0;37m | ||
38 | [A[79C | ||
39 | [1;30mCANCELED[0;37m | ||
40 | [A[79C | ||
41 | [1;30mCANCELED[0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-11.ans b/src/infra/images/zsim-11.ans new file mode 100644 index 0000000..ddb8bde --- /dev/null +++ b/src/infra/images/zsim-11.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m11[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;34m█████████[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;34m█████████[0;37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | └──┐ [1;34m███████[0;34m██[37m | ||
10 | [A[79C | ||
11 | │ [1;34m████████[0;34m█[37m | ||
12 | [A[79C | ||
13 | ┌─┴─┐ | ||
14 | [A[79C | ||
15 | │[1;31m▐█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | └───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | [1;34m█████[0;34m████[37m | ||
20 | [A[79C | ||
21 | [1;34m█████[0;34m████[37m | ||
22 | [A[79C | ||
23 | ┌───┐ | ||
24 | [A[79C | ||
25 | │[1;30m▐█▌[0;37m│ Nova #3 | ||
26 | [A[79C | ||
27 | └─┬─┘ | ||
28 | [A[79C | ||
29 | │ | ||
30 | [A[79C | ||
31 | │ | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;30m▐█▌[0;37m│ Nova #4 | ||
36 | [A[79C | ||
37 | └───┘ | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-12.ans b/src/infra/images/zsim-12.ans new file mode 100644 index 0000000..69eef26 --- /dev/null +++ b/src/infra/images/zsim-12.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m12[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;32mSUCCESS[0;37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ├──┐ [1;34m████████[0;34m█[37m | ||
10 | [A[79C | ||
11 | │ │ [1;34m█████████[0;37m | ||
12 | [A[79C | ||
13 | │┌─┴─┐ | ||
14 | [A[79C | ||
15 | ││[1;31m▐█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | │└───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | │ [1;34m██████[0;34m███[37m | ||
20 | [A[79C | ||
21 | │ [1;34m██████[0;34m███[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┐ | ||
24 | [A[79C | ||
25 | │[1;32m▐█▌[0;37m│ Nova #3 [34m█████████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [34m█████████[37m | ||
28 | [A[79C | ||
29 | │ [34m█████████[37m | ||
30 | [A[79C | ||
31 | │ [34m█████████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;30m▐█▌[0;37m│ Nova #4 | ||
36 | [A[79C | ||
37 | └───┘ | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-13.ans b/src/infra/images/zsim-13.ans new file mode 100644 index 0000000..5b8b54b --- /dev/null +++ b/src/infra/images/zsim-13.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m13[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;32mSUCCESS[0;37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ├──┐ [1;34m█████████[0;37m | ||
10 | [A[79C | ||
11 | │ │ [1;32mSUCCESS[0;37m | ||
12 | [A[79C | ||
13 | │┌─┴─┐ | ||
14 | [A[79C | ||
15 | ││[1;31m▐█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | │└───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | │ [1;34m███████[0;34m██[37m | ||
20 | [A[79C | ||
21 | │ [1;34m███████[0;34m██[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┐ | ||
24 | [A[79C | ||
25 | │[1;32m▐█▌[0;37m│ Nova #3 [1;34m█[0;34m████████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m█[0;34m████████[37m | ||
28 | [A[79C | ||
29 | │ [34m█████████[37m | ||
30 | [A[79C | ||
31 | │ [34m█████████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;32m▐█▌[0;37m│ Nova #4 [34m█████████[37m | ||
36 | [A[79C | ||
37 | └───┘ [34m█████████[37m | ||
38 | [A[79C | ||
39 | [34m█████████[37m | ||
40 | [A[79C | ||
41 | [34m█████████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-14.ans b/src/infra/images/zsim-14.ans new file mode 100644 index 0000000..f0ec335 --- /dev/null +++ b/src/infra/images/zsim-14.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m14[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | ┌───┐ | ||
4 | [A[79C | ||
5 | │[1;32m▐█▌[0;37m│ Nova #1 [1;32mSUCCESS[0;37m Nova Keystone | ||
6 | [A[79C | ||
7 | └─┬─┘ [1;32mSUCCESS[0;37m [1;33m■[0;37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | ├──┐ [1;32mSUCCESS[0;37m | ||
10 | [A[79C | ||
11 | │ │ [1;32mSUCCESS[0;37m | ||
12 | [A[79C | ||
13 | │┌─┴─┐ | ||
14 | [A[79C | ||
15 | ││[1;31m▐█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | │└───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | │ [1;34m████████[0;34m█[37m | ||
20 | [A[79C | ||
21 | │ [1;34m████████[0;34m█[37m | ||
22 | [A[79C | ||
23 | ┌─┴─┐ | ||
24 | [A[79C | ||
25 | │[1;32m▐█▌[0;37m│ Nova #3 [1;34m███[0;34m██████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m███[0;34m██████[37m | ||
28 | [A[79C | ||
29 | │ [1;34m█[0;34m████████[37m | ||
30 | [A[79C | ||
31 | │ [1;34m██[0;34m███████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;32m▐█▌[0;37m│ Nova #4 [1;34m█[0;34m████████[37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m█[0;34m████████[37m | ||
38 | [A[79C | ||
39 | [34m█████████[37m | ||
40 | [A[79C | ||
41 | [34m█████████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-15.ans b/src/infra/images/zsim-15.ans new file mode 100644 index 0000000..5ea15df --- /dev/null +++ b/src/infra/images/zsim-15.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m15[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m■[37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33m■[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | │┌───┐ | ||
14 | [A[79C | ||
15 | ││[1;31m▐█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | │└───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | │ [1;34m█████████[0;37m | ||
20 | [A[79C | ||
21 | │ [1;34m█████████[0;37m | ||
22 | [A[79C | ||
23 | ┌─┴─┐ | ||
24 | [A[79C | ||
25 | │[1;32m▐█▌[0;37m│ Nova #3 [1;34m█████[0;34m████[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m█████[0;34m████[37m | ||
28 | [A[79C | ||
29 | │ [1;34m██[0;34m███████[37m | ||
30 | [A[79C | ||
31 | │ [1;34m███[0;34m██████[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;32m▐█▌[0;37m│ Nova #4 [1;34m███[0;34m██████[37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m███[0;34m██████[37m | ||
38 | [A[79C | ||
39 | [1;34m█[0;34m████████[37m | ||
40 | [A[79C | ||
41 | [1;34m██[0;34m███████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-16.ans b/src/infra/images/zsim-16.ans new file mode 100644 index 0000000..0d18c1b --- /dev/null +++ b/src/infra/images/zsim-16.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m16[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m■[37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33m■[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | │┌───┐ | ||
14 | [A[79C | ||
15 | ││[1;31m▐█▌[0;37m│ Keystone #2 [1;31mFAILURE[0;37m | ||
16 | [A[79C | ||
17 | │└───┘ [1;32mSUCCESS[0;37m | ||
18 | [A[79C | ||
19 | │ [1;32mSUCCESS[0;37m | ||
20 | [A[79C | ||
21 | │ [1;32mSUCCESS[0;37m | ||
22 | [A[79C | ||
23 | ┌─┴─┐ | ||
24 | [A[79C | ||
25 | │[1;32m▐█▌[0;37m│ Nova #3 [1;34m███████[0;34m██[37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m███████[0;34m██[37m | ||
28 | [A[79C | ||
29 | │ [1;34m█████[0;34m████[37m | ||
30 | [A[79C | ||
31 | │ [1;34m██████[0;34m███[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;32m▐█▌[0;37m│ Nova #4 [1;34m█████[0;34m████[37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m█████[0;34m████[37m | ||
38 | [A[79C | ||
39 | [1;34m███[0;34m██████[37m | ||
40 | [A[79C | ||
41 | [1;34m████[0;34m█████[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-17.ans b/src/infra/images/zsim-17.ans new file mode 100644 index 0000000..b301dc8 --- /dev/null +++ b/src/infra/images/zsim-17.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m17[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m■[37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33m■[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | ┌───┐ | ||
24 | [A[79C | ||
25 | │[1;32m▐█▌[0;37m│ Nova #3 [1;34m█████████[0;37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;34m█████████[0;37m | ||
28 | [A[79C | ||
29 | │ [1;34m███████[0;34m██[37m | ||
30 | [A[79C | ||
31 | │ [1;34m████████[0;34m█[37m | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;32m▐█▌[0;37m│ Nova #4 [1;34m███████[0;34m██[37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m███████[0;34m██[37m | ||
38 | [A[79C | ||
39 | [1;34m█████[0;34m████[37m | ||
40 | [A[79C | ||
41 | [1;34m██████[0;34m███[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-18.ans b/src/infra/images/zsim-18.ans new file mode 100644 index 0000000..da25c2e --- /dev/null +++ b/src/infra/images/zsim-18.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m18[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m■[37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [1;33m■[0;37m#1 | ||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | ┌───┐ | ||
24 | [A[79C | ||
25 | │[1;32m▐█▌[0;37m│ Nova #3 [1;32m SUCCESS [0;37m | ||
26 | [A[79C | ||
27 | └─┬─┘ [1;32m SUCCESS [0;37m | ||
28 | [A[79C | ||
29 | │ [1;32m SUCCESS [0;37m | ||
30 | [A[79C | ||
31 | │ [1;32m SUCCESS [0;37m | ||
32 | [A[79C | ||
33 | ┌─┴─┐ | ||
34 | [A[79C | ||
35 | │[1;32m▐█▌[0;37m│ Nova #4 [1;34m█████████[0;37m | ||
36 | [A[79C | ||
37 | └───┘ [1;34m█████████[0;37m | ||
38 | [A[79C | ||
39 | [1;34m███████[0;34m██[37m | ||
40 | [A[79C | ||
41 | [1;34m████████[0;34m█[37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-19.ans b/src/infra/images/zsim-19.ans new file mode 100644 index 0000000..14b9e51 --- /dev/null +++ b/src/infra/images/zsim-19.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m19[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m■[37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33m■[37m#1 | ||
10 | [A[79C | ||
11 | [1;33m■[0;37m#3 | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | ┌───┐ | ||
34 | [A[79C | ||
35 | │[1;32m▐█▌[0;37m│ Nova #4 [1;32m SUCCESS [0;37m | ||
36 | [A[79C | ||
37 | └───┘ [1;32m SUCCESS [0;37m | ||
38 | [A[79C | ||
39 | [1;34m█████████[0;37m | ||
40 | [A[79C | ||
41 | [1;32m SUCCESS [0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-20.ans b/src/infra/images/zsim-20.ans new file mode 100644 index 0000000..e1a3b8c --- /dev/null +++ b/src/infra/images/zsim-20.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m20[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m■[37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33m■[37m#1 | ||
10 | [A[79C | ||
11 | [1;33m■[0;37m#3 | ||
12 | [A[79C | ||
13 | |||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | ┌───┐ | ||
34 | [A[79C | ||
35 | │[1;32m▐█▌[0;37m│ Nova #4 [1;32m SUCCESS [0;37m | ||
36 | [A[79C | ||
37 | └───┘ [1;32m SUCCESS [0;37m | ||
38 | [A[79C | ||
39 | [1;32m SUCCESS [0;37m | ||
40 | [A[79C | ||
41 | [1;32m SUCCESS [0;37m [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-21.ans b/src/infra/images/zsim-21.ans new file mode 100644 index 0000000..ccfeef2 --- /dev/null +++ b/src/infra/images/zsim-21.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m21[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m■[37mbadbeef [1;33m■[0;37mbeefcab | ||
8 | [A[79C | ||
9 | [33m■[37m#1 | ||
10 | [A[79C | ||
11 | [33m■[37m#3 | ||
12 | [A[79C | ||
13 | [1;33m■[0;37m#4 | ||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-22.ans b/src/infra/images/zsim-22.ans new file mode 100644 index 0000000..8be6db5 --- /dev/null +++ b/src/infra/images/zsim-22.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[30m22[37m [1mZuul[0m [1mGit[0m | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | Nova Keystone | ||
6 | [A[79C | ||
7 | [33m■[37mbadbeef [1;33m:([0;37m | ||
8 | [A[79C | ||
9 | [33m■[37m#1 | ||
10 | [A[79C | ||
11 | [33m■[37m#3 | ||
12 | [A[79C | ||
13 | [1;33m■[0;37m#4 | ||
14 | [A[79C | ||
15 | |||
16 | [A[79C | ||
17 | |||
18 | [A[79C | ||
19 | |||
20 | [A[79C | ||
21 | |||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | |||
34 | [A[79C | ||
35 | |||
36 | [A[79C | ||
37 | |||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | [30m.[37m | ||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zsim-keyline.ans b/src/infra/images/zsim-keyline.ans new file mode 100644 index 0000000..a2c3fb5 --- /dev/null +++ b/src/infra/images/zsim-keyline.ans | |||
@@ -0,0 +1,45 @@ | |||
1 | [0m Zuul Git | ||
2 | [A[79C | ||
3 | |||
4 | [A[79C | ||
5 | [X] Nova #1 SUCCESS Nova Keystone | ||
6 | [A[79C | ||
7 | | SUCCESS * HEAD * HEAD | ||
8 | [A[79C | ||
9 | |--+ OOOOOOOOO.. | ||
10 | [A[79C | ||
11 | | | SUCCESS | ||
12 | [A[79C | ||
13 | | | | ||
14 | [A[79C | ||
15 | | [X] Keystone #2 FAILURE | ||
16 | [A[79C | ||
17 | | SUCCESS | ||
18 | [A[79C | ||
19 | | OOOOOOO.... | ||
20 | [A[79C | ||
21 | | OOOOOOOOO.. | ||
22 | [A[79C | ||
23 | | | ||
24 | [A[79C | ||
25 | [X] Nova #3 OOOOOOO.... | ||
26 | [A[79C | ||
27 | | OOOOOOO.... | ||
28 | [A[79C | ||
29 | | OOOOO...... | ||
30 | [A[79C | ||
31 | | OOOOOO..... | ||
32 | [A[79C | ||
33 | | | ||
34 | [A[79C | ||
35 | [X] Nova #4 OOOO....... | ||
36 | [A[79C | ||
37 | OOOO....... | ||
38 | [A[79C | ||
39 | OO......... | ||
40 | [A[79C | ||
41 | OOO........ | ||
42 | [A[79C | ||
43 | |||
44 | [A[79C | ||
45 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zuul-status.ans b/src/infra/images/zuul-status.ans new file mode 100644 index 0000000..d21c0ca --- /dev/null +++ b/src/infra/images/zuul-status.ans | |||
@@ -0,0 +1,49 @@ | |||
1 | [0m[47m [40m | ||
2 | [A[79C | ||
3 | [47m [1;31m Check [0;47m [1;31m Gate[0;47m [1;31m Post[0;47m [40m | ||
4 | [A[79C | ||
5 | [30;47m[[42m [47m][46m+-----------------+[37;47m [30m[[42m [47m][46m+-----------------+[47m [[42m [47m][46m+-----------------+[37;40m | ||
6 | [A[79C | ||
7 | [47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m|[37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;40m | ||
8 | [A[79C | ||
9 | [47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m|[37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;40m | ||
10 | [A[79C | ||
11 | [47m [30;46m+-----------------+[37;47m [30m|[37m [30;46m+-----------------+[37;47m [30;46m+-----------------+[37;40m | ||
12 | [A[79C | ||
13 | [47m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;47m [30m|[37m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;47m [30;46m|[1;31m pep8 [0;30;42mSUCCESS[46m|[37;40m | ||
14 | [A[79C | ||
15 | [47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;40m | ||
16 | [A[79C | ||
17 | [47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;40m | ||
18 | [A[79C | ||
19 | [47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30m|[37m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;40m | ||
20 | [A[79C | ||
21 | [47m [30;46m+-----------------+[37;47m [30m|[37m [30;46m+-----------------+[37;47m [30;46m+-----------------+[37;40m | ||
22 | [A[79C | ||
23 | [47m [30m|[37m [1;31m Release [0;47m [40m | ||
24 | [A[79C | ||
25 | [30;47m[[42m [47m][46m+-----------------+[37;47m [30m +[[41m [47m][46m+---------------+[37;47m [40m | ||
26 | [A[79C | ||
27 | [47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [30m |[37m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[37;47m [40m | ||
28 | [A[79C | ||
29 | [47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [30m |[37m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[37;47m [40m | ||
30 | [A[79C | ||
31 | [47m [30;46m+-----------------+[37;47m [30m |[37m [30;46m+---------------+[37;47m [40m | ||
32 | [A[79C | ||
33 | [47m [30;46m|[1;31m pep8 [0;30;41mFAILURE[46m|[37;47m [30m |[37m [30m [37m [40m | ||
34 | [A[79C | ||
35 | [47m [30;46m| [1;31mdocs [0;30;46m [36;44mxx [30;46m |[37;47m [30m[[42m [47m][46m+-----------------+[47m [37m [40m | ||
36 | [A[79C | ||
37 | [47m [30;46m| [1;31mpython27[0;30;46m [36;44mx [30;46m |[37;47m [30m [37m [30;46m|[1;31mnova [0;30;46m45:20[1;31m [0;30;46m|[47m [37m [40m | ||
38 | [A[79C | ||
39 | [47m [30;46m| [1;31mtempest[0;30;46m [36;44mx [30;46m |[37;47m [30m [37m [30;46m|[1;31m321465 [0;30;46m13:37[1;31m [0;30;46m|[47m [37m [40m | ||
40 | [A[79C | ||
41 | [47m [30;46m+-----------------+[37;47m [30m [37m [30;46m+-----------------+[47m [37m [40m | ||
42 | [A[79C | ||
43 | [47m [30m [37m [40m | ||
44 | [A[79C | ||
45 | [47m [40m | ||
46 | [A[79C | ||
47 | [47m [40m | ||
48 | [A[79C | ||
49 | [0m \ No newline at end of file | ||
diff --git a/src/infra/images/zuul.ans b/src/infra/images/zuul.ans new file mode 100644 index 0000000..6369083 --- /dev/null +++ b/src/infra/images/zuul.ans | |||
@@ -0,0 +1,43 @@ | |||
1 | [0m[1;33m══════════════════════╡│││╞═════════════════════[0;37m | ||
2 | [A[79C | ||
3 | [1;33m────────────────────┤│├───────────────────[0;37m | ||
4 | [A[79C | ||
5 | [33m──────────────────[1m│[0;33m─────────────────[37m | ||
6 | [A[79C | ||
7 | |||
8 | [A[79C | ||
9 | |||
10 | [A[79C | ||
11 | |||
12 | [A[79C | ||
13 | [32m _____ _[37m | ||
14 | [A[79C | ||
15 | [32m|__ / _ _ _| |[37m | ||
16 | [A[79C | ||
17 | [32m/ / | | | | | | |[37m | ||
18 | [A[79C | ||
19 | [32m/ /| |_| | |_| | |[37m | ||
20 | [A[79C | ||
21 | [32m/____\__,_|\__,_|_|[37m | ||
22 | [A[79C | ||
23 | |||
24 | [A[79C | ||
25 | |||
26 | [A[79C | ||
27 | |||
28 | [A[79C | ||
29 | |||
30 | [A[79C | ||
31 | |||
32 | [A[79C | ||
33 | [33m──────────────────[1m│[0;33m─────────────────[37m | ||
34 | [A[79C | ||
35 | [1;33m────────────────────┤│├───────────────────[0;37m | ||
36 | [A[79C | ||
37 | [1;33m══════════════════════╡│││╞═════════════════════[0;37m | ||
38 | [A[79C | ||
39 | |||
40 | [A[79C | ||
41 | |||
42 | [A[79C | ||
43 | [0m \ No newline at end of file | ||
diff --git a/src/infra/infra.rst b/src/infra/infra.rst new file mode 100644 index 0000000..4b199d3 --- /dev/null +++ b/src/infra/infra.rst | |||
@@ -0,0 +1,1239 @@ | |||
1 | . display in 68x24 | ||
2 | .. display in 88x24 | ||
3 | |||
4 | .. pygments yaml? (only file breaks (---) tinted) | ||
5 | .. slide on high level v3 changes | ||
6 | .. slide on nodepool | ||
7 | |||
8 | .. transition:: dissolve | ||
9 | :duration: 0.4 | ||
10 | |||
11 | Test Slide | ||
12 | ========== | ||
13 | .. hidetitle:: | ||
14 | |||
15 | .. ansi:: images/testslide.ans | ||
16 | |||
17 | OpenStack | ||
18 | ========= | ||
19 | |||
20 | tl;dr | ||
21 | ===== | ||
22 | |||
23 | * multi repo | ||
24 | * integrated deliverable | ||
25 | * gated commits | ||
26 | * open tooling | ||
27 | * nobody is special | ||
28 | * there is no Dana, only Zuul | ||
29 | |||
30 | OpenStack Is | ||
31 | ============ | ||
32 | |||
33 | * Federated | ||
34 | * Distributed | ||
35 | * Large | ||
36 | * Open | ||
37 | * Not Alone | ||
38 | |||
39 | Federated | ||
40 | ========= | ||
41 | |||
42 | * Hundreds of involved companies | ||
43 | * No 'main' company | ||
44 | * "Decisions are made by those who show up" | ||
45 | * Union of priorities/use cases | ||
46 | |||
47 | Impact of being Federated | ||
48 | ========================= | ||
49 | |||
50 | * No company can appoint humans to project positions | ||
51 | * The project cannot fire anyone | ||
52 | * Variable background of contributors | ||
53 | * Heavy reliance on consensus-oriented democracy | ||
54 | |||
55 | Distributed | ||
56 | =========== | ||
57 | |||
58 | * There is no office | ||
59 | * Contributor base is global | ||
60 | * Multitude of contributor backgrounds | ||
61 | |||
62 | Impact of being Distributed | ||
63 | =========================== | ||
64 | |||
65 | * Constantly at odds with American Exceptionalism | ||
66 | * Tooling must empower all contributors, regardless of background, | ||
67 | skill level or cultural context | ||
68 | * Heavy preference for text-based communication | ||
69 | * Cannot assume US-centric needs or solutions | ||
70 | |||
71 | Large numbers of | ||
72 | ================ | ||
73 | |||
74 | * Contributors (\~2k in any given 6 month period) | ||
75 | * Changes | ||
76 | * Code Repositories (1889 as of this morning) | ||
77 | |||
78 | OpenStack Scale Comparison | ||
79 | ========================== | ||
80 | |||
81 | * 2KJPH (2,000 jobs per hour) | ||
82 | * Nodes from 13 Regions of 5 Public and 2 Private OpenStack Clouds | ||
83 | * Rackspace, Internap, OVH, Vexxhost, CityCloud and Linaro, Limestone | ||
84 | * 10,000 changes merged per month | ||
85 | |||
86 | OpenStack Scale Comparison | ||
87 | ========================== | ||
88 | |||
89 | * 2KJPH (2,000 jobs per hour) | ||
90 | * Nodes from 12 Regions of 5 Public and 1 Private OpenStack Clouds | ||
91 | * Rackspace, Internap, OVH, Vexxhost, CityCloud and Linaro, Limestone | ||
92 | * 10,000 changes merged per month | ||
93 | |||
94 | By comparison, our friends at the amazing project Ansible received | ||
95 | 13,000 changes and had merged 8,000 of them in its first 4 years. | ||
96 | |||
97 | Four Opens | ||
98 | ========== | ||
99 | |||
100 | * Open Source | ||
101 | (we don't hold back Enterprise features, we don't cripple things) | ||
102 | * Open Design | ||
103 | (design process open to all, decisions are not made inside company doors) | ||
104 | * Open Development | ||
105 | (public source code, public code review, all code is reviewed and gated) | ||
106 | * Open Community | ||
107 | (lazy consensus, democratic leadership from participants, | ||
108 | public logged meetings in IRC, public archived mailing lists) | ||
109 | |||
110 | Nobody is Special | ||
111 | ================= | ||
112 | |||
113 | * No dictators | ||
114 | * Aggressively egalitarian | ||
115 | * No "pay for play" | ||
116 | |||
117 | Fifth Open - Four Opens Applied to the Infrastructure | ||
118 | ===================================================== | ||
119 | |||
120 | * All tools must be Open | ||
121 | * Any external services must by Open | ||
122 | * Strongly avoid single-vendor | ||
123 | |||
124 | Multi-Vendor Open Tooling | ||
125 | ========================= | ||
126 | |||
127 | * Philosophical | ||
128 | * Pragmatic | ||
129 | |||
130 | Sixth Open - Four Opens Applied to Operations | ||
131 | ============================================= | ||
132 | |||
133 | * Ops driven by git/code-review - not by humans running commands | ||
134 | * Run as many things CD as possible | ||
135 | * Infrastructure team operates the same as the project | ||
136 | * Core reviewer status and root access are earned | ||
137 | * Human-initiated ops actions (running commands, clicking a UI) are a bug | ||
138 | * Keys/secrets are not Open :) | ||
139 | |||
140 | We're Not Alone | ||
141 | =============== | ||
142 | |||
143 | * Dependencies (libvirt/kvm/xen, mysql/pg, rabbit, | ||
144 | python/javascript, ceph/gluster, ansible/salt/puppet/chef, ovs/odl) | ||
145 | * Adjacencies (kubernetes, ansible, terraform, opnfv, spinnaker) | ||
146 | * Vendors (plugins, products, services, distros) | ||
147 | |||
148 | In a Nutshell | ||
149 | ============= | ||
150 | |||
151 | * Code Review - nobody has commit/push access | ||
152 | * Gated Commits | ||
153 | * 3rd-Party CI for vendors | ||
154 | |||
155 | Infra Responsibilities | ||
156 | ====================== | ||
157 | |||
158 | * Communication and Planning Systems | ||
159 | * Source Code (code hosting, code review) | ||
160 | * Contributor Feedback and Reporting | ||
161 | * Content Publication | ||
162 | * Automated Gating | ||
163 | |||
164 | All of our systems run in OpenStack Public Clouds | ||
165 | ================================================= | ||
166 | |||
167 | Communication and Planning Systems | ||
168 | ================================== | ||
169 | |||
170 | * Etherpad http://etherpad.openstack.org | ||
171 | * Pastebin http://paste.openstack.org | ||
172 | * Issue/Feature Tracking (storyboard) http://storyboard.openstack.org | ||
173 | * Forum (askbot) http://ask.openstack.org | ||
174 | * Mailing Lists (mailman) http://lists.openstack.org | ||
175 | * IRC registration, meetings, bots and logging http://eavesdrop.openstack.org | ||
176 | * Meeting planning (yaml2ical) | ||
177 | * PBX (asterisk) | ||
178 | |||
179 | Source Code | ||
180 | =========== | ||
181 | |||
182 | * Code Review (gerrit) http://review.openstack.org | ||
183 | * git replica farm (git/cgit) http://git.openstack.org | ||
184 | * Code Search (hound) http://codesearch.openstack.org | ||
185 | |||
186 | Contributor Feedback and Reporting | ||
187 | ================================== | ||
188 | |||
189 | * Build Logs (apache) http://logs.openstack.org | ||
190 | * Log Indexing (ELK) http://logstash.openstack.org | ||
191 | * Known Failure Identification http://status.openstack.org/elastic-recheck/ | ||
192 | * Test Trending http://status.openstack.org/openstack-health/#/ | ||
193 | * Metrics/Statistics http://grafana.openstack.org/ | ||
194 | |||
195 | Content Publication | ||
196 | =================== | ||
197 | |||
198 | * Documentation http://docs.openstack.org | ||
199 | * Tag-driven releases to PyPI, NPM, Maven, etc | ||
200 | |||
201 | Gated Commits | ||
202 | ============= | ||
203 | |||
204 | :: | ||
205 | |||
206 | Hack Review Test | ||
207 | ========= ========== ========== | ||
208 | |||
209 | push approve | ||
210 | +-------------+ +-------------+ | ||
211 | | | | | | ||
212 | +------+--+ +--v----+--+ +--v-------+ | ||
213 | | | | | | | | ||
214 | | $EDITOR | | Gerrit | | Zuul | | ||
215 | | | | | | | | ||
216 | +------^--+ +--+----^--+ +--+-------+ | ||
217 | | | | | | ||
218 | +-------------+ +-------------+ | ||
219 | clone merge | ||
220 | |||
221 | Gating | ||
222 | ====== | ||
223 | |||
224 | Every change proposed for a repository is tested before it merges. | ||
225 | |||
226 | Co-gating | ||
227 | ========= | ||
228 | |||
229 | Changes to a set of repositories merge monotonically such | ||
230 | that each change is tested with the current state of all | ||
231 | other related repositories before it merges. | ||
232 | |||
233 | Parallel Co-gating | ||
234 | ================== | ||
235 | |||
236 | Changes are serialized such that each change is tested | ||
237 | with all of the changes ahead of it to satisfy the | ||
238 | gating requirement while being able to run tests for | ||
239 | multiple changes simultaneously. | ||
240 | |||
241 | Zuul | ||
242 | ==== | ||
243 | |||
244 | * Custom-written multi-repo parallel co-gating engine | ||
245 | * When to run | ||
246 | * Where to run it | ||
247 | * With what git states | ||
248 | * How to respond to results | ||
249 | |||
250 | Not just for OpenStack | ||
251 | ====================== | ||
252 | |||
253 | * Zuul v3 is in production for OpenStack (in OpenStack VMs) | ||
254 | |||
255 | Also running at: | ||
256 | |||
257 | * BMW (control plane in OpenShift) | ||
258 | * Godaddy (control plane in kuberenetes) | ||
259 | * OpenContrail (just learned about that yesterday) | ||
260 | * OpenLab | ||
261 | |||
262 | Zuul is not a general purpose automation framework | ||
263 | ================================================== | ||
264 | |||
265 | Zuul in a nutshell | ||
266 | ================== | ||
267 | |||
268 | * Listens for code events | ||
269 | * Prepares appropriate job config and git repo states | ||
270 | * Allocates nodes for test jobs | ||
271 | * Pushes git repo states to nodes | ||
272 | * Runs user-defined Ansible playbooks | ||
273 | * Collects/reports results | ||
274 | * Potentially merges change | ||
275 | |||
276 | Zuul Simulation | ||
277 | =============== | ||
278 | .. transition:: pan | ||
279 | .. container:: handout | ||
280 | |||
281 | * That was a lot of words - let's walk through it one step at a time | ||
282 | * Here we have two git repos, called nova and keystone, and their | ||
283 | current HEAD state | ||
284 | |||
285 | .. ansi:: images/zsim-00.ans | ||
286 | |||
287 | Zuul Simulation | ||
288 | =============== | ||
289 | .. transition:: cut | ||
290 | .. container:: handout | ||
291 | |||
292 | * A change is approved for Nova | ||
293 | |||
294 | .. ansi:: images/zsim-01.ans | ||
295 | |||
296 | Zuul Simulation | ||
297 | =============== | ||
298 | .. transition:: cut | ||
299 | .. container:: handout | ||
300 | |||
301 | * Zuul starts running jobs for it | ||
302 | * The tests will test the current state of nova and keystone PLUS this nova | ||
303 | change | ||
304 | |||
305 | .. ansi:: images/zsim-02.ans | ||
306 | |||
307 | Zuul Simulation | ||
308 | =============== | ||
309 | .. transition:: cut | ||
310 | .. container:: handout | ||
311 | |||
312 | * A change is approved for Keystone | ||
313 | |||
314 | .. ansi:: images/zsim-03.ans | ||
315 | |||
316 | Zuul Simulation | ||
317 | =============== | ||
318 | .. transition:: cut | ||
319 | .. container:: handout | ||
320 | |||
321 | * The tests will test the current state of nova and keystone PLUS this nova | ||
322 | change | ||
323 | |||
324 | .. ansi:: images/zsim-04.ans | ||
325 | |||
326 | Zuul Simulation | ||
327 | =============== | ||
328 | .. transition:: cut | ||
329 | .. container:: handout | ||
330 | |||
331 | * todo | ||
332 | |||
333 | .. ansi:: images/zsim-05.ans | ||
334 | |||
335 | Zuul Simulation | ||
336 | =============== | ||
337 | .. transition:: cut | ||
338 | .. container:: handout | ||
339 | |||
340 | * todo | ||
341 | |||
342 | .. ansi:: images/zsim-06.ans | ||
343 | |||
344 | Zuul Simulation | ||
345 | =============== | ||
346 | .. transition:: cut | ||
347 | .. container:: handout | ||
348 | |||
349 | * todo | ||
350 | |||
351 | .. ansi:: images/zsim-07.ans | ||
352 | |||
353 | Zuul Simulation | ||
354 | =============== | ||
355 | .. transition:: cut | ||
356 | .. container:: handout | ||
357 | |||
358 | * todo | ||
359 | |||
360 | .. ansi:: images/zsim-08.ans | ||
361 | |||
362 | Zuul Simulation | ||
363 | =============== | ||
364 | .. transition:: cut | ||
365 | .. container:: handout | ||
366 | |||
367 | * todo | ||
368 | |||
369 | .. ansi:: images/zsim-09.ans | ||
370 | |||
371 | Zuul Simulation | ||
372 | =============== | ||
373 | .. transition:: cut | ||
374 | .. container:: handout | ||
375 | |||
376 | * todo | ||
377 | |||
378 | .. ansi:: images/zsim-10.ans | ||
379 | |||
380 | Zuul Simulation | ||
381 | =============== | ||
382 | .. transition:: cut | ||
383 | .. container:: handout | ||
384 | |||
385 | * todo | ||
386 | |||
387 | .. ansi:: images/zsim-11.ans | ||
388 | |||
389 | Zuul Simulation | ||
390 | =============== | ||
391 | .. transition:: cut | ||
392 | .. container:: handout | ||
393 | |||
394 | * todo | ||
395 | |||
396 | .. ansi:: images/zsim-12.ans | ||
397 | |||
398 | Zuul Simulation | ||
399 | =============== | ||
400 | .. transition:: cut | ||
401 | .. container:: handout | ||
402 | |||
403 | * todo | ||
404 | |||
405 | .. ansi:: images/zsim-13.ans | ||
406 | |||
407 | Zuul Simulation | ||
408 | =============== | ||
409 | .. transition:: cut | ||
410 | .. container:: handout | ||
411 | |||
412 | * todo | ||
413 | |||
414 | .. ansi:: images/zsim-14.ans | ||
415 | |||
416 | Zuul Simulation | ||
417 | =============== | ||
418 | .. transition:: cut | ||
419 | .. container:: handout | ||
420 | |||
421 | * todo | ||
422 | |||
423 | .. ansi:: images/zsim-15.ans | ||
424 | |||
425 | Zuul Simulation | ||
426 | =============== | ||
427 | .. transition:: cut | ||
428 | .. container:: handout | ||
429 | |||
430 | * todo | ||
431 | |||
432 | .. ansi:: images/zsim-16.ans | ||
433 | |||
434 | Zuul Simulation | ||
435 | =============== | ||
436 | .. transition:: cut | ||
437 | .. container:: handout | ||
438 | |||
439 | * todo | ||
440 | |||
441 | .. ansi:: images/zsim-17.ans | ||
442 | |||
443 | Zuul Simulation | ||
444 | =============== | ||
445 | .. transition:: cut | ||
446 | .. container:: handout | ||
447 | |||
448 | * todo | ||
449 | |||
450 | .. ansi:: images/zsim-18.ans | ||
451 | |||
452 | Zuul Simulation | ||
453 | =============== | ||
454 | .. transition:: cut | ||
455 | .. container:: handout | ||
456 | |||
457 | * todo | ||
458 | |||
459 | .. ansi:: images/zsim-19.ans | ||
460 | |||
461 | Zuul Simulation | ||
462 | =============== | ||
463 | .. transition:: cut | ||
464 | .. container:: handout | ||
465 | |||
466 | * todo | ||
467 | |||
468 | .. ansi:: images/zsim-20.ans | ||
469 | |||
470 | Zuul Simulation | ||
471 | =============== | ||
472 | .. transition:: cut | ||
473 | .. container:: handout | ||
474 | |||
475 | * todo | ||
476 | |||
477 | .. ansi:: images/zsim-21.ans | ||
478 | |||
479 | Zuul Simulation | ||
480 | =============== | ||
481 | .. transition:: cut | ||
482 | .. container:: handout | ||
483 | |||
484 | * todo | ||
485 | |||
486 | .. ansi:: images/zsim-22.ans | ||
487 | |||
488 | Zuul Architecture | ||
489 | ================= | ||
490 | |||
491 | .. ansi:: images/architecture.ans | ||
492 | |||
493 | Nodepool | ||
494 | ======== | ||
495 | |||
496 | .. container:: handout | ||
497 | |||
498 | nodepool builds nodes for zuul | ||
499 | Remember that 2,000 jobs per hour number? | ||
500 | Each job gets a fresh VM - that's 2,000 VMs per hours | ||
501 | Treats our 12 regions across 6 clouds as one REALLY big cloud | ||
502 | |||
503 | :: | ||
504 | |||
505 | * A separate program that works very closely with *zuul* | ||
506 | * Builds images daily and uploads to clouds | ||
507 | * Creates and destroys zero or more VMs for every job | ||
508 | * Supports using pre-existing nodes (static provider) | ||
509 | |||
510 | Nodepool can use pre-existing images, BUT ... | ||
511 | ============================================= | ||
512 | |||
513 | * Clouds have 'helpful' differences between base images | ||
514 | * Cloud images have 'helpful' software pre-installed | ||
515 | * Distros have 'helpful' different user names | ||
516 | * Most clouds use DHCP for networking, but some don't | ||
517 | * We can add pre-cached content | ||
518 | |||
519 | Cross-Project Example Problem | ||
520 | ============================= | ||
521 | |||
522 | * User reports bug in shade - auto_ip is not discovering their NAT properly | ||
523 | * Two fixes, one to detection algorithm, one to config override | ||
524 | * Config override requires adding support to os-client-config | ||
525 | * Once support is added to os-client-config, it can be consumed in shade | ||
526 | * How do we integration test this without releasing os-client-config? | ||
527 | |||
528 | Cross-Project Dependencies | ||
529 | ========================== | ||
530 | |||
531 | Testing or gating dependencies (including jobs) manually specified by | ||
532 | developers | ||
533 | |||
534 | .. container:: progressive | ||
535 | |||
536 | * shade https://review.openstack.org/513913/ | ||
537 | |||
538 | Add unittest tips jobs | ||
539 | |||
540 | Change-ID: I5b411be5c5aa43535fa89a51d6099aadd7a8ea60 | ||
541 | * os-client-config https://review.openstack.org/513915 | ||
542 | |||
543 | Add shade-tox-tips jobs | ||
544 | |||
545 | Change-ID: Ie3e9a4deca1d74b94e810e87e130706fe15fe2c9 | ||
546 | |||
547 | Depends-On: https://review.openstack.org/513913/ | ||
548 | * os-client-config https://review.openstack.org/513751/ | ||
549 | |||
550 | Added nat_source flag for networks | ||
551 | |||
552 | Change-ID: I3d8dd6d734a1013d2d4a43e11c3538c3a345820b | ||
553 | |||
554 | * shade https://review.openstack.org/#/c/513914 | ||
555 | |||
556 | Add support for configured NAT source variable | ||
557 | |||
558 | Change-Id: I4b50c2323a487b5ce90f9d38a48be249cfb739c5 | ||
559 | |||
560 | Depends-On: https://review.openstack.org/513914 | ||
561 | |||
562 | shade: Add unittest tips jobs | ||
563 | ============================= | ||
564 | |||
565 | * In git.openstack.org/openstack-infra/shade/.zuul.yaml: | ||
566 | |||
567 | .. code:: yaml | ||
568 | |||
569 | - job: | ||
570 | name: shade-tox-py27-tips | ||
571 | parent: openstack-tox-py27 | ||
572 | description: | | ||
573 | Run tox python 27 unittests against master of important libs | ||
574 | required-projects: | ||
575 | - openstack-infra/shade | ||
576 | - openstack/keystoneauth | ||
577 | - openstack/os-client-config | ||
578 | |||
579 | - job: | ||
580 | name: shade-tox-py35-tips | ||
581 | parent: openstack-tox-py35 | ||
582 | description: | | ||
583 | Run tox python 35 unittests against master of important libs | ||
584 | required-projects: | ||
585 | - openstack-infra/shade | ||
586 | - openstack/keystoneauth | ||
587 | - openstack/os-client-config | ||
588 | |||
589 | shade: Add unittest tips project-template | ||
590 | ========================================= | ||
591 | |||
592 | * In git.openstack.org/openstack-infra/shade/.zuul.yaml: | ||
593 | |||
594 | .. code:: yaml | ||
595 | |||
596 | - project-template: | ||
597 | name: shade-tox-tips | ||
598 | check: | ||
599 | jobs: | ||
600 | - shade-tox-py27-tips | ||
601 | - shade-tox-py35-tips | ||
602 | gate: | ||
603 | jobs: | ||
604 | - shade-tox-py27-tips | ||
605 | - shade-tox-py35-tips | ||
606 | |||
607 | shade: Add unittest tips project-template to project | ||
608 | ==================================================== | ||
609 | |||
610 | * In git.openstack.org/openstack-infra/shade/.zuul.yaml: | ||
611 | |||
612 | .. code:: yaml | ||
613 | |||
614 | - project: | ||
615 | templates: | ||
616 | - publish-to-pypi | ||
617 | - publish-openstack-sphinx-docs | ||
618 | - shade-tox-tips | ||
619 | |||
620 | os-client-config: Add shade-tox-tips jobs | ||
621 | ========================================= | ||
622 | |||
623 | * In git.openstack.org/openstack/os-client-config/.zuul.yaml: | ||
624 | |||
625 | .. code:: yaml | ||
626 | |||
627 | - project: | ||
628 | templates: | ||
629 | - shade-tox-tips | ||
630 | check: | ||
631 | jobs: | ||
632 | - legacy-osc-dsvm-functional-tips: | ||
633 | voting: false | ||
634 | |||
635 | os-client-config: Add nat_source flag for networks | ||
636 | ================================================== | ||
637 | |||
638 | :: | ||
639 | |||
640 | diff --git a/os_client_config/cloud_config.py b/os_client_config/cloud_config.py | ||
641 | index 2e97629..d1a6983 100644 | ||
642 | --- a/os_client_config/cloud_config.py | ||
643 | +++ b/os_client_config/cloud_config.py | ||
644 | @@ -581,3 +581,10 @@ class CloudConfig(object): | ||
645 | if net['nat_destination']: | ||
646 | return net['name'] | ||
647 | return None | ||
648 | + | ||
649 | + def get_nat_source(self): | ||
650 | + """Get network used for NAT source.""" | ||
651 | + for net in self.config['networks']: | ||
652 | + if net.get('nat_source'): | ||
653 | + return net['name'] | ||
654 | + return None | ||
655 | |||
656 | shade: Add support for configured NAT source variable | ||
657 | ===================================================== | ||
658 | |||
659 | :: | ||
660 | |||
661 | Zuul 10-21 13:57 | ||
662 | Patch Set 5: Verified-1 | ||
663 | Build failed. | ||
664 | openstack-tox-pep8 SUCCESS in 2m 29s | ||
665 | openstack-tox-py27 FAILURE in 2m 34s | ||
666 | build-openstack-releasenotes SUCCESS in 2m 47s | ||
667 | openstack-tox-py35 FAILURE in 2m 41s | ||
668 | openstack-tox-cover POST_FAILURE in 3m 52s (non-voting) | ||
669 | build-openstack-sphinx-docs SUCCESS in 2m 57s | ||
670 | shade-tox-py27-tips SUCCESS in 3m 18s | ||
671 | shade-tox-py35-tips SUCCESS in 2m 28s | ||
672 | |||
673 | Live Configuration Changes | ||
674 | ========================== | ||
675 | |||
676 | .. container:: handout | ||
677 | |||
678 | Zuul is a distributed system, with a distributed configuration. | ||
679 | |||
680 | .. code:: yaml | ||
681 | |||
682 | - tenant: | ||
683 | name: openstack | ||
684 | source: | ||
685 | gerrit: | ||
686 | config-projects: | ||
687 | - project-config | ||
688 | untrusted-projects: | ||
689 | - openstack-infra/zuul-jobs: | ||
690 | shadow: openstack-infra/project-config | ||
691 | - openstack-infra/openstack-zuul-jobs | ||
692 | - openstack-infra/nodepool | ||
693 | - openstack-infra/shade | ||
694 | - openstack-infra/zuul | ||
695 | - openstack/requirements | ||
696 | |||
697 | Zuul Startup | ||
698 | ============ | ||
699 | |||
700 | * Read config file | ||
701 | |||
702 | Zuul Startup | ||
703 | ============ | ||
704 | |||
705 | * Read config file | ||
706 | * Ask mergers for branches of each repo | ||
707 | |||
708 | .. ansi:: images/startup1.ans | ||
709 | |||
710 | Zuul Startup | ||
711 | ============ | ||
712 | |||
713 | * Read config file | ||
714 | * Ask mergers for branches of each repo | ||
715 | * Ask mergers for .zuul.yaml file for each branch of each repo | ||
716 | |||
717 | ``.zuul.yaml`` can be ``^\.?zuul.yaml$`` file or ``^\.?zuul.d$`` run-parts | ||
718 | directory. | ||
719 | |||
720 | .. ansi:: images/startup2.ans | ||
721 | |||
722 | When .zuul.yaml Changes | ||
723 | ======================= | ||
724 | |||
725 | .. container:: progressive | ||
726 | |||
727 | * Zuul looks for changes to .zuul.yaml | ||
728 | * Asks mergers for updated content | ||
729 | * Splices into configuration used for that change | ||
730 | * Works with cross-repo dependencies | ||
731 | |||
732 | ("This change depends on a change to the job definition") | ||
733 | |||
734 | OpenStack Github Support for Cross Community Testing | ||
735 | ==================================================== | ||
736 | |||
737 | * OpenStack does not use Github, but other people do | ||
738 | * Github App "OpenStack Zuul" | ||
739 | * App added to github project by project admin | ||
740 | * Project aded to OpenStack's main.yaml | ||
741 | * Test interactions between OpenStack and important adjacent communities | ||
742 | * https://github.com/ansible/ansible/pull/20974 | ||
743 | |||
744 | OpenLab for ecosystem testing | ||
745 | ============================= | ||
746 | |||
747 | * Hey Melvin | ||
748 | * Separate from but friendly with Infra | ||
749 | * Joint effort by Huawei and Intel | ||
750 | * Provides resources and support to test things that consume OpenStack | ||
751 | * gophercloud/terraform, ansible/openstack | ||
752 | |||
753 | Cross Source Dependencies | ||
754 | ========================= | ||
755 | |||
756 | .. container:: progressive | ||
757 | |||
758 | * shade https://review.openstack.org/539563 | ||
759 | |||
760 | Shift voting flag and test_matrix_branch for ansible-devel job | ||
761 | |||
762 | Change-ID: Ic9d3983de641dbe618c65b2cbf2dcfa3686575df | ||
763 | |||
764 | * ansible https://github.com/ansible/ansible/pull/34925 | ||
765 | |||
766 | continue fact gathering even without dmidecode | ||
767 | |||
768 | * ansible https://github.com/ansible/ansible/pull/20974 | ||
769 | |||
770 | Make a generalized OpenStack cloud constructor | ||
771 | |||
772 | Depends-On: https://review.openstack.org/539563 | ||
773 | Depends-On: https://github.com/ansible/ansible/pull/34925 | ||
774 | |||
775 | Jobs | ||
776 | ==== | ||
777 | |||
778 | * Jobs run on nodes from nodepool (static or dynamic) | ||
779 | * Metadata defined in Zuul's configuration | ||
780 | * Execution content in Ansible (with live streaming!) | ||
781 | * Jobs may be defined centrally or in the repo being tested | ||
782 | * Jobs have contextual variants that simplify configuration | ||
783 | |||
784 | Shared Job Configs | ||
785 | ================== | ||
786 | |||
787 | * Job config repos are all in git | ||
788 | * Designed to support directly sharing job configurations | ||
789 | * git.openstack.org/openstack-infra/zuul-jobs repo is a 'standard library' | ||
790 | to be directly shared between zuul installations | ||
791 | |||
792 | Job | ||
793 | === | ||
794 | |||
795 | .. code:: yaml | ||
796 | |||
797 | - job: | ||
798 | name: base | ||
799 | parent: null | ||
800 | description: | | ||
801 | The base job for Zuul. | ||
802 | timeout: 1800 | ||
803 | nodeset: | ||
804 | nodes: | ||
805 | - name: primary | ||
806 | label: centos-7 | ||
807 | pre-run: playbooks/base/pre.yaml | ||
808 | post-run: | ||
809 | - playbooks/base/post-ssh.yaml | ||
810 | - playbooks/base/post-logs.yaml | ||
811 | secrets: | ||
812 | - site_logs | ||
813 | |||
814 | Simple Job | ||
815 | ========== | ||
816 | |||
817 | .. code:: yaml | ||
818 | |||
819 | - job: | ||
820 | name: tox | ||
821 | pre-run: playbooks/setup-tox.yaml | ||
822 | run: playbooks/tox.yaml | ||
823 | post-run: playbooks/fetch-tox-output.yaml | ||
824 | |||
825 | - job: | ||
826 | name: tox-py27 | ||
827 | parent: tox | ||
828 | vars: | ||
829 | tox_envlist: py27 | ||
830 | |||
831 | |||
832 | Simple Job Variant | ||
833 | ================== | ||
834 | |||
835 | .. code:: yaml | ||
836 | |||
837 | - job: | ||
838 | name: tox-py27 | ||
839 | branches: stable/mitaka | ||
840 | nodeset: | ||
841 | - name: ubuntu-trusty | ||
842 | label: ubuntu-trusty | ||
843 | |||
844 | Nodesets for Multi-node Jobs | ||
845 | ============================ | ||
846 | |||
847 | .. code:: yaml | ||
848 | |||
849 | - nodeset: | ||
850 | name: ceph-cluster | ||
851 | nodes: | ||
852 | - name: controller | ||
853 | label: centos-7 | ||
854 | - name: compute1 | ||
855 | label: fedora-26 | ||
856 | - name: compute2 | ||
857 | label: fedora-26 | ||
858 | groups: | ||
859 | - name: ceph-osd | ||
860 | nodes: | ||
861 | - controller | ||
862 | - name: ceph-monitor | ||
863 | nodes: | ||
864 | - controller | ||
865 | - compute1 | ||
866 | - compute2 | ||
867 | |||
868 | Multi-node Job | ||
869 | ============== | ||
870 | |||
871 | * nodesets are provided to Ansible for jobs in inventory | ||
872 | |||
873 | .. code:: yaml | ||
874 | |||
875 | - job: | ||
876 | name: ceph-multinode | ||
877 | nodeset: ceph-cluster | ||
878 | run: playbooks/install-ceph.yaml | ||
879 | |||
880 | Multi-node Ceph Job Content | ||
881 | =========================== | ||
882 | |||
883 | .. code:: yaml | ||
884 | |||
885 | - hosts: all | ||
886 | roles: | ||
887 | - install-ceph | ||
888 | - hosts: ceph-osd | ||
889 | roles: | ||
890 | - start-ceph-osd | ||
891 | - hosts: ceph-monitor | ||
892 | roles: | ||
893 | - start-ceph-monitor | ||
894 | - hosts: all | ||
895 | roles: | ||
896 | - do-something-interesting | ||
897 | |||
898 | Projects | ||
899 | ======== | ||
900 | |||
901 | * Projects are git repositories | ||
902 | * Specify a set of jobs for each pipeline | ||
903 | * golang git repo naming as been adopted: | ||
904 | |||
905 | :: | ||
906 | |||
907 | zuul@ubuntu-xenial:~$ find /home/zuul/src -mindepth 3 -maxdepth 3 -type d | ||
908 | /home/zuul/src/git.openstack.org/openstack-infra/shade | ||
909 | /home/zuul/src/git.openstack.org/openstack/keystoneauth | ||
910 | /home/zuul/src/git.openstack.org/openstack/os-client-config | ||
911 | /home/zuul/src/github.com/ansible/ansible | ||
912 | |||
913 | Project | ||
914 | ======= | ||
915 | |||
916 | .. code:: yaml | ||
917 | |||
918 | - project: | ||
919 | check: | ||
920 | jobs: | ||
921 | - openstack-tox-py27 | ||
922 | - openstack-tox-py35 | ||
923 | - openstack-doc-build | ||
924 | |||
925 | Project with Local Variant | ||
926 | ========================== | ||
927 | |||
928 | .. code:: yaml | ||
929 | |||
930 | - project: | ||
931 | check: | ||
932 | jobs: | ||
933 | - openstack-tox-py27 | ||
934 | - openstack-tox-py35 | ||
935 | - openstack-doc-build | ||
936 | - openstack-tox-pypy: | ||
937 | voting: false | ||
938 | |||
939 | Project with More Local Variants | ||
940 | ================================ | ||
941 | |||
942 | .. code:: yaml | ||
943 | |||
944 | - project: | ||
945 | name: openstack/nova | ||
946 | check: | ||
947 | jobs: | ||
948 | - openstack-tox-py27 | ||
949 | - openstack-tox-py35 | ||
950 | - openstack-doc-build: | ||
951 | files: '^docs/.*$' | ||
952 | - openstack-tox-pypy: | ||
953 | voting: false | ||
954 | |||
955 | Project with Many Local Variants | ||
956 | ================================ | ||
957 | |||
958 | .. code:: yaml | ||
959 | |||
960 | - project: | ||
961 | name: openstack/nova | ||
962 | check: | ||
963 | jobs: | ||
964 | - openstack-tox-py27 | ||
965 | nodeset: | ||
966 | - name: centos-7 | ||
967 | label: centos-7 | ||
968 | - openstack-tox-py27 | ||
969 | branches: stable/newton | ||
970 | nodeset: | ||
971 | - name: ubuntu-trusty | ||
972 | label: ubuntu-trusty | ||
973 | - openstack-doc-build: | ||
974 | files: '^docs/.*$' | ||
975 | - openstack-tox-pypy: | ||
976 | voting: false | ||
977 | |||
978 | Project With Central and Local Config | ||
979 | ===================================== | ||
980 | |||
981 | .. code:: yaml | ||
982 | |||
983 | # In git.openstack.org/openstack-infra/project-config: | ||
984 | - project: | ||
985 | name: openstack/nova | ||
986 | templates: | ||
987 | - openstack-tox-jobs | ||
988 | |||
989 | .. code:: yaml | ||
990 | |||
991 | # In git.openstack.org/openstack/nova/.zuul.yaml: | ||
992 | - project: | ||
993 | check: | ||
994 | - nova-placement-functional-devstack | ||
995 | |||
996 | Project with Job Dependencies | ||
997 | ============================= | ||
998 | |||
999 | .. code:: yaml | ||
1000 | |||
1001 | # In git.openstack.org/openstack-infra/project-config: | ||
1002 | - project: | ||
1003 | name: openstack/nova | ||
1004 | release: | ||
1005 | jobs: | ||
1006 | - build-artifacts | ||
1007 | - upload-tarball: | ||
1008 | dependencies: build-artifacts | ||
1009 | - upload-pypi: | ||
1010 | dependencies: build-artifacts | ||
1011 | - notify-mirror: | ||
1012 | dependencies: | ||
1013 | - upload-tarball | ||
1014 | - upload-pypi | ||
1015 | |||
1016 | Playbooks | ||
1017 | ========= | ||
1018 | |||
1019 | * Jobs run Ansible playbooks | ||
1020 | * Playbooks may be defined centrally or in the repo being tested | ||
1021 | * Playbooks can use roles from current or other Zuul repos | ||
1022 | (or Galaxy, coming soon) | ||
1023 | * Playbooks are run on the zuul-executor using bubblewrap | ||
1024 | https://github.com/projectatomic/bubblewrap | ||
1025 | * Playbooks are not allowed to execute content on 'localhost' | ||
1026 | |||
1027 | Job with Roles | ||
1028 | ============== | ||
1029 | |||
1030 | .. code:: yaml | ||
1031 | |||
1032 | - job: | ||
1033 | name: zuul-integration | ||
1034 | description: | | ||
1035 | Multi-node Zuul installation and integration test | ||
1036 | nodeset: zuul-cluster | ||
1037 | roles: | ||
1038 | - zuul: openstack-infra/ansible-role-zuul | ||
1039 | run: playbooks/zuul-integration | ||
1040 | |||
1041 | Job with Multiple Projects | ||
1042 | ========================== | ||
1043 | |||
1044 | .. code:: yaml | ||
1045 | |||
1046 | - job: | ||
1047 | name: tox-py35-on-zuul | ||
1048 | parent: tox-py35 | ||
1049 | description: | | ||
1050 | Run zuul's py35 unittests on patches to zuul-jobs | ||
1051 | vars: | ||
1052 | zuul_work_dir: src/git.openstack.org/openstack-infra/zuul | ||
1053 | required-projects: | ||
1054 | - openstack-infra/zuul | ||
1055 | |||
1056 | - project: | ||
1057 | name: openstack-infra/zuul-jobs | ||
1058 | check: | ||
1059 | jobs: | ||
1060 | - tox-py35-on-zuul | ||
1061 | |||
1062 | Devstack-gate / Tempest Playbook | ||
1063 | ================================ | ||
1064 | |||
1065 | .. code:: yaml | ||
1066 | |||
1067 | # devstack-gate / tempest playbook | ||
1068 | hosts: all | ||
1069 | roles: | ||
1070 | - setup-multinode-networking | ||
1071 | - partition-swap | ||
1072 | - configure-mirrors | ||
1073 | - run-devstack | ||
1074 | - run-tempest | ||
1075 | |||
1076 | Simple Shell Playbook | ||
1077 | ===================== | ||
1078 | |||
1079 | .. code:: yaml | ||
1080 | |||
1081 | hosts: controller | ||
1082 | tasks: | ||
1083 | - shell: ./run_tests.sh | ||
1084 | |||
1085 | Test Like Production | ||
1086 | ==================== | ||
1087 | |||
1088 | If you use Ansible for deployment, your test and deployment processes | ||
1089 | and playbooks are the same | ||
1090 | |||
1091 | What if you don't use Ansible? | ||
1092 | ============================== | ||
1093 | |||
1094 | OpenStack Infra Control Plane uses Puppet | ||
1095 | ========================================= | ||
1096 | |||
1097 | .. code:: yaml | ||
1098 | |||
1099 | # In git.openstack.org/openstack-infra/project-config/roles/legacy-install-afs-with-puppet/tasks/main.yaml | ||
1100 | - name: Install puppet | ||
1101 | shell: ./install_puppet.sh | ||
1102 | args: | ||
1103 | chdir: "{{ ansible_user_dir }}/src/git.openstack.org/openstack-infra/system-config" | ||
1104 | environment: | ||
1105 | # Skip setting up pip, our images have already done this. | ||
1106 | SETUP_PIP: "false" | ||
1107 | become: yes | ||
1108 | |||
1109 | - name: Copy manifest | ||
1110 | copy: | ||
1111 | src: manifest.pp | ||
1112 | dest: "{{ ansible_user_dir }}/manifest.pp" | ||
1113 | |||
1114 | - name: Run puppet | ||
1115 | puppet: | ||
1116 | manifest: "{{ ansible_user_dir }}/manifest.pp" | ||
1117 | become: yes | ||
1118 | |||
1119 | Secrets | ||
1120 | ======= | ||
1121 | |||
1122 | * Inspired by Kubernetes Secrets API | ||
1123 | * Projects can add named encrypted secrets to their .zuul.yaml file | ||
1124 | * Jobs can request to use secrets by name | ||
1125 | * Jobs using secrets are not reconfigured speculatively | ||
1126 | * Secrets can only be used by the same project they are defined in | ||
1127 | * Public key per project: | ||
1128 | ``{{ zuul_url }}/{{ tenant }}/{{ project }}.pub`` | ||
1129 | |||
1130 | :: | ||
1131 | GET http://zuul.openstack.org/openstack-infra/shade.pub | ||
1132 | |||
1133 | Secret Example (note, no admins had to enable this) | ||
1134 | =================================================== | ||
1135 | |||
1136 | .. code:: yaml | ||
1137 | |||
1138 | # In git.openstack.org/openstack/loci/.zuul.yaml: | ||
1139 | - secret: | ||
1140 | name: loci_docker_login | ||
1141 | data: | ||
1142 | user: !encrypted/pkcs1-oaep | ||
1143 | - r8Nbpq5olmfLF035BZ/CUoFLIdhvBi/49KuochOAHbvns+xMiho3C7MEFzYDqJX3IhHde | ||
1144 | BICYOgK7qnyINOIZL2e7pl75rEdHQwJjSFUMkpdY6wEP7f9hpolj9xVp0ifHUVQqPHMRn | ||
1145 | zoPFd8MEAHxH5GLmc2SWJ98E/QUqGltxBi1YRSZoCcNtq3tHFK5Y+xQlLhIseJ2HkpDs6 | ||
1146 | YXOGP9Qt4Va6sdyBcA90H+apSAcYA3Duu962ySZQAsYNui/3NQq3gLA+OZeyTJtcrh4hj | ||
1147 | Rb5dBnDWfSrMpxdNkbPXXgbQaxO3T0L4jbaOF8VKEsiI9olBrOeV2M9ddYJjSsHGj4XR8 | ||
1148 | 4vwS0+doB7np93fujiDuHVgdG8R40NW2GznyKRlRtzAORla7Mzw1Y1MokcUyY6p1LlLLl | ||
1149 | wUuWYCCEuRciOPhZXQ2u42qju/zrK2/dPnO8HfUINSrN0WbNq14ZwPpbj0ro02oGPbtwu | ||
1150 | OTw1z+N0Nc+GuLWlwYJGYM/z0UnvDR3WEBc2kXbVev9w4n0cB3RyphML2PDZZWbw8tjnX | ||
1151 | h1VsAOJ0Qo4qq1K/ft95ypd+vtjkfepEgHEBmJNwutJa9IHAkGfrkO9VkpUTPpfffnPwz | ||
1152 | d0/zaaadNl6MLQUSutRwY23YIIbv+fmukxw2vnJmvn6abkBlMya7KgtifwNA8c= | ||
1153 | password: !encrypted/pkcs1-oaep | ||
1154 | - gUEX4eY3JAk/Xt7Evmf/hF7xr6HpNRXTibZjrKTbmI4QYHlzEBrBbHey27Pt/eYvKKeKw | ||
1155 | hk8MDQ4rNX7ZK1v+CKTilUfOf4AkKYbe6JFDd4z+zIZ2PAA7ZedO5FY/OnqrG7nhLvQHE | ||
1156 | 5nQrYwmxRp4O8eU5qG1dSrM9X+bzri8UnsI7URjqmEsIvlUqtybQKB9qQXT4d6mOeaKGE | ||
1157 | 5h6Ydkb9Zdi4Qh+GpCGDYwHZKu1mBgVK5M1G6NFMy1DYz+4NJNkTRe9J+0TmWhQ/KZSqo | ||
1158 | 4ck0x7Tb0Nr7hQzV8SxlwkaCTLDzvbiqmsJPLmzXY2jry6QsaRCpthS01vnj47itoZ/7p | ||
1159 | taH9CoJ0Gl7AkaxsrDSVjWSjatTQpsy1ub2fuzWHH4ASJFCiu83Lb2xwYts++r8ZSn+mA | ||
1160 | hbEs0GzPI6dIWg0u7aUsRWMOB4A+6t2IOJibVYwmwkG8TjHRXxVCLH5sY+i3MR+NicR9T | ||
1161 | IZFdY/AyH6vt5uHLQDU35+5n91pUG3F2lyiY5aeMOvBL05p27GTMuixR5ZoHcvSoHHtCq | ||
1162 | 7Wnk21iHqmv/UnEzqUfXZOque9YP386RBWkshrHd0x3OHUfBK/WrpivxvIGBzGwMr2qAj | ||
1163 | /AhJsfDXKBBbhGOGk1u5oBLjeC4SRnAcIVh1+RWzR4/cAhOuy2EcbzxaGb6VTM= | ||
1164 | |||
1165 | Secret Example | ||
1166 | ============== | ||
1167 | |||
1168 | .. code:: yaml | ||
1169 | |||
1170 | # In git.openstack.org/openstack/loci/.zuul.yaml: | ||
1171 | - job: | ||
1172 | name: publish-loci-cinder | ||
1173 | parent: loci-cinder | ||
1174 | post-run: playbooks/push | ||
1175 | secrets: | ||
1176 | - loci_docker_login | ||
1177 | |||
1178 | # In git.openstack.org/openstack/loci/playbooks/push.yaml: | ||
1179 | - hosts: all | ||
1180 | tasks: | ||
1181 | - include_vars: vars.yaml | ||
1182 | |||
1183 | - name: Push project to DockerHub | ||
1184 | block: | ||
1185 | - command: docker login -u {{ loci_docker_login.user }} -p {{ loci_docker_login.password }} | ||
1186 | no_log: True | ||
1187 | - command: docker push openstackloci/{{ project }}:{{ branch }}-{{ item.name }} | ||
1188 | with_items: "{{ distros }}" | ||
1189 | |||
1190 | Status | ||
1191 | ====== | ||
1192 | |||
1193 | * Zuul v3 is in production for OpenStack (in OpenStack VMs) | ||
1194 | * Zuul v3 also runing at BMW (in OpenShift) and Godaddy (in kuberenetes) | ||
1195 | and Huawei's OpenLab. | ||
1196 | * Software Factory updated to v3 | ||
1197 | https://softwarefactory-project.io/sf/welcome.html | ||
1198 | * will tag and release v3.0 once we're satisfied it's good for other people | ||
1199 | (within the next few weeks) | ||
1200 | |||
1201 | What's Next? | ||
1202 | ============ | ||
1203 | |||
1204 | * shared job doc generation | ||
1205 | * node providers | ||
1206 | * kuberenetes | ||
1207 | * OCI/docker | ||
1208 | * Mac Stadium (for our Ansible friends) | ||
1209 | * ec2 | ||
1210 | * native container/kubernetes job execution | ||
1211 | |||
1212 | Important Links | ||
1213 | =============== | ||
1214 | |||
1215 | * https://zuul-ci.org/ | ||
1216 | * https://git.openstack.org/cgit/openstack-infra/zuul | ||
1217 | * https://docs.openstack.org/infra/zuul | ||
1218 | * https://docs.openstack.org/infra/manual/zuulv3.html | ||
1219 | * https://docs.openstack.org/infra/zuul-jobs/ | ||
1220 | * https://docs.openstack.org/infra/openstack-zuul-jobs/ | ||
1221 | * https://storyboard.openstack.org/#!/project/679 | ||
1222 | * https://storyboard.openstack.org/#!/board/41 | ||
1223 | * freenode:#zuul | ||
1224 | |||
1225 | Questions | ||
1226 | ========= | ||
1227 | |||
1228 | .. ansi:: images/questions.ans | ||
1229 | |||
1230 | Presentty | ||
1231 | ========= | ||
1232 | .. hidetitle:: | ||
1233 | .. transition:: pan | ||
1234 | .. figlet:: Presentty | ||
1235 | |||
1236 | * Console presentations written in reStructuredText | ||
1237 | * Cross-fade, pan, tilt, cut transitions | ||
1238 | * Figlet, cowsay! | ||
1239 | * https://pypi.python.org/pypi/presentty | ||
diff --git a/src/infra/start.sh b/src/infra/start.sh new file mode 100755 index 0000000..9eaf8b6 --- /dev/null +++ b/src/infra/start.sh | |||
@@ -0,0 +1,8 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | mate-terminal --geometry 68x24 -x presentty $(pwd)/zuul.rst & | ||
4 | #geeqie -t images & | ||
5 | |||
6 | sleep 1 | ||
7 | |||
8 | mate-terminal --maximize -x presentty-console $(pwd)/zuul.rst & | ||