rundeck 0.0.3.pre → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +10 -0
  3. data/.rubocop_todo.yml +0 -10
  4. data/.travis.yml +1 -1
  5. data/lib/rundeck/client.rb +61 -3
  6. data/lib/rundeck/client/execution.rb +194 -0
  7. data/lib/rundeck/client/{jobs.rb → job.rb} +19 -36
  8. data/lib/rundeck/client/{keys.rb → key.rb} +42 -20
  9. data/lib/rundeck/configuration.rb +5 -1
  10. data/lib/rundeck/objectified_hash.rb +13 -3
  11. data/lib/rundeck/request.rb +7 -1
  12. data/lib/rundeck/version.rb +1 -1
  13. data/rundeck.gemspec +2 -1
  14. data/spec/cassettes/12/abort_execution_not_running.yml +41 -0
  15. data/spec/cassettes/12/abort_execution_valid.yml +41 -0
  16. data/spec/cassettes/12/abort_executions_invalid.yml +41 -0
  17. data/spec/cassettes/12/bulk_delete_executions_invalid.yml +46 -0
  18. data/spec/cassettes/12/bulk_delete_executions_valid.yml +41 -0
  19. data/spec/cassettes/12/create_private_key.yml +64 -0
  20. data/spec/cassettes/12/create_public_key.yml +38 -0
  21. data/spec/cassettes/12/delete_execution_invalid.yml +41 -0
  22. data/spec/cassettes/12/delete_execution_valid.yml +32 -0
  23. data/spec/cassettes/12/delete_job_executions.yml +41 -0
  24. data/spec/cassettes/12/delete_job_executions_invalid.yml +41 -0
  25. data/spec/cassettes/12/delete_job_invalid.yml +41 -0
  26. data/spec/cassettes/12/delete_job_valid.yml +32 -0
  27. data/spec/cassettes/12/delete_key_invalid.yml +41 -0
  28. data/spec/cassettes/12/delete_key_private.yml +32 -0
  29. data/spec/cassettes/12/delete_key_public.yml +32 -0
  30. data/spec/cassettes/12/execution_invalid.yml +41 -0
  31. data/spec/cassettes/12/execution_query_invalid.yml +39 -0
  32. data/spec/cassettes/12/execution_query_no_params_valid.yml +124 -0
  33. data/spec/cassettes/12/execution_state_invalid.yml +41 -0
  34. data/spec/cassettes/12/execution_state_valid.yml +39 -0
  35. data/spec/cassettes/12/execution_valid.yml +60 -0
  36. data/spec/cassettes/12/export_job_xml.yml +234 -0
  37. data/spec/cassettes/12/export_job_yaml.yml +228 -0
  38. data/spec/cassettes/12/import_job_xml.yml +69 -0
  39. data/spec/cassettes/12/import_job_yaml.yml +63 -0
  40. data/spec/cassettes/12/job.yml +84 -0
  41. data/spec/cassettes/12/job_executions.yml +96 -0
  42. data/spec/cassettes/12/jobs.yml +76 -0
  43. data/spec/cassettes/12/key_contents_direct.yml +67 -0
  44. data/spec/cassettes/12/key_contents_multiple.yml +38 -0
  45. data/spec/cassettes/12/key_contents_private.yml +35 -0
  46. data/spec/cassettes/12/key_metadata_direct.yml +35 -0
  47. data/spec/cassettes/12/key_metadata_multiple.yml +38 -0
  48. data/spec/cassettes/12/keys_direct.yml +35 -0
  49. data/spec/cassettes/12/keys_multiple.yml +38 -0
  50. data/spec/cassettes/12/keys_none.yml +34 -0
  51. data/spec/cassettes/12/run_job_invalid.yml +44 -0
  52. data/spec/cassettes/12/run_job_valid.yml +77 -0
  53. data/spec/cassettes/12/running_jobs_multiple.yml +70 -0
  54. data/spec/cassettes/12/running_jobs_none.yml +39 -0
  55. data/spec/cassettes/12/running_jobs_single.yml +55 -0
  56. data/spec/cassettes/12/update_private_key.yml +96 -0
  57. data/spec/cassettes/12/update_public_key.yml +70 -0
  58. data/spec/rundeck/client/execution_spec.rb +346 -0
  59. data/spec/rundeck/client/job_spec.rb +175 -0
  60. data/spec/rundeck/client/key_spec.rb +223 -0
  61. data/spec/spec_helper.rb +15 -60
  62. data/spec/support/helpers.rb +136 -0
  63. metadata +118 -35
  64. data/spec/fixtures/empty.xml +0 -0
  65. data/spec/fixtures/job.xml +0 -17
  66. data/spec/fixtures/job_executions.xml +0 -31
  67. data/spec/fixtures/job_run.xml +0 -16
  68. data/spec/fixtures/jobs_import.xml +0 -23
  69. data/spec/fixtures/jobs_my_project.xml +0 -14
  70. data/spec/fixtures/jobs_xml.xml +0 -32
  71. data/spec/fixtures/jobs_yaml.xml +0 -22
  72. data/spec/fixtures/key_contents_public.xml +0 -1
  73. data/spec/fixtures/key_private.xml +0 -8
  74. data/spec/fixtures/key_public.xml +0 -7
  75. data/spec/fixtures/keys.xml +0 -27
  76. data/spec/rundeck/client/jobs_spec.rb +0 -181
  77. data/spec/rundeck/client/keys_spec.rb +0 -216
@@ -0,0 +1,41 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/execution/123456/state
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - cmJQYoy9EAsSd0905yNjKDNGs0ESIwEd
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 404
17
+ message: Not Found
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=1t9dupe7sdmxljmo9xbwcqlp2;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ X-Rundeck-Api-Version:
26
+ - '12'
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Server:
30
+ - Jetty(7.6.0.v20120127)
31
+ body:
32
+ encoding: UTF-8
33
+ string: |-
34
+ <result error='true' apiversion='12'>
35
+ <error code='api.error.item.doesnotexist'>
36
+ <message>Execution ID does not exist: 123456</message>
37
+ </error>
38
+ </result>
39
+ http_version:
40
+ recorded_at: Sat, 25 Oct 2014 14:19:41 GMT
41
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,39 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/execution/6/state
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - cmJQYoy9EAsSd0905yNjKDNGs0ESIwEd
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=1cllbbmih6u0fbvwnmdfn21h4;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Server:
28
+ - Jetty(7.6.0.v20120127)
29
+ body:
30
+ encoding: UTF-8
31
+ string: <result success='true' apiversion='12'><executionState id='6'><startTime>2014-10-18T02:04:07Z</startTime><stepCount>1</stepCount><allNodes><nodes><node
32
+ name='db1.anvils.com'></node></nodes></allNodes><targetNodes><nodes><node
33
+ name='db1.anvils.com'></node></nodes></targetNodes><updateTime>2014-10-18T02:04:09Z</updateTime><executionId>6</executionId><serverNode>localhost</serverNode><endTime>2014-10-18T02:04:09Z</endTime><executionState>SUCCEEDED</executionState><completed>true</completed><steps><step
34
+ stepctx='1' id='1'><startTime>2014-10-18T02:04:07Z</startTime><nodeStep>true</nodeStep><updateTime>2014-10-18T02:04:07Z</updateTime><parameterStates></parameterStates><endTime>2014-10-18T02:04:09Z</endTime><executionState>SUCCEEDED</executionState><nodeStates><nodeState
35
+ name='db1.anvils.com'><startTime>2014-10-18T02:04:07Z</startTime><updateTime>2014-10-18T02:04:09Z</updateTime><endTime>2014-10-18T02:04:09Z</endTime><executionState>SUCCEEDED</executionState></nodeState></nodeStates></step></steps><nodes><node
36
+ name='db1.anvils.com'><steps><step><stepctx>1</stepctx><executionState>SUCCEEDED</executionState></step></steps></node></nodes></executionState></result>
37
+ http_version:
38
+ recorded_at: Sat, 25 Oct 2014 14:20:43 GMT
39
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,60 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/execution/15
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=jx2abhravop81uc8xyiv9fho9;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ X-Rundeck-Api-Version:
26
+ - '12'
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Server:
30
+ - Jetty(7.6.0.v20120127)
31
+ body:
32
+ encoding: UTF-8
33
+ string: |-
34
+ <result success='true' apiversion='12'>
35
+ <executions count='1'>
36
+ <execution id='15' href='http://192.168.50.2:4440/execution/follow/15' status='succeeded' project='anvils'>
37
+ <user>admin</user>
38
+ <date-started unixtime='1413059515662'>2014-10-11T20:31:55Z</date-started>
39
+ <date-ended unixtime='1413059518828'>2014-10-11T20:31:58Z</date-ended>
40
+ <job id='2065685b-776a-4f1a-8fa8-7df90f9060aa' averageDuration='4669'>
41
+ <name>Status</name>
42
+ <group>anvils</group>
43
+ <project>anvils</project>
44
+ <description>Check the status of anvils</description>
45
+ <options>
46
+ <option name='dir' value='$HOME/anvils' />
47
+ </options>
48
+ </job>
49
+ <description>http://localhost/anvils/scripts/status.sh -- ${option.dir}</description>
50
+ <argstring>-dir $HOME/anvils</argstring>
51
+ <successfulNodes>
52
+ <node name='www1.anvils.com' />
53
+ <node name='www2.anvils.com' />
54
+ </successfulNodes>
55
+ </execution>
56
+ </executions>
57
+ </result>
58
+ http_version:
59
+ recorded_at: Sat, 11 Oct 2014 22:25:15 GMT
60
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,234 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/jobs/export?format=xml&project=anvils
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=f895z12zbp41v2sf0q4fde7r;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Server:
28
+ - Jetty(7.6.0.v20120127)
29
+ body:
30
+ encoding: UTF-8
31
+ string: |-
32
+ <joblist>
33
+ <job>
34
+ <id>48133ee7-c16f-4782-8217-5a0fdb755866</id>
35
+ <loglevel>INFO</loglevel>
36
+ <sequence keepgoing='false' strategy='node-first'>
37
+ <command>
38
+ <scriptargs>${option.repository} ${option.release} ${option.packages}</scriptargs>
39
+ <script><![CDATA[#!/bin/bash
40
+ set -eu
41
+ [[ $# != 3 ]] && {
42
+ echo >&2 'usage: $0 repository release pkg1,pkg2,pkgN'
43
+ exit 2
44
+ }
45
+ REPOSITORY=$1 RELEASE=$2 PACKAGELIST=$3
46
+
47
+ echo "# PROMOTE"
48
+ echo "## $REPOSITORY/$RELEASE"
49
+ echo "## Promote $REPOSITORY/$RELEASE..."
50
+
51
+ PACKAGES=( ${PACKAGELIST//,/ } )
52
+ echo "number packages: ${#PACKAGES[*]}"
53
+ echo
54
+ for package in ${PACKAGES[*]:-}
55
+ do
56
+ echo "- $REPOSITORY/$RELEASE/$package"
57
+ done
58
+
59
+ exit $?]]></script>
60
+ </command>
61
+ </sequence>
62
+ <description>promote the packages to the ops repository.</description>
63
+ <name>Promote</name>
64
+ <context>
65
+ <project>anvils</project>
66
+ <options>
67
+ <option name='packages' valuesUrl='http://localhost/anvils/options/packages/${option.release.value}.json' enforcedvalues='true' required='true' multivalued='true' delimiter=','>
68
+ <description>packages versions</description>
69
+ </option>
70
+ <option name='release' valuesUrl='http://localhost/anvils/options/releases/${option.repository.value}.json' enforcedvalues='true' required='true'>
71
+ <description>release tag</description>
72
+ </option>
73
+ <option name='repository' valuesUrl='http://localhost/anvils/options/repositories.json' enforcedvalues='true' required='true'>
74
+ <description>repository name</description>
75
+ </option>
76
+ </options>
77
+ </context>
78
+ <uuid>48133ee7-c16f-4782-8217-5a0fdb755866</uuid>
79
+ <group>anvils</group>
80
+ </job>
81
+ <job>
82
+ <id>2065685b-776a-4f1a-8fa8-7df90f9060aa</id>
83
+ <loglevel>INFO</loglevel>
84
+ <multipleExecutions>true</multipleExecutions>
85
+ <sequence keepgoing='true' strategy='node-first'>
86
+ <command>
87
+ <scripturl>http://localhost/anvils/scripts/status.sh</scripturl>
88
+ <errorhandler keepgoingOnSuccess='true'>
89
+ <exec>echo "Continuing..."</exec>
90
+ </errorhandler>
91
+ <scriptargs>${option.dir}</scriptargs>
92
+ </command>
93
+ </sequence>
94
+ <description>Check the status of anvils</description>
95
+ <name>Status</name>
96
+ <context>
97
+ <project>anvils</project>
98
+ <options>
99
+ <option name='dir' valuesUrl='http://localhost/anvils/options/anvils-dir.json' enforcedvalues='true' required='true' />
100
+ </options>
101
+ </context>
102
+ <dispatch>
103
+ <threadcount>1</threadcount>
104
+ <keepgoing>true</keepgoing>
105
+ <excludePrecedence>true</excludePrecedence>
106
+ <rankOrder>ascending</rankOrder>
107
+ </dispatch>
108
+ <uuid>2065685b-776a-4f1a-8fa8-7df90f9060aa</uuid>
109
+ <nodefilters>
110
+ <filter>tags: www</filter>
111
+ </nodefilters>
112
+ <group>anvils</group>
113
+ </job>
114
+ <job>
115
+ <id>308f438c-3950-4b62-9e49-97182edab157</id>
116
+ <schedule>
117
+ <time seconds='0' minute='00' hour='00' />
118
+ <weekday day='*' />
119
+ <month month='*' />
120
+ <year year='*' />
121
+ </schedule>
122
+ <loglevel>INFO</loglevel>
123
+ <sequence keepgoing='false' strategy='node-first'>
124
+ <command>
125
+ <scriptargs>${option.catalog}</scriptargs>
126
+ <script><![CDATA[#!/bin/bash
127
+ set -eu
128
+ CATALOG=$1
129
+ echo "# Rebuild catalog: $CATALOG"
130
+ echo ""
131
+ echo "- customer: ${RD_NODE_ANVILS_CUSTOMER}"
132
+ echo "- location: ${RD_NODE_ANVILS_LOCATION}"
133
+ echo "- database: ${RD_NODE_NAME:-}"
134
+ echo "Completed."
135
+ exit $?]]></script>
136
+ </command>
137
+ </sequence>
138
+ <description>rebuild the catalog data</description>
139
+ <name>nightly_catalog_rebuild</name>
140
+ <context>
141
+ <project>anvils</project>
142
+ <options>
143
+ <option name='catalog' values='inventory,partner,shipping-rates' enforcedvalues='true' required='true'>
144
+ <description>catalog name</description>
145
+ </option>
146
+ </options>
147
+ </context>
148
+ <notification>
149
+ <onfailure>
150
+ <email recipients='bizops@anvils.com' />
151
+ </onfailure>
152
+ <onsuccess>
153
+ <email recipients='bizops@anvils.com' />
154
+ </onsuccess>
155
+ </notification>
156
+ <dispatch>
157
+ <threadcount>1</threadcount>
158
+ <keepgoing>true</keepgoing>
159
+ <excludePrecedence>true</excludePrecedence>
160
+ <rankOrder>ascending</rankOrder>
161
+ </dispatch>
162
+ <uuid>308f438c-3950-4b62-9e49-97182edab157</uuid>
163
+ <nodefilters>
164
+ <filter>tags: db</filter>
165
+ </nodefilters>
166
+ <group>anvils</group>
167
+ </job>
168
+ <job>
169
+ <id>6a4d6655-4a5b-4e40-90ce-9feb03e0b387</id>
170
+ <loglevel>INFO</loglevel>
171
+ <sequence keepgoing='false' strategy='node-first'>
172
+ <command>
173
+ <scripturl>http://localhost/anvils/scripts/start.sh</scripturl>
174
+ <scriptargs>${option.dir}</scriptargs>
175
+ </command>
176
+ </sequence>
177
+ <description>start the web servers</description>
178
+ <name>start</name>
179
+ <context>
180
+ <project>anvils</project>
181
+ <options>
182
+ <option name='dir' valuesUrl='http://localhost/anvils/options/anvils-dir.json' enforcedvalues='true' required='true' />
183
+ </options>
184
+ </context>
185
+ <dispatch>
186
+ <threadcount>1</threadcount>
187
+ <keepgoing>true</keepgoing>
188
+ <excludePrecedence>true</excludePrecedence>
189
+ <rankOrder>ascending</rankOrder>
190
+ </dispatch>
191
+ <uuid>6a4d6655-4a5b-4e40-90ce-9feb03e0b387</uuid>
192
+ <nodefilters>
193
+ <filter>tags: www</filter>
194
+ </nodefilters>
195
+ <group>anvils/web</group>
196
+ </job>
197
+ <job>
198
+ <id>33e43e6b-c83d-42a9-b399-76b93bd728c1</id>
199
+ <loglevel>INFO</loglevel>
200
+ <sequence keepgoing='false' strategy='node-first'>
201
+ <command>
202
+ <scripturl>http://localhost/anvils/scripts/stop.sh</scripturl>
203
+ <errorhandler keepgoingOnSuccess='true'>
204
+ <scripturl>http://localhost/anvils/scripts/kill.sh</scripturl>
205
+ <scriptargs>${option.dir}</scriptargs>
206
+ </errorhandler>
207
+ <scriptargs>${option.dir} ${option.method}</scriptargs>
208
+ </command>
209
+ </sequence>
210
+ <description>stop the web servers</description>
211
+ <name>stop</name>
212
+ <context>
213
+ <project>anvils</project>
214
+ <options>
215
+ <option name='dir' valuesUrl='http://localhost/anvils/options/anvils-dir.json' enforcedvalues='true' required='true' />
216
+ <option name='method' valuesUrl='http://localhost/anvils/options/stop-method.json' enforcedvalues='true' required='true' />
217
+ </options>
218
+ </context>
219
+ <dispatch>
220
+ <threadcount>1</threadcount>
221
+ <keepgoing>true</keepgoing>
222
+ <excludePrecedence>true</excludePrecedence>
223
+ <rankOrder>ascending</rankOrder>
224
+ </dispatch>
225
+ <uuid>33e43e6b-c83d-42a9-b399-76b93bd728c1</uuid>
226
+ <nodefilters>
227
+ <filter>tags: www</filter>
228
+ </nodefilters>
229
+ <group>anvils/web</group>
230
+ </job>
231
+ </joblist>
232
+ http_version:
233
+ recorded_at: Sat, 11 Oct 2014 14:24:13 GMT
234
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,228 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/jobs/export?format=yaml&project=anvils
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=16h3xm01qq2qzll49o9v611lc;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - text/yaml;charset=UTF-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Server:
28
+ - Jetty(7.6.0.v20120127)
29
+ body:
30
+ encoding: UTF-8
31
+ string: |
32
+ - id: 48133ee7-c16f-4782-8217-5a0fdb755866
33
+ project: anvils
34
+ loglevel: INFO
35
+ sequence:
36
+ keepgoing: false
37
+ strategy: node-first
38
+ commands:
39
+ - script: |-
40
+ #!/bin/bash
41
+ set -eu
42
+ [[ $# != 3 ]] && {
43
+ echo >&2 'usage: $0 repository release pkg1,pkg2,pkgN'
44
+ exit 2
45
+ }
46
+ REPOSITORY=$1 RELEASE=$2 PACKAGELIST=$3
47
+
48
+ echo "# PROMOTE"
49
+ echo "## $REPOSITORY/$RELEASE"
50
+ echo "## Promote $REPOSITORY/$RELEASE..."
51
+
52
+ PACKAGES=( ${PACKAGELIST//,/ } )
53
+ echo "number packages: ${#PACKAGES[*]}"
54
+ echo
55
+ for package in ${PACKAGES[*]:-}
56
+ do
57
+ echo "- $REPOSITORY/$RELEASE/$package"
58
+ done
59
+
60
+ exit $?
61
+ args: ${option.repository} ${option.release} ${option.packages}
62
+ description: promote the packages to the ops repository.
63
+ name: Promote
64
+ uuid: 48133ee7-c16f-4782-8217-5a0fdb755866
65
+ group: anvils
66
+ options:
67
+ packages:
68
+ enforced: true
69
+ required: true
70
+ description: packages versions
71
+ valuesUrl: http://localhost/anvils/options/packages/${option.release.value}.json
72
+ multivalued: true
73
+ delimiter: ','
74
+ release:
75
+ enforced: true
76
+ required: true
77
+ description: release tag
78
+ valuesUrl: http://localhost/anvils/options/releases/${option.repository.value}.json
79
+ repository:
80
+ enforced: true
81
+ required: true
82
+ description: repository name
83
+ valuesUrl: http://localhost/anvils/options/repositories.json
84
+ - id: 2065685b-776a-4f1a-8fa8-7df90f9060aa
85
+ project: anvils
86
+ loglevel: INFO
87
+ multipleExecutions: true
88
+ sequence:
89
+ keepgoing: true
90
+ strategy: node-first
91
+ commands:
92
+ - scripturl: http://localhost/anvils/scripts/status.sh
93
+ args: ${option.dir}
94
+ errorhandler:
95
+ exec: echo "Continuing..."
96
+ keepgoingOnSuccess: true
97
+ description: Check the status of anvils
98
+ name: Status
99
+ uuid: 2065685b-776a-4f1a-8fa8-7df90f9060aa
100
+ nodefilters:
101
+ dispatch:
102
+ threadcount: 1
103
+ keepgoing: true
104
+ excludePrecedence: true
105
+ rankOrder: ascending
106
+ filter: 'tags: www'
107
+ group: anvils
108
+ options:
109
+ dir:
110
+ enforced: true
111
+ required: true
112
+ valuesUrl: http://localhost/anvils/options/anvils-dir.json
113
+ - id: 308f438c-3950-4b62-9e49-97182edab157
114
+ project: anvils
115
+ schedule:
116
+ time:
117
+ hour: '00'
118
+ minute: '00'
119
+ seconds: '0'
120
+ month: '*'
121
+ year: '*'
122
+ weekday:
123
+ day: '*'
124
+ loglevel: INFO
125
+ sequence:
126
+ keepgoing: false
127
+ strategy: node-first
128
+ commands:
129
+ - script: |-
130
+ #!/bin/bash
131
+ set -eu
132
+ CATALOG=$1
133
+ echo "# Rebuild catalog: $CATALOG"
134
+ echo ""
135
+ echo "- customer: ${RD_NODE_ANVILS_CUSTOMER}"
136
+ echo "- location: ${RD_NODE_ANVILS_LOCATION}"
137
+ echo "- database: ${RD_NODE_NAME:-}"
138
+ echo "Completed."
139
+ exit $?
140
+ args: ${option.catalog}
141
+ description: rebuild the catalog data
142
+ name: nightly_catalog_rebuild
143
+ notification:
144
+ onfailure:
145
+ email:
146
+ recipients: bizops@anvils.com
147
+ onsuccess:
148
+ email:
149
+ recipients: bizops@anvils.com
150
+ uuid: 308f438c-3950-4b62-9e49-97182edab157
151
+ nodefilters:
152
+ dispatch:
153
+ threadcount: 1
154
+ keepgoing: true
155
+ excludePrecedence: true
156
+ rankOrder: ascending
157
+ filter: 'tags: db'
158
+ group: anvils
159
+ options:
160
+ catalog:
161
+ enforced: true
162
+ required: true
163
+ description: catalog name
164
+ values:
165
+ - inventory
166
+ - partner
167
+ - shipping-rates
168
+ - id: 6a4d6655-4a5b-4e40-90ce-9feb03e0b387
169
+ project: anvils
170
+ loglevel: INFO
171
+ sequence:
172
+ keepgoing: false
173
+ strategy: node-first
174
+ commands:
175
+ - scripturl: http://localhost/anvils/scripts/start.sh
176
+ args: ${option.dir}
177
+ description: start the web servers
178
+ name: start
179
+ uuid: 6a4d6655-4a5b-4e40-90ce-9feb03e0b387
180
+ nodefilters:
181
+ dispatch:
182
+ threadcount: 1
183
+ keepgoing: true
184
+ excludePrecedence: true
185
+ rankOrder: ascending
186
+ filter: 'tags: www'
187
+ group: anvils/web
188
+ options:
189
+ dir:
190
+ enforced: true
191
+ required: true
192
+ valuesUrl: http://localhost/anvils/options/anvils-dir.json
193
+ - id: 33e43e6b-c83d-42a9-b399-76b93bd728c1
194
+ project: anvils
195
+ loglevel: INFO
196
+ sequence:
197
+ keepgoing: false
198
+ strategy: node-first
199
+ commands:
200
+ - scripturl: http://localhost/anvils/scripts/stop.sh
201
+ args: ${option.dir} ${option.method}
202
+ errorhandler:
203
+ scripturl: http://localhost/anvils/scripts/kill.sh
204
+ args: ${option.dir}
205
+ keepgoingOnSuccess: true
206
+ description: stop the web servers
207
+ name: stop
208
+ uuid: 33e43e6b-c83d-42a9-b399-76b93bd728c1
209
+ nodefilters:
210
+ dispatch:
211
+ threadcount: 1
212
+ keepgoing: true
213
+ excludePrecedence: true
214
+ rankOrder: ascending
215
+ filter: 'tags: www'
216
+ group: anvils/web
217
+ options:
218
+ dir:
219
+ enforced: true
220
+ required: true
221
+ valuesUrl: http://localhost/anvils/options/anvils-dir.json
222
+ method:
223
+ enforced: true
224
+ required: true
225
+ valuesUrl: http://localhost/anvils/options/stop-method.json
226
+ http_version:
227
+ recorded_at: Sat, 11 Oct 2014 14:24:13 GMT
228
+ recorded_with: VCR 2.9.3