rundeck 0.0.3.pre → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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