kitchen-propeller 2.0.4
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.
- checksums.yaml +7 -0
- data/.cane +3 -0
- data/.gitignore +17 -0
- data/.idea/.rakeTasks +7 -0
- data/.idea/kitchen-propeller.iml +34 -0
- data/.idea/misc.xml +4 -0
- data/.idea/modules.xml +8 -0
- data/.idea/vcs.xml +6 -0
- data/.idea/workspace.xml +392 -0
- data/.kitchen/logs/kitchen.log +29 -0
- data/.tailor +4 -0
- data/.travis.yml +11 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +3 -0
- data/LICENSE +15 -0
- data/README.md +85 -0
- data/Rakefile +24 -0
- data/kitchen-propeller.gemspec +29 -0
- data/lib/kitchen/driver/propeller.rb +159 -0
- data/lib/kitchen/driver/propeller_version.rb +26 -0
- metadata +147 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9c7da886ebae70a00d1640c277be0a93d94d9f5d
|
4
|
+
data.tar.gz: 1413f31fe7262b206b48bbcc4c66f43e0bffc535
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6548e4d0ac58d28a98f4460a5bb2c636411d0cda07dbc2c3e62963cdf050a165825877431f0cfe97b118ab944e0e7f819233dc7998fe1b72bdd69e274369022e
|
7
|
+
data.tar.gz: 1ee5f6abc26129d24029d8f4677afe30d8a23cba6ebb75076de9f4fbd67a7055ce526f47cd0147741abd9cb96ec3db0ad6b4d54a93e9a56761de81ec4d4d8d72
|
data/.cane
ADDED
data/.gitignore
ADDED
data/.idea/.rakeTasks
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<Settings><!--This file was automatically generated by Ruby plugin.
|
3
|
+
You are allowed to:
|
4
|
+
1. Remove rake task
|
5
|
+
2. Add existing rake tasks
|
6
|
+
To add existing rake tasks automatically delete this file and reload the project.
|
7
|
+
--><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build kitchen-propeller-2.0.0.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Run cane to check quality metrics" fullCmd="cane" taksId="cane" /><RakeTask description="Remove any temporary products" fullCmd="clean" taksId="clean" /><RakeTask description="Remove any generated files" fullCmd="clobber" taksId="clobber" /><RakeTask description="Build and install kitchen-propeller-2.0.0.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install kitchen-propeller-2.0.0.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Run all quality tasks" fullCmd="quality" taksId="quality" /><RakeTask description="Create tag v2.0.0 and build and push kitchen-propeller-2.0.0.gem to Rubygems" fullCmd="release[remote]" taksId="release[remote]" /><RakeTask description="Display LOC stats" fullCmd="stats" taksId="stats" /><RakeTask description="Check style" fullCmd="tailor" taksId="tailor" /><RakeTask description="" fullCmd="default" taksId="default" /><RakeTask description="" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<module type="RUBY_MODULE" version="4">
|
3
|
+
<component name="ModuleRunConfigurationManager">
|
4
|
+
<shared />
|
5
|
+
<local />
|
6
|
+
</component>
|
7
|
+
<component name="NewModuleRootManager">
|
8
|
+
<content url="file://$MODULE_DIR$" />
|
9
|
+
<orderEntry type="inheritedJdk" />
|
10
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
11
|
+
<orderEntry type="library" scope="PROVIDED" name="artifactory (v2.8.1, RVM: ruby-2.2.0) [gem]" level="application" />
|
12
|
+
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.14.6, RVM: ruby-2.2.0) [gem]" level="application" />
|
13
|
+
<orderEntry type="library" scope="PROVIDED" name="cane (v3.0.0, RVM: ruby-2.2.0) [gem]" level="application" />
|
14
|
+
<orderEntry type="library" scope="PROVIDED" name="countloc (v0.4.0, RVM: ruby-2.2.0) [gem]" level="application" />
|
15
|
+
<orderEntry type="library" scope="PROVIDED" name="log_switch (v0.3.0, RVM: ruby-2.2.0) [gem]" level="application" />
|
16
|
+
<orderEntry type="library" scope="PROVIDED" name="mini_portile2 (v2.1.0, RVM: ruby-2.2.0) [gem]" level="application" />
|
17
|
+
<orderEntry type="library" scope="PROVIDED" name="mixlib-install (v2.1.12, RVM: ruby-2.2.0) [gem]" level="application" />
|
18
|
+
<orderEntry type="library" scope="PROVIDED" name="mixlib-shellout (v2.2.7, RVM: ruby-2.2.0) [gem]" level="application" />
|
19
|
+
<orderEntry type="library" scope="PROVIDED" name="mixlib-versioning (v1.1.0, RVM: ruby-2.2.0) [gem]" level="application" />
|
20
|
+
<orderEntry type="library" scope="PROVIDED" name="net-scp (v1.2.1, RVM: ruby-2.2.0) [gem]" level="application" />
|
21
|
+
<orderEntry type="library" scope="PROVIDED" name="net-ssh (v4.1.0, RVM: ruby-2.2.0) [gem]" level="application" />
|
22
|
+
<orderEntry type="library" scope="PROVIDED" name="net-ssh-gateway (v1.3.0, RVM: ruby-2.2.0) [gem]" level="application" />
|
23
|
+
<orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.7.1, RVM: ruby-2.2.0) [gem]" level="application" />
|
24
|
+
<orderEntry type="library" scope="PROVIDED" name="parallel (v1.11.1, RVM: ruby-2.2.0) [gem]" level="application" />
|
25
|
+
<orderEntry type="library" scope="PROVIDED" name="rake (v12.0.0, RVM: ruby-2.2.0) [gem]" level="application" />
|
26
|
+
<orderEntry type="library" scope="PROVIDED" name="safe_yaml (v1.0.4, RVM: ruby-2.2.0) [gem]" level="application" />
|
27
|
+
<orderEntry type="library" scope="PROVIDED" name="tailor (v1.4.1, RVM: ruby-2.2.0) [gem]" level="application" />
|
28
|
+
<orderEntry type="library" scope="PROVIDED" name="term-ansicolor (v1.6.0, RVM: ruby-2.2.0) [gem]" level="application" />
|
29
|
+
<orderEntry type="library" scope="PROVIDED" name="test-kitchen (v1.16.0, RVM: ruby-2.2.0) [gem]" level="application" />
|
30
|
+
<orderEntry type="library" scope="PROVIDED" name="text-table (v1.2.4, RVM: ruby-2.2.0) [gem]" level="application" />
|
31
|
+
<orderEntry type="library" scope="PROVIDED" name="thor (v0.19.1, RVM: ruby-2.2.0) [gem]" level="application" />
|
32
|
+
<orderEntry type="library" scope="PROVIDED" name="tins (v1.13.2, RVM: ruby-2.2.0) [gem]" level="application" />
|
33
|
+
</component>
|
34
|
+
</module>
|
data/.idea/misc.xml
ADDED
data/.idea/modules.xml
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<project version="4">
|
3
|
+
<component name="ProjectModuleManager">
|
4
|
+
<modules>
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/.idea/kitchen-propeller.iml" filepath="$PROJECT_DIR$/.idea/kitchen-propeller.iml" />
|
6
|
+
</modules>
|
7
|
+
</component>
|
8
|
+
</project>
|
data/.idea/vcs.xml
ADDED
data/.idea/workspace.xml
ADDED
@@ -0,0 +1,392 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<project version="4">
|
3
|
+
<component name="ChangeListManager">
|
4
|
+
<list default="true" id="73e5dce0-b421-44cc-9fd9-fe5db9d2f72e" name="Default" comment="">
|
5
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/kitchen/driver/propeller.rb" afterPath="$PROJECT_DIR$/lib/kitchen/driver/propeller.rb" />
|
6
|
+
</list>
|
7
|
+
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
8
|
+
<option name="TRACKING_ENABLED" value="true" />
|
9
|
+
<option name="SHOW_DIALOG" value="false" />
|
10
|
+
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
11
|
+
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
12
|
+
<option name="LAST_RESOLUTION" value="IGNORE" />
|
13
|
+
</component>
|
14
|
+
<component name="FileEditorManager">
|
15
|
+
<leaf>
|
16
|
+
<file leaf-file-name="Gemfile" pinned="false" current-in-tab="false">
|
17
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
18
|
+
<provider selected="true" editor-type-id="text-editor">
|
19
|
+
<state relative-caret-position="0">
|
20
|
+
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
21
|
+
<folding />
|
22
|
+
</state>
|
23
|
+
</provider>
|
24
|
+
</entry>
|
25
|
+
</file>
|
26
|
+
<file leaf-file-name="propeller.rb" pinned="false" current-in-tab="true">
|
27
|
+
<entry file="file://$PROJECT_DIR$/lib/kitchen/driver/propeller.rb">
|
28
|
+
<provider selected="true" editor-type-id="text-editor">
|
29
|
+
<state relative-caret-position="497">
|
30
|
+
<caret line="133" column="0" lean-forward="true" selection-start-line="133" selection-start-column="0" selection-end-line="133" selection-end-column="0" />
|
31
|
+
<folding />
|
32
|
+
</state>
|
33
|
+
</provider>
|
34
|
+
</entry>
|
35
|
+
</file>
|
36
|
+
</leaf>
|
37
|
+
</component>
|
38
|
+
<component name="Git.Settings">
|
39
|
+
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
40
|
+
</component>
|
41
|
+
<component name="IdeDocumentHistory">
|
42
|
+
<option name="CHANGED_PATHS">
|
43
|
+
<list>
|
44
|
+
<option value="$PROJECT_DIR$/lib/kitchen/driver/propeller.rb" />
|
45
|
+
</list>
|
46
|
+
</option>
|
47
|
+
</component>
|
48
|
+
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
|
49
|
+
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
|
50
|
+
<component name="JsGulpfileManager">
|
51
|
+
<detection-done>true</detection-done>
|
52
|
+
<sorting>DEFINITION_ORDER</sorting>
|
53
|
+
</component>
|
54
|
+
<component name="ProjectFrameBounds">
|
55
|
+
<option name="x" value="20" />
|
56
|
+
<option name="y" value="43" />
|
57
|
+
<option name="width" value="1400" />
|
58
|
+
<option name="height" value="805" />
|
59
|
+
</component>
|
60
|
+
<component name="ProjectView">
|
61
|
+
<navigator currentView="ProjectPane" proportions="" version="1">
|
62
|
+
<flattenPackages />
|
63
|
+
<showMembers />
|
64
|
+
<showModules />
|
65
|
+
<showLibraryContents />
|
66
|
+
<hideEmptyPackages />
|
67
|
+
<abbreviatePackageNames />
|
68
|
+
<autoscrollToSource />
|
69
|
+
<autoscrollFromSource />
|
70
|
+
<sortByType />
|
71
|
+
<manualOrder />
|
72
|
+
<foldersAlwaysOnTop value="true" />
|
73
|
+
</navigator>
|
74
|
+
<panes>
|
75
|
+
<pane id="Scope" />
|
76
|
+
<pane id="Scratches" />
|
77
|
+
<pane id="ProjectPane">
|
78
|
+
<subPane>
|
79
|
+
<PATH>
|
80
|
+
<PATH_ELEMENT>
|
81
|
+
<option name="myItemId" value="kitchen-propeller" />
|
82
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
83
|
+
</PATH_ELEMENT>
|
84
|
+
<PATH_ELEMENT>
|
85
|
+
<option name="myItemId" value="kitchen-propeller" />
|
86
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
87
|
+
</PATH_ELEMENT>
|
88
|
+
</PATH>
|
89
|
+
<PATH>
|
90
|
+
<PATH_ELEMENT>
|
91
|
+
<option name="myItemId" value="kitchen-propeller" />
|
92
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
93
|
+
</PATH_ELEMENT>
|
94
|
+
<PATH_ELEMENT>
|
95
|
+
<option name="myItemId" value="kitchen-propeller" />
|
96
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
97
|
+
</PATH_ELEMENT>
|
98
|
+
<PATH_ELEMENT>
|
99
|
+
<option name="myItemId" value="lib" />
|
100
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
101
|
+
</PATH_ELEMENT>
|
102
|
+
<PATH_ELEMENT>
|
103
|
+
<option name="myItemId" value="kitchen" />
|
104
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
105
|
+
</PATH_ELEMENT>
|
106
|
+
<PATH_ELEMENT>
|
107
|
+
<option name="myItemId" value="driver" />
|
108
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
109
|
+
</PATH_ELEMENT>
|
110
|
+
</PATH>
|
111
|
+
</subPane>
|
112
|
+
</pane>
|
113
|
+
</panes>
|
114
|
+
</component>
|
115
|
+
<component name="PropertiesComponent">
|
116
|
+
<property name="WebServerToolWindowFactoryState" value="false" />
|
117
|
+
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
118
|
+
</component>
|
119
|
+
<component name="RunDashboard">
|
120
|
+
<option name="ruleStates">
|
121
|
+
<list>
|
122
|
+
<RuleState>
|
123
|
+
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
124
|
+
</RuleState>
|
125
|
+
<RuleState>
|
126
|
+
<option name="name" value="StatusDashboardGroupingRule" />
|
127
|
+
</RuleState>
|
128
|
+
</list>
|
129
|
+
</option>
|
130
|
+
</component>
|
131
|
+
<component name="RunManager">
|
132
|
+
<configuration default="true" type="CucumberRunConfigurationType" factoryName="Cucumber">
|
133
|
+
<predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
|
134
|
+
<module name="" />
|
135
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
136
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
137
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
138
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
139
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
140
|
+
<envs />
|
141
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
142
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
143
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
144
|
+
<COVERAGE_PATTERN ENABLED="true">
|
145
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
146
|
+
</COVERAGE_PATTERN>
|
147
|
+
</EXTENSION>
|
148
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*.feature" />
|
149
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
150
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
151
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
152
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
|
153
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
|
154
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
|
155
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
156
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
157
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="VERBOSE_OPTION" VALUE="false" />
|
158
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
159
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
160
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
161
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
|
162
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
|
163
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
|
164
|
+
<method />
|
165
|
+
</configuration>
|
166
|
+
<configuration default="true" type="GoApplicationRunConfiguration" factoryName="Go Application">
|
167
|
+
<module name="" />
|
168
|
+
<working_directory value="$PROJECT_DIR$" />
|
169
|
+
<go_parameters value="-i" />
|
170
|
+
<filePath value="$PROJECT_DIR$" />
|
171
|
+
<kind value="FILE" />
|
172
|
+
<method />
|
173
|
+
</configuration>
|
174
|
+
<configuration default="true" type="GoRunFileConfiguration" factoryName="Go Single File">
|
175
|
+
<module name="" />
|
176
|
+
<working_directory value="$PROJECT_DIR$" />
|
177
|
+
<filePath value="$PROJECT_DIR$" />
|
178
|
+
<method />
|
179
|
+
</configuration>
|
180
|
+
<configuration default="true" type="GoTestRunConfiguration" factoryName="Go Test">
|
181
|
+
<module name="" />
|
182
|
+
<working_directory value="$PROJECT_DIR$" />
|
183
|
+
<go_parameters value="-i" />
|
184
|
+
<framework value="gotest" />
|
185
|
+
<kind value="DIRECTORY" />
|
186
|
+
<method />
|
187
|
+
</configuration>
|
188
|
+
<configuration default="true" type="JavaScriptTestRunnerJest" factoryName="Jest">
|
189
|
+
<node-interpreter value="project" />
|
190
|
+
<working-dir value="" />
|
191
|
+
<envs />
|
192
|
+
<scope-kind value="ALL" />
|
193
|
+
<method />
|
194
|
+
</configuration>
|
195
|
+
<configuration default="true" type="JavaScriptTestRunnerProtractor" factoryName="Protractor">
|
196
|
+
<config-file value="" />
|
197
|
+
<node-interpreter value="project" />
|
198
|
+
<envs />
|
199
|
+
<method />
|
200
|
+
</configuration>
|
201
|
+
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
|
202
|
+
<method />
|
203
|
+
</configuration>
|
204
|
+
<configuration default="true" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" working-dir="">
|
205
|
+
<method />
|
206
|
+
</configuration>
|
207
|
+
<configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
|
208
|
+
<predefined_log_file id="RUBY_RSPEC" enabled="true" />
|
209
|
+
<module name="" />
|
210
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
211
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
212
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
213
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
214
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
215
|
+
<envs />
|
216
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
217
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
218
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
219
|
+
<COVERAGE_PATTERN ENABLED="true">
|
220
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
221
|
+
</COVERAGE_PATTERN>
|
222
|
+
</EXTENSION>
|
223
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
224
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
225
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
|
226
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
|
227
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
|
228
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
229
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
|
230
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
231
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
|
232
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
233
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
234
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
235
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
236
|
+
<method />
|
237
|
+
</configuration>
|
238
|
+
<configuration default="true" type="RubyRunConfigurationType" factoryName="Ruby">
|
239
|
+
<module name="" />
|
240
|
+
<RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
241
|
+
<RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="" />
|
242
|
+
<RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
243
|
+
<RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
244
|
+
<RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
|
245
|
+
<envs />
|
246
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
247
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
248
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
249
|
+
<COVERAGE_PATTERN ENABLED="true">
|
250
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
251
|
+
</COVERAGE_PATTERN>
|
252
|
+
</EXTENSION>
|
253
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="" />
|
254
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
|
255
|
+
<method />
|
256
|
+
</configuration>
|
257
|
+
<configuration default="true" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest">
|
258
|
+
<predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
|
259
|
+
<module name="" />
|
260
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
261
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
262
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
263
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
264
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
265
|
+
<envs />
|
266
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
267
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
268
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
269
|
+
<COVERAGE_PATTERN ENABLED="true">
|
270
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
271
|
+
</COVERAGE_PATTERN>
|
272
|
+
</EXTENSION>
|
273
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
274
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
275
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
|
276
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
|
277
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
278
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
279
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
280
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
281
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
|
282
|
+
<method />
|
283
|
+
</configuration>
|
284
|
+
<configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
|
285
|
+
<method />
|
286
|
+
</configuration>
|
287
|
+
<configuration default="true" type="js.build_tools.npm" factoryName="npm">
|
288
|
+
<command value="run" />
|
289
|
+
<scripts />
|
290
|
+
<node-interpreter value="project" />
|
291
|
+
<envs />
|
292
|
+
<method />
|
293
|
+
</configuration>
|
294
|
+
<configuration default="true" type="mocha-javascript-test-runner" factoryName="Mocha">
|
295
|
+
<node-interpreter>project</node-interpreter>
|
296
|
+
<node-options />
|
297
|
+
<working-directory />
|
298
|
+
<pass-parent-env>true</pass-parent-env>
|
299
|
+
<envs />
|
300
|
+
<ui />
|
301
|
+
<extra-mocha-options />
|
302
|
+
<test-kind>DIRECTORY</test-kind>
|
303
|
+
<test-directory />
|
304
|
+
<recursive>false</recursive>
|
305
|
+
<method />
|
306
|
+
</configuration>
|
307
|
+
</component>
|
308
|
+
<component name="ShelveChangesManager" show_recycled="false">
|
309
|
+
<option name="remove_strategy" value="false" />
|
310
|
+
</component>
|
311
|
+
<component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" />
|
312
|
+
<component name="TaskManager">
|
313
|
+
<task active="true" id="Default" summary="Default task">
|
314
|
+
<changelist id="73e5dce0-b421-44cc-9fd9-fe5db9d2f72e" name="Default" comment="" />
|
315
|
+
<created>1495667893617</created>
|
316
|
+
<option name="number" value="Default" />
|
317
|
+
<option name="presentableId" value="Default" />
|
318
|
+
<updated>1495667893617</updated>
|
319
|
+
<workItem from="1495667895232" duration="317000" />
|
320
|
+
</task>
|
321
|
+
<servers />
|
322
|
+
</component>
|
323
|
+
<component name="TimeTrackingManager">
|
324
|
+
<option name="totallyTimeSpent" value="317000" />
|
325
|
+
</component>
|
326
|
+
<component name="ToolWindowManager">
|
327
|
+
<frame x="20" y="43" width="1400" height="805" extended-state="0" />
|
328
|
+
<layout>
|
329
|
+
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
330
|
+
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
331
|
+
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
332
|
+
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
333
|
+
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
334
|
+
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
335
|
+
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
336
|
+
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
337
|
+
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
338
|
+
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
339
|
+
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
340
|
+
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
341
|
+
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
342
|
+
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
343
|
+
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
344
|
+
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
345
|
+
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
346
|
+
</layout>
|
347
|
+
</component>
|
348
|
+
<component name="TypeScriptGeneratedFilesManager">
|
349
|
+
<option name="processedProjectFiles" value="true" />
|
350
|
+
</component>
|
351
|
+
<component name="VcsContentAnnotationSettings">
|
352
|
+
<option name="myLimit" value="2678400000" />
|
353
|
+
</component>
|
354
|
+
<component name="XDebuggerManager">
|
355
|
+
<breakpoint-manager />
|
356
|
+
<watches-manager />
|
357
|
+
</component>
|
358
|
+
<component name="editorHistoryManager">
|
359
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.2.0/gems/log_switch-0.3.0/lib/log_switch.rb">
|
360
|
+
<provider selected="true" editor-type-id="text-editor">
|
361
|
+
<state relative-caret-position="0">
|
362
|
+
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
363
|
+
<folding />
|
364
|
+
</state>
|
365
|
+
</provider>
|
366
|
+
</entry>
|
367
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
368
|
+
<provider selected="true" editor-type-id="text-editor">
|
369
|
+
<state relative-caret-position="0">
|
370
|
+
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
371
|
+
<folding />
|
372
|
+
</state>
|
373
|
+
</provider>
|
374
|
+
</entry>
|
375
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/driver/base.rb">
|
376
|
+
<provider selected="true" editor-type-id="text-editor">
|
377
|
+
<state relative-caret-position="720">
|
378
|
+
<caret line="48" column="10" lean-forward="false" selection-start-line="48" selection-start-column="10" selection-end-line="48" selection-end-column="10" />
|
379
|
+
<folding />
|
380
|
+
</state>
|
381
|
+
</provider>
|
382
|
+
</entry>
|
383
|
+
<entry file="file://$PROJECT_DIR$/lib/kitchen/driver/propeller.rb">
|
384
|
+
<provider selected="true" editor-type-id="text-editor">
|
385
|
+
<state relative-caret-position="497">
|
386
|
+
<caret line="133" column="0" lean-forward="true" selection-start-line="133" selection-start-column="0" selection-end-line="133" selection-end-column="0" />
|
387
|
+
<folding />
|
388
|
+
</state>
|
389
|
+
</provider>
|
390
|
+
</entry>
|
391
|
+
</component>
|
392
|
+
</project>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
E, [2017-04-15T10:35:18.330879 #71996] ERROR -- Kitchen: ------Exception-------
|
2
|
+
E, [2017-04-15T10:35:18.330956 #71996] ERROR -- Kitchen: Class: Kitchen::UserError
|
3
|
+
E, [2017-04-15T10:35:18.330972 #71996] ERROR -- Kitchen: Message: Kitchen YAML file /Users/robert_reilly/rdev/kitchen-propeller/.kitchen.yml does not exist.
|
4
|
+
E, [2017-04-15T10:35:18.330983 #71996] ERROR -- Kitchen: ----------------------
|
5
|
+
E, [2017-04-15T10:35:18.330993 #71996] ERROR -- Kitchen: ------Backtrace-------
|
6
|
+
E, [2017-04-15T10:35:18.331012 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/loader/yaml.rb:71:in `read'
|
7
|
+
E, [2017-04-15T10:35:18.331022 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/config.rb:152:in `data'
|
8
|
+
E, [2017-04-15T10:35:18.331031 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/config.rb:131:in `suites'
|
9
|
+
E, [2017-04-15T10:35:18.331041 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/config.rb:182:in `filter_instances'
|
10
|
+
E, [2017-04-15T10:35:18.331060 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/config.rb:141:in `build_instances'
|
11
|
+
E, [2017-04-15T10:35:18.331078 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/config.rb:117:in `instances'
|
12
|
+
E, [2017-04-15T10:35:18.331087 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/command.rb:112:in `filtered_instances'
|
13
|
+
E, [2017-04-15T10:35:18.331096 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/command.rb:142:in `parse_subcommand'
|
14
|
+
E, [2017-04-15T10:35:18.331104 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/command/list.rb:30:in `call'
|
15
|
+
E, [2017-04-15T10:35:18.331113 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/cli.rb:53:in `perform'
|
16
|
+
E, [2017-04-15T10:35:18.331122 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/cli.rb:121:in `list'
|
17
|
+
E, [2017-04-15T10:35:18.331130 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
|
18
|
+
E, [2017-04-15T10:35:18.331139 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
|
19
|
+
E, [2017-04-15T10:35:18.331148 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/cli.rb:334:in `invoke_task'
|
20
|
+
E, [2017-04-15T10:35:18.331157 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
|
21
|
+
E, [2017-04-15T10:35:18.331182 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
|
22
|
+
E, [2017-04-15T10:35:18.331191 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/bin/kitchen:13:in `block in <top (required)>'
|
23
|
+
E, [2017-04-15T10:35:18.331199 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/lib/kitchen/errors.rb:171:in `with_friendly_errors'
|
24
|
+
E, [2017-04-15T10:35:18.331208 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/gems/test-kitchen-1.16.0/bin/kitchen:13:in `<top (required)>'
|
25
|
+
E, [2017-04-15T10:35:18.331217 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/bin/kitchen:23:in `load'
|
26
|
+
E, [2017-04-15T10:35:18.331226 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/bin/kitchen:23:in `<main>'
|
27
|
+
E, [2017-04-15T10:35:18.331234 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `eval'
|
28
|
+
E, [2017-04-15T10:35:18.331243 #71996] ERROR -- Kitchen: /Users/robert_reilly/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `<main>'
|
29
|
+
E, [2017-04-15T10:35:18.331257 #71996] ERROR -- Kitchen: ----End Backtrace-----
|
data/.tailor
ADDED
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
Author:: Robert Reilly (<robert_reilly@surveysampling.com>)
|
2
|
+
|
3
|
+
Copyright (C) 2017, Robert Reilly
|
4
|
+
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
you may not use this file except in compliance with the License.
|
7
|
+
You may obtain a copy of the License at
|
8
|
+
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
See the License for the specific language governing permissions and
|
15
|
+
limitations under the License.
|
data/README.md
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
# <a name="title"></a> Kitchen::Propeller
|
2
|
+
|
3
|
+
A Test Kitchen Driver for Propeller.
|
4
|
+
|
5
|
+
## <a name="requirements"></a> Requirements
|
6
|
+
|
7
|
+
**TODO:** document any software or library prerequisites that are required to
|
8
|
+
use this driver. Implement the `#verify_dependencies` method in your Driver
|
9
|
+
class to enforce these requirements in code, if possible.
|
10
|
+
|
11
|
+
## <a name="installation"></a> Installation and Setup
|
12
|
+
create a Gemfile with the Following:
|
13
|
+
```
|
14
|
+
source "https://rubygems.org"
|
15
|
+
|
16
|
+
gem 'inspec'
|
17
|
+
|
18
|
+
group :test do
|
19
|
+
gem 'bundler', '~> 1.5'
|
20
|
+
gem 'minitest', '~> 5.5'
|
21
|
+
gem 'rake', '~> 10'
|
22
|
+
gem 'rubocop', '~> 0.33.0'
|
23
|
+
gem 'simplecov', '~> 0.10'
|
24
|
+
end
|
25
|
+
|
26
|
+
group :integration do
|
27
|
+
gem 'test-kitchen', '~> 1.4'
|
28
|
+
gem 'kitchen-ansible'
|
29
|
+
gem 'kitchen-vagrant'
|
30
|
+
gem 'kitchen-inspec'
|
31
|
+
gem 'concurrent-ruby', '~> 0.9'
|
32
|
+
gem 'kitchen-propeller'
|
33
|
+
end
|
34
|
+
```
|
35
|
+
To use this driver the following minimal config is required.
|
36
|
+
|
37
|
+
```
|
38
|
+
---
|
39
|
+
driver:
|
40
|
+
name: propeller
|
41
|
+
driver_options:
|
42
|
+
tenantName: ''
|
43
|
+
emailAddress: 'robert_reilly@surveysampling.com'
|
44
|
+
vmName: 'testkitchen.utl'
|
45
|
+
endpoint: http://endpoint:8080/v2/api/server
|
46
|
+
```
|
47
|
+
|
48
|
+
## <a name="config"></a> Configuration
|
49
|
+
|
50
|
+
|
51
|
+
* emailAddress: required
|
52
|
+
|
53
|
+
* vmName: 'name' + we will append a random 4 digit hex code
|
54
|
+
|
55
|
+
|
56
|
+
## <a name="development"></a> Development
|
57
|
+
|
58
|
+
* Source hosted at [GitHub][repo]
|
59
|
+
* Report issues/questions/feature requests on [GitHub Issues][issues]
|
60
|
+
|
61
|
+
Pull requests are very welcome! Make sure your patches are well tested.
|
62
|
+
Ideally create a topic branch for every separate change you make. For
|
63
|
+
example:
|
64
|
+
|
65
|
+
1. Fork the repo
|
66
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
67
|
+
3. Commit your changes (`git commit -am 'Added some feature'`)
|
68
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
69
|
+
5. Create new Pull Request
|
70
|
+
|
71
|
+
## <a name="authors"></a> Authors
|
72
|
+
|
73
|
+
Created and maintained by [Robert Reilly][author] (<robert_reilly@surveysampling.com>)
|
74
|
+
|
75
|
+
## <a name="license"></a> License
|
76
|
+
|
77
|
+
Apache 2.0 (see [LICENSE][license])
|
78
|
+
|
79
|
+
|
80
|
+
[author]: https://github.com/enter-github-user
|
81
|
+
[issues]: https://github.com/enter-github-user/kitchen-propeller/issues
|
82
|
+
[license]: https://github.com/enter-github-user/kitchen-propeller/blob/master/LICENSE
|
83
|
+
[repo]: https://github.com/enter-github-user/kitchen-propeller
|
84
|
+
[driver_usage]: http://docs.kitchen-ci.org/drivers/usage
|
85
|
+
[chef_omnibus_dl]: http://www.chef.io/chef/install/
|
data/Rakefile
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require 'cane/rake_task'
|
3
|
+
require 'tailor/rake_task'
|
4
|
+
|
5
|
+
desc "Run cane to check quality metrics"
|
6
|
+
Cane::RakeTask.new do |cane|
|
7
|
+
|
8
|
+
cane.max_violations = 30
|
9
|
+
cane.abc_max = 40
|
10
|
+
cane.style_measure = 100
|
11
|
+
end
|
12
|
+
|
13
|
+
Tailor::RakeTask.new
|
14
|
+
|
15
|
+
desc "Display LOC stats"
|
16
|
+
task :stats do
|
17
|
+
puts "\n## Production Code Stats"
|
18
|
+
sh "countloc -r lib"
|
19
|
+
end
|
20
|
+
|
21
|
+
desc "Run all quality tasks"
|
22
|
+
task :quality => [:cane, :tailor, :stats]
|
23
|
+
|
24
|
+
task :default => [:quality]
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'kitchen/driver/propeller_version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'kitchen-propeller'
|
8
|
+
spec.version = Kitchen::Driver::PROPELLER_VERSION
|
9
|
+
spec.authors = ['Robert Reilly']
|
10
|
+
spec.email = ['robert_reilly@surveysampling.com']
|
11
|
+
spec.description = %q{A Test Kitchen Driver for Propeller}
|
12
|
+
spec.summary = spec.description
|
13
|
+
spec.homepage = ''
|
14
|
+
spec.license = 'Apache 2.0'
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = []
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_dependency 'test-kitchen', '~> 1.16.0'
|
22
|
+
|
23
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
24
|
+
spec.add_development_dependency 'rake'
|
25
|
+
|
26
|
+
spec.add_development_dependency 'cane'
|
27
|
+
spec.add_development_dependency 'tailor'
|
28
|
+
spec.add_development_dependency 'countloc'
|
29
|
+
end
|
@@ -0,0 +1,159 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Robert Reilly (<robert_reilly@surveysampling.com>)
|
3
|
+
#
|
4
|
+
# Copyright (C) 2017, Robert Reilly
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
require 'json'
|
18
|
+
require 'net/http'
|
19
|
+
require 'rubygems'
|
20
|
+
require 'net/ping'
|
21
|
+
require 'kitchen'
|
22
|
+
require 'kitchen/driver/propeller_version'
|
23
|
+
# Test Kitchen
|
24
|
+
module Kitchen
|
25
|
+
# Driver for Propeller
|
26
|
+
module Driver
|
27
|
+
# inherit base
|
28
|
+
class Propeller < Kitchen::Driver::Base
|
29
|
+
|
30
|
+
kitchen_driver_api_version 2
|
31
|
+
|
32
|
+
plugin_version Kitchen::Driver::PROPELLER_VERSION
|
33
|
+
default_config :driver_options,
|
34
|
+
:tenantName => 'CTQ-PLATFORM',
|
35
|
+
:vmName => 'test-kitchen.utl',
|
36
|
+
:keyPair => '/etc/test-kitchen2',
|
37
|
+
:user => 'test.kitchen',
|
38
|
+
:ssh_key => '/home/teamcity/.ssh/id_rsa',
|
39
|
+
:networkName => 'DRT072.CI.PRIV',
|
40
|
+
:serverType => 'BARE'
|
41
|
+
|
42
|
+
def up?(host)
|
43
|
+
|
44
|
+
spinner = Enumerator.new do |e|
|
45
|
+
loop do
|
46
|
+
e.yield '|'
|
47
|
+
e.yield '/'
|
48
|
+
e.yield '-'
|
49
|
+
e.yield '\\'
|
50
|
+
end
|
51
|
+
end
|
52
|
+
until Net::Ping::External.new(host).ping? do
|
53
|
+
if $stdout.tty?
|
54
|
+
printf("\r %s", spinner.next)
|
55
|
+
sleep 0.1
|
56
|
+
else
|
57
|
+
printf "."
|
58
|
+
sleep 0.1
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def create(state)
|
64
|
+
puts "End Point: #{config[:driver_options][:endpoint]}"
|
65
|
+
data = config[:driver_options][:vmName].split(".")
|
66
|
+
hn = SecureRandom.hex(4)
|
67
|
+
finalVmName = data[0] + '-' + hn + '.' + data[1]
|
68
|
+
puts "Building Machine: #{finalVmName}"
|
69
|
+
kitchenData = {
|
70
|
+
:tenantName => config[:driver_options][:tenantName],
|
71
|
+
:request =>
|
72
|
+
[{
|
73
|
+
:vmName => finalVmName,
|
74
|
+
:keyPair => config[:driver_options][:keyPair],
|
75
|
+
:serverType => config[:driver_options][:serverType]
|
76
|
+
}] }
|
77
|
+
@state = state
|
78
|
+
info("Creating virtual machine for #{instance.name}.")
|
79
|
+
uri = URI(config[:driver_options][:endpoint])
|
80
|
+
req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json', 'user' => config[:driver_options][:user])
|
81
|
+
req.body = kitchenData.to_json
|
82
|
+
res = Net::HTTP.start(uri.hostname, uri.port, :read_timeout => 300) do |http|
|
83
|
+
res = http.request(req)
|
84
|
+
vmo = JSON.parse(res.body)
|
85
|
+
puts vmo
|
86
|
+
sdat = vmo[0]
|
87
|
+
@state[:username] = 'centos'
|
88
|
+
@state[:id] = sdat['serverId']
|
89
|
+
@state[:hostname] = sdat['vmName']
|
90
|
+
@state[:ssh_key] = config[:driver_options][:ssh_key]
|
91
|
+
@state[:networkName] = config[:driver_options][:networkName]
|
92
|
+
info("Propeller instance #{instance.to_str} created ID: #{sdat['serverId']}.")
|
93
|
+
info("Waiting for instance #{instance.to_str} to resolv.")
|
94
|
+
up?(sdat['vmName'])
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
def destroy(state)
|
99
|
+
@state = state
|
100
|
+
#return unless vm_exists
|
101
|
+
|
102
|
+
instance.transport.connection(state).close
|
103
|
+
info("Destroying virtual machine for #{instance.name}.")
|
104
|
+
|
105
|
+
puts state[:id]
|
106
|
+
|
107
|
+
uri = URI("#{config[:driver_options][:endpoint]}/#{state[:id]}")
|
108
|
+
req = Net::HTTP::Delete.new(uri, 'Content-Type' => 'application/json',
|
109
|
+
'user' => config[:driver_options][:user])
|
110
|
+
|
111
|
+
req.body = 'user:robert_reilly@surveysampling.com'
|
112
|
+
|
113
|
+
res = Net::HTTP.start(uri.hostname, uri.port) do |http|
|
114
|
+
res = http.request(req)
|
115
|
+
puts "response #{res.body}"
|
116
|
+
end
|
117
|
+
info("The Propeller instance #{instance.to_str} has been removed.")
|
118
|
+
|
119
|
+
state.delete(:id)
|
120
|
+
end
|
121
|
+
|
122
|
+
private
|
123
|
+
|
124
|
+
def validate_vm_settings(config)
|
125
|
+
# raise 'Missing tenantName' unless config[:tenantName?]
|
126
|
+
# raise 'Missing tenantName' unless config[:vmName?]
|
127
|
+
end
|
128
|
+
|
129
|
+
def update_state
|
130
|
+
vm_details
|
131
|
+
@state[:id] = @vm['Id']
|
132
|
+
@state[:hostname] = @vm['hostname']
|
133
|
+
@state[:vm_name] = @vm['Name']
|
134
|
+
end
|
135
|
+
|
136
|
+
def vm_details
|
137
|
+
#run_ps set_vm_ipaddress_ps if config[:ip_address]
|
138
|
+
#@vm = run_ps vm_details_ps
|
139
|
+
end
|
140
|
+
|
141
|
+
def vm_exists
|
142
|
+
#/status/serverid will report if it exists
|
143
|
+
info('Checking for existing virtual machine.')
|
144
|
+
return false unless @state.key?(:id) && !@state[:id].nil?
|
145
|
+
existing_vm = ""
|
146
|
+
return false if existing_vm.nil? || existing_vm['Id'].nil?
|
147
|
+
info("Found an exising VM with an ID: #{existing_vm['Id']}")
|
148
|
+
true
|
149
|
+
end
|
150
|
+
|
151
|
+
def kitchen_vm_path
|
152
|
+
@kitchen_vm_path ||= File.join(
|
153
|
+
config[:kitchen_root],
|
154
|
+
".kitchen/#{instance.name}"
|
155
|
+
)
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# Author:: Robert Reilly (<robert_reilly@surveysampling.com>)
|
4
|
+
#
|
5
|
+
# Copyright (C) 2017, Robert Reilly
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
|
19
|
+
module Kitchen
|
20
|
+
|
21
|
+
module Driver
|
22
|
+
|
23
|
+
# Version string for Propeller Kitchen driver
|
24
|
+
PROPELLER_VERSION = '2.0.4'
|
25
|
+
end
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,147 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: kitchen-propeller
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Robert Reilly
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-08-15 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: test-kitchen
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.16.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.16.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: cane
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: tailor
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: countloc
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: A Test Kitchen Driver for Propeller
|
98
|
+
email:
|
99
|
+
- robert_reilly@surveysampling.com
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- ".cane"
|
105
|
+
- ".gitignore"
|
106
|
+
- ".idea/.rakeTasks"
|
107
|
+
- ".idea/kitchen-propeller.iml"
|
108
|
+
- ".idea/misc.xml"
|
109
|
+
- ".idea/modules.xml"
|
110
|
+
- ".idea/vcs.xml"
|
111
|
+
- ".idea/workspace.xml"
|
112
|
+
- ".kitchen/logs/kitchen.log"
|
113
|
+
- ".tailor"
|
114
|
+
- ".travis.yml"
|
115
|
+
- CHANGELOG.md
|
116
|
+
- Gemfile
|
117
|
+
- LICENSE
|
118
|
+
- README.md
|
119
|
+
- Rakefile
|
120
|
+
- kitchen-propeller.gemspec
|
121
|
+
- lib/kitchen/driver/propeller.rb
|
122
|
+
- lib/kitchen/driver/propeller_version.rb
|
123
|
+
homepage: ''
|
124
|
+
licenses:
|
125
|
+
- Apache 2.0
|
126
|
+
metadata: {}
|
127
|
+
post_install_message:
|
128
|
+
rdoc_options: []
|
129
|
+
require_paths:
|
130
|
+
- lib
|
131
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - ">="
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0'
|
141
|
+
requirements: []
|
142
|
+
rubyforge_project:
|
143
|
+
rubygems_version: 2.4.6
|
144
|
+
signing_key:
|
145
|
+
specification_version: 4
|
146
|
+
summary: A Test Kitchen Driver for Propeller
|
147
|
+
test_files: []
|