vagrant-skytap 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (327) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/lib/vagrant-skytap/action/add_vm_to_environment.rb +4 -4
  4. data/lib/vagrant-skytap/action/compose_environment.rb +131 -0
  5. data/lib/vagrant-skytap/action/create_environment.rb +3 -1
  6. data/lib/vagrant-skytap/action/initialize_api_client.rb +6 -5
  7. data/lib/vagrant-skytap/action/set_up_vm.rb +3 -1
  8. data/lib/vagrant-skytap/action/store_extra_data.rb +4 -2
  9. data/lib/vagrant-skytap/action.rb +4 -17
  10. data/lib/vagrant-skytap/api/environment.rb +53 -25
  11. data/lib/vagrant-skytap/api/vm.rb +9 -3
  12. data/lib/vagrant-skytap/command/up.rb +46 -30
  13. data/lib/vagrant-skytap/errors.rb +4 -0
  14. data/lib/vagrant-skytap/version.rb +1 -1
  15. data/locales/en.yml +5 -1
  16. data/spec/unit/actions/compose_environment_spec.rb +101 -0
  17. data/spec/unit/environment_spec.rb +26 -45
  18. data/spec/unit/support/shared/skytap_context.rb +5 -0
  19. data/vagrant-skytap.gemspec +3 -3
  20. metadata +9 -311
  21. data/.byebug_history +0 -256
  22. data/.project +0 -11
  23. data/_patches-20160112/0 +0 -388
  24. data/_patches-20160112/1 +0 -82
  25. data/_patches-20160112/2 +0 -239
  26. data/_patches-20160112/COMPLETED-ABOVE-THIS-LINE +0 -4
  27. data/_patches-20160112/COMPLETED-BELOW-THIS-LINE +0 -4
  28. data/_patches-20160112/CR-ABOVE-THIS-LINE +0 -4
  29. data/_patches-20160112/CR-BELOW-THIS-LINE +0 -4
  30. data/_patches-20160112/WIP-ABOVE-THIS-LINE +0 -4
  31. data/_patches-20160112/WIP-BELOW-THIS-LINE +0 -4
  32. data/_patches-20160112/acceptance-test-runner +0 -29
  33. data/_patches-20160112/ansible-1 +0 -92
  34. data/_patches-20160112/cache-api-client-in-up +0 -40
  35. data/_patches-20160112/dead-code-in-actions +0 -44
  36. data/_patches-20160112/debug-changes +0 -42
  37. data/_patches-20160112/demo-rails-app +0 -1276
  38. data/_patches-20160112/eng-10166-halt-spec +0 -40
  39. data/_patches-20160112/eng-10256 +0 -527
  40. data/_patches-20160112/eng-10256-2 +0 -162
  41. data/_patches-20160112/eng-10256-ubuntu-testing +0 -88
  42. data/_patches-20160112/eng-10269-test-stuff +0 -87
  43. data/_patches-20160112/eng-10269-wtf +0 -119
  44. data/_patches-20160112/eng-10369 +0 -143
  45. data/_patches-20160112/eng-10369-tmp +0 -60
  46. data/_patches-20160112/eng-10919 +0 -56
  47. data/_patches-20160112/eng-11177-fix-actions-requires +0 -44
  48. data/_patches-20160112/eng-11442 +0 -4
  49. data/_patches-20160112/eng-11616 +0 -403
  50. data/_patches-20160112/eng-11616-2 +0 -67
  51. data/_patches-20160112/eng-11616-actual +0 -184
  52. data/_patches-20160112/eng-11625a +0 -4
  53. data/_patches-20160112/eng-11711 +0 -85
  54. data/_patches-20160112/eng-12232-command-spec +0 -236
  55. data/_patches-20160112/eng-12235 +0 -83
  56. data/_patches-20160112/eng-12235-override-refactor +0 -140
  57. data/_patches-20160112/eng-12240 +0 -103
  58. data/_patches-20160112/eng-12249 +0 -40
  59. data/_patches-20160112/eng-12301 +0 -50
  60. data/_patches-20160112/eng-12843 +0 -95
  61. data/_patches-20160112/env-source +0 -112
  62. data/_patches-20160112/frickin-vagrant-spec +0 -163
  63. data/_patches-20160112/gem-pre-version +0 -14
  64. data/_patches-20160112/gems-old +0 -9
  65. data/_patches-20160112/googles-specs +0 -713
  66. data/_patches-20160112/local-configs-ignore +0 -61
  67. data/_patches-20160112/misc +0 -79
  68. data/_patches-20160112/network-unreachable +0 -31
  69. data/_patches-20160112/new-boxfile +0 -288
  70. data/_patches-20160112/parallelization-maybe +0 -198
  71. data/_patches-20160112/read-state +0 -23
  72. data/_patches-20160112/refactor-to-use-public_address-cap +0 -25
  73. data/_patches-20160112/series +0 -60
  74. data/_patches-20160112/status +0 -12
  75. data/_patches-20160112/test-move-env-data +0 -231
  76. data/_patches-20160112/test-vagrantfile-vm1 +0 -167
  77. data/_patches-20160112/the_version_in_0.1.13.pre1 +0 -598
  78. data/_patches-20160112/vagrant-spec-mock-api +0 -137
  79. data/_patches-20160112/vagrant-vmware-plugin +0 -233
  80. data/_patches-20160112/vagrantfile +0 -403
  81. data/_patches-20160112/vagrantfile-for-acceptance-tests +0 -29
  82. data/_patches-20160112/vagrantfile-for-nick +0 -95
  83. data/_patches-20160112/vagrantfiles-to-forget-what-they-are-for +0 -134
  84. data/_patches-20160112/vm-vanished +0 -42
  85. data/_patches-20160112a/01 +0 -148
  86. data/_patches-20160112a/2 +0 -239
  87. data/_patches-20160112a/COMPLETED-ABOVE-THIS-LINE +0 -4
  88. data/_patches-20160112a/COMPLETED-BELOW-THIS-LINE +0 -4
  89. data/_patches-20160112a/CR-ABOVE-THIS-LINE +0 -4
  90. data/_patches-20160112a/CR-BELOW-THIS-LINE +0 -4
  91. data/_patches-20160112a/WIP-ABOVE-THIS-LINE +0 -4
  92. data/_patches-20160112a/WIP-BELOW-THIS-LINE +0 -4
  93. data/_patches-20160112a/acceptance-test-runner +0 -29
  94. data/_patches-20160112a/ansible-1 +0 -92
  95. data/_patches-20160112a/cache-api-client-in-up +0 -40
  96. data/_patches-20160112a/dead-code-in-actions +0 -44
  97. data/_patches-20160112a/debug-changes +0 -42
  98. data/_patches-20160112a/demo-rails-app +0 -1276
  99. data/_patches-20160112a/eng-10166-halt-spec +0 -40
  100. data/_patches-20160112a/eng-10256-ubuntu-testing +0 -88
  101. data/_patches-20160112a/eng-10269-test-stuff +0 -87
  102. data/_patches-20160112a/eng-10269-wtf +0 -119
  103. data/_patches-20160112a/eng-10369 +0 -143
  104. data/_patches-20160112a/eng-10369-tmp +0 -60
  105. data/_patches-20160112a/eng-10919 +0 -56
  106. data/_patches-20160112a/eng-11177-fix-actions-requires +0 -44
  107. data/_patches-20160112a/eng-11442 +0 -4
  108. data/_patches-20160112a/eng-11616 +0 -403
  109. data/_patches-20160112a/eng-11616-2 +0 -67
  110. data/_patches-20160112a/eng-11616-actual +0 -184
  111. data/_patches-20160112a/eng-11625a +0 -4
  112. data/_patches-20160112a/eng-11711 +0 -85
  113. data/_patches-20160112a/eng-12232-command-spec +0 -236
  114. data/_patches-20160112a/eng-12235 +0 -83
  115. data/_patches-20160112a/eng-12235-override-refactor +0 -140
  116. data/_patches-20160112a/eng-12240 +0 -103
  117. data/_patches-20160112a/eng-12249 +0 -40
  118. data/_patches-20160112a/eng-12301 +0 -50
  119. data/_patches-20160112a/eng-12843 +0 -95
  120. data/_patches-20160112a/env-source +0 -112
  121. data/_patches-20160112a/frickin-vagrant-spec +0 -163
  122. data/_patches-20160112a/gem-pre-version +0 -14
  123. data/_patches-20160112a/gems-old +0 -9
  124. data/_patches-20160112a/googles-specs +0 -713
  125. data/_patches-20160112a/local-configs-ignore +0 -61
  126. data/_patches-20160112a/misc +0 -79
  127. data/_patches-20160112a/network-unreachable +0 -31
  128. data/_patches-20160112a/new-boxfile +0 -288
  129. data/_patches-20160112a/parallelization-maybe +0 -198
  130. data/_patches-20160112a/read-state +0 -23
  131. data/_patches-20160112a/refactor-to-use-public_address-cap +0 -25
  132. data/_patches-20160112a/series +0 -58
  133. data/_patches-20160112a/status +0 -14
  134. data/_patches-20160112a/test-move-env-data +0 -231
  135. data/_patches-20160112a/test-vagrantfile-vm1 +0 -167
  136. data/_patches-20160112a/the_version_in_0.1.13.pre1 +0 -612
  137. data/_patches-20160112a/then-copy-the-newer-files +0 -632
  138. data/_patches-20160112a/vagrant-spec-mock-api +0 -137
  139. data/_patches-20160112a/vagrant-vmware-plugin +0 -233
  140. data/_patches-20160112a/vagrantfile +0 -403
  141. data/_patches-20160112a/vagrantfile-for-acceptance-tests +0 -29
  142. data/_patches-20160112a/vagrantfile-for-nick +0 -95
  143. data/_patches-20160112a/vagrantfiles-to-forget-what-they-are-for +0 -134
  144. data/_patches-20160112a/vm-vanished +0 -42
  145. data/_patches-20160113/COMPLETED-ABOVE-THIS-LINE +0 -4
  146. data/_patches-20160113/COMPLETED-BELOW-THIS-LINE +0 -4
  147. data/_patches-20160113/CR-ABOVE-THIS-LINE +0 -4
  148. data/_patches-20160113/CR-BELOW-THIS-LINE +0 -4
  149. data/_patches-20160113/WIP-ABOVE-THIS-LINE +0 -4
  150. data/_patches-20160113/WIP-BELOW-THIS-LINE +0 -4
  151. data/_patches-20160113/acceptance-test-runner +0 -29
  152. data/_patches-20160113/ansible-1 +0 -92
  153. data/_patches-20160113/cache-api-client-in-up +0 -40
  154. data/_patches-20160113/dead-code-in-actions +0 -44
  155. data/_patches-20160113/debug-changes +0 -55
  156. data/_patches-20160113/demo-rails-app +0 -1276
  157. data/_patches-20160113/eng-10166-halt-spec +0 -40
  158. data/_patches-20160113/eng-10256 +0 -543
  159. data/_patches-20160113/eng-10256-ubuntu-testing +0 -88
  160. data/_patches-20160113/eng-10269-test-stuff +0 -87
  161. data/_patches-20160113/eng-10269-wtf +0 -119
  162. data/_patches-20160113/eng-10369 +0 -143
  163. data/_patches-20160113/eng-10369-tmp +0 -60
  164. data/_patches-20160113/eng-10919 +0 -56
  165. data/_patches-20160113/eng-11177-fix-actions-requires +0 -44
  166. data/_patches-20160113/eng-11442 +0 -4
  167. data/_patches-20160113/eng-11616 +0 -403
  168. data/_patches-20160113/eng-11616-2 +0 -67
  169. data/_patches-20160113/eng-11616-actual +0 -184
  170. data/_patches-20160113/eng-11625a +0 -4
  171. data/_patches-20160113/eng-11711 +0 -85
  172. data/_patches-20160113/eng-12232-command-spec +0 -236
  173. data/_patches-20160113/eng-12235 +0 -83
  174. data/_patches-20160113/eng-12235-override-refactor +0 -140
  175. data/_patches-20160113/eng-12240 +0 -103
  176. data/_patches-20160113/eng-12249 +0 -40
  177. data/_patches-20160113/eng-12301 +0 -50
  178. data/_patches-20160113/eng-12720 +0 -47
  179. data/_patches-20160113/eng-12843 +0 -95
  180. data/_patches-20160113/env-source +0 -112
  181. data/_patches-20160113/frickin-vagrant-spec +0 -163
  182. data/_patches-20160113/gem-pre-version +0 -14
  183. data/_patches-20160113/gems-old +0 -9
  184. data/_patches-20160113/googles-specs +0 -713
  185. data/_patches-20160113/local-configs-ignore +0 -61
  186. data/_patches-20160113/misc +0 -79
  187. data/_patches-20160113/network-unreachable +0 -31
  188. data/_patches-20160113/new-boxfile +0 -288
  189. data/_patches-20160113/parallelization-maybe +0 -198
  190. data/_patches-20160113/read-state +0 -23
  191. data/_patches-20160113/refactor-to-use-public_address-cap +0 -25
  192. data/_patches-20160113/series +0 -56
  193. data/_patches-20160113/status +0 -14
  194. data/_patches-20160113/test-move-env-data +0 -231
  195. data/_patches-20160113/test-vagrantfile-vm1 +0 -167
  196. data/_patches-20160113/vagrant-spec-mock-api +0 -137
  197. data/_patches-20160113/vagrant-vmware-plugin +0 -233
  198. data/_patches-20160113/vagrantfile +0 -403
  199. data/_patches-20160113/vagrantfile-for-acceptance-tests +0 -29
  200. data/_patches-20160113/vagrantfile-for-nick +0 -95
  201. data/_patches-20160113/vagrantfiles-to-forget-what-they-are-for +0 -134
  202. data/_patches-20160113/vm-vanished +0 -42
  203. data/_patches-20160118/COMPLETED-ABOVE-THIS-LINE +0 -4
  204. data/_patches-20160118/COMPLETED-BELOW-THIS-LINE +0 -4
  205. data/_patches-20160118/CR-ABOVE-THIS-LINE +0 -4
  206. data/_patches-20160118/CR-BELOW-THIS-LINE +0 -4
  207. data/_patches-20160118/WIP-ABOVE-THIS-LINE +0 -4
  208. data/_patches-20160118/WIP-BELOW-THIS-LINE +0 -4
  209. data/_patches-20160118/acceptance-test-runner +0 -29
  210. data/_patches-20160118/ansible-1 +0 -92
  211. data/_patches-20160118/cache-api-client-in-up +0 -40
  212. data/_patches-20160118/dead-code-in-actions +0 -44
  213. data/_patches-20160118/debug-changes +0 -55
  214. data/_patches-20160118/demo-rails-app +0 -1276
  215. data/_patches-20160118/eng-10166-halt-spec +0 -40
  216. data/_patches-20160118/eng-10256 +0 -554
  217. data/_patches-20160118/eng-10256-cr +0 -314
  218. data/_patches-20160118/eng-10256-ubuntu-testing +0 -88
  219. data/_patches-20160118/eng-10269-test-stuff +0 -87
  220. data/_patches-20160118/eng-10269-wtf +0 -119
  221. data/_patches-20160118/eng-10369 +0 -143
  222. data/_patches-20160118/eng-10369-tmp +0 -60
  223. data/_patches-20160118/eng-10919 +0 -56
  224. data/_patches-20160118/eng-11177-fix-actions-requires +0 -44
  225. data/_patches-20160118/eng-11442 +0 -4
  226. data/_patches-20160118/eng-11616 +0 -403
  227. data/_patches-20160118/eng-11616-2 +0 -67
  228. data/_patches-20160118/eng-11616-actual +0 -184
  229. data/_patches-20160118/eng-11625a +0 -4
  230. data/_patches-20160118/eng-11711 +0 -85
  231. data/_patches-20160118/eng-12232-command-spec +0 -236
  232. data/_patches-20160118/eng-12235 +0 -83
  233. data/_patches-20160118/eng-12235-override-refactor +0 -140
  234. data/_patches-20160118/eng-12240 +0 -103
  235. data/_patches-20160118/eng-12249 +0 -40
  236. data/_patches-20160118/eng-12301 +0 -50
  237. data/_patches-20160118/eng-12720 +0 -74
  238. data/_patches-20160118/eng-12843 +0 -95
  239. data/_patches-20160118/eng-13040 +0 -291
  240. data/_patches-20160118/env-source +0 -112
  241. data/_patches-20160118/frickin-vagrant-spec +0 -163
  242. data/_patches-20160118/gem-pre-version +0 -14
  243. data/_patches-20160118/gems-old +0 -9
  244. data/_patches-20160118/googles-specs +0 -713
  245. data/_patches-20160118/local-configs-ignore +0 -61
  246. data/_patches-20160118/misc +0 -79
  247. data/_patches-20160118/network-unreachable +0 -31
  248. data/_patches-20160118/new-boxfile +0 -288
  249. data/_patches-20160118/parallelization-maybe +0 -198
  250. data/_patches-20160118/port-forwarding-processes +0 -87
  251. data/_patches-20160118/read-state +0 -23
  252. data/_patches-20160118/refactor-to-use-public_address-cap +0 -25
  253. data/_patches-20160118/series +0 -59
  254. data/_patches-20160118/status +0 -13
  255. data/_patches-20160118/test-move-env-data +0 -231
  256. data/_patches-20160118/test-vagrantfile-vm1 +0 -167
  257. data/_patches-20160118/vagrant-spec-mock-api +0 -137
  258. data/_patches-20160118/vagrant-vmware-plugin +0 -233
  259. data/_patches-20160118/vagrantfile +0 -403
  260. data/_patches-20160118/vagrantfile-for-acceptance-tests +0 -29
  261. data/_patches-20160118/vagrantfile-for-nick +0 -95
  262. data/_patches-20160118/vagrantfiles-to-forget-what-they-are-for +0 -134
  263. data/_patches-20160118/vm-vanished +0 -42
  264. data/_patches-20160118a/COMPLETED-ABOVE-THIS-LINE +0 -4
  265. data/_patches-20160118a/COMPLETED-BELOW-THIS-LINE +0 -4
  266. data/_patches-20160118a/CR-ABOVE-THIS-LINE +0 -4
  267. data/_patches-20160118a/CR-BELOW-THIS-LINE +0 -4
  268. data/_patches-20160118a/WIP-ABOVE-THIS-LINE +0 -4
  269. data/_patches-20160118a/WIP-BELOW-THIS-LINE +0 -4
  270. data/_patches-20160118a/acceptance-test-runner +0 -29
  271. data/_patches-20160118a/ansible-1 +0 -92
  272. data/_patches-20160118a/bar +0 -189
  273. data/_patches-20160118a/cache-api-client-in-up +0 -40
  274. data/_patches-20160118a/dead-code-in-actions +0 -44
  275. data/_patches-20160118a/debug-changes +0 -55
  276. data/_patches-20160118a/demo-rails-app +0 -1276
  277. data/_patches-20160118a/eng-10166-halt-spec +0 -40
  278. data/_patches-20160118a/eng-10256 +0 -554
  279. data/_patches-20160118a/eng-10256-cr +0 -314
  280. data/_patches-20160118a/eng-10256-ubuntu-testing +0 -88
  281. data/_patches-20160118a/eng-10269-test-stuff +0 -87
  282. data/_patches-20160118a/eng-10269-wtf +0 -119
  283. data/_patches-20160118a/eng-10369 +0 -143
  284. data/_patches-20160118a/eng-10369-tmp +0 -60
  285. data/_patches-20160118a/eng-10919 +0 -56
  286. data/_patches-20160118a/eng-11177-fix-actions-requires +0 -44
  287. data/_patches-20160118a/eng-11442 +0 -4
  288. data/_patches-20160118a/eng-11616 +0 -403
  289. data/_patches-20160118a/eng-11616-2 +0 -67
  290. data/_patches-20160118a/eng-11616-actual +0 -184
  291. data/_patches-20160118a/eng-11625a +0 -4
  292. data/_patches-20160118a/eng-11711 +0 -85
  293. data/_patches-20160118a/eng-12232-command-spec +0 -236
  294. data/_patches-20160118a/eng-12235 +0 -83
  295. data/_patches-20160118a/eng-12235-override-refactor +0 -140
  296. data/_patches-20160118a/eng-12240 +0 -103
  297. data/_patches-20160118a/eng-12249 +0 -40
  298. data/_patches-20160118a/eng-12301 +0 -50
  299. data/_patches-20160118a/eng-12720 +0 -74
  300. data/_patches-20160118a/eng-12843 +0 -95
  301. data/_patches-20160118a/eng-13040 +0 -291
  302. data/_patches-20160118a/env-source +0 -112
  303. data/_patches-20160118a/foo +0 -169
  304. data/_patches-20160118a/frickin-vagrant-spec +0 -163
  305. data/_patches-20160118a/gem-pre-version +0 -14
  306. data/_patches-20160118a/gems-old +0 -9
  307. data/_patches-20160118a/googles-specs +0 -713
  308. data/_patches-20160118a/guestport-madness +0 -59
  309. data/_patches-20160118a/local-configs-ignore +0 -61
  310. data/_patches-20160118a/misc +0 -79
  311. data/_patches-20160118a/network-unreachable +0 -31
  312. data/_patches-20160118a/new-boxfile +0 -288
  313. data/_patches-20160118a/parallelization-maybe +0 -198
  314. data/_patches-20160118a/port-forwarding-processes +0 -87
  315. data/_patches-20160118a/read-state +0 -23
  316. data/_patches-20160118a/refactor-to-use-public_address-cap +0 -25
  317. data/_patches-20160118a/series +0 -62
  318. data/_patches-20160118a/status +0 -14
  319. data/_patches-20160118a/test-move-env-data +0 -231
  320. data/_patches-20160118a/test-vagrantfile-vm1 +0 -167
  321. data/_patches-20160118a/vagrant-spec-mock-api +0 -137
  322. data/_patches-20160118a/vagrant-vmware-plugin +0 -233
  323. data/_patches-20160118a/vagrantfile +0 -403
  324. data/_patches-20160118a/vagrantfile-for-acceptance-tests +0 -29
  325. data/_patches-20160118a/vagrantfile-for-nick +0 -95
  326. data/_patches-20160118a/vagrantfiles-to-forget-what-they-are-for +0 -134
  327. data/_patches-20160118a/vm-vanished +0 -42
@@ -1,169 +0,0 @@
1
- # HG changeset patch
2
- # Parent 82e4386bb899141c5b7712207b63e01b1a765c6e
3
- [mq]: foo
4
-
5
- diff -r 82e4386bb899 lib/vagrant-skytap/action/clear_forwarded_ports.rb
6
- --- a/lib/vagrant-skytap/action/clear_forwarded_ports.rb Mon Jan 18 14:01:22 2016 -0800
7
- +++ b/lib/vagrant-skytap/action/clear_forwarded_ports.rb Mon Jan 18 16:16:04 2016 -0800
8
- @@ -8,7 +8,7 @@
9
-
10
- def call(env)
11
- env[:ui].info I18n.t("vagrant.actions.vm.clear_forward_ports.deleting")
12
- - env[:host].capability(:clear_forwarded_ports, env)
13
- + env[:host].capability(:clear_forwarded_ports, env[:machine])
14
-
15
- @app.call(env)
16
- end
17
- diff -r 82e4386bb899 lib/vagrant-skytap/action/forward_ports.rb
18
- --- a/lib/vagrant-skytap/action/forward_ports.rb Mon Jan 18 14:01:22 2016 -0800
19
- +++ b/lib/vagrant-skytap/action/forward_ports.rb Mon Jan 18 16:16:04 2016 -0800
20
- @@ -10,16 +10,11 @@
21
- @app = app
22
- end
23
-
24
- - #--------------------------------------------------------------
25
- - # Execution
26
- - #--------------------------------------------------------------
27
- def call(env)
28
- @env = env
29
-
30
- - # Get the ports we're forwarding
31
- env[:forwarded_ports] ||= compile_forwarded_ports(env[:machine].config)
32
-
33
- - # Warn if we're port forwarding to any privileged ports...
34
- env[:forwarded_ports].each do |fp|
35
- if fp.privileged_host_port?
36
- env[:ui].warn I18n.t("vagrant.actions.vm.forward_ports.privileged_ports")
37
- diff -r 82e4386bb899 lib/vagrant-skytap/hosts/common/cap/ssh_tunnel.rb
38
- --- a/lib/vagrant-skytap/hosts/common/cap/ssh_tunnel.rb Mon Jan 18 14:01:22 2016 -0800
39
- +++ b/lib/vagrant-skytap/hosts/common/cap/ssh_tunnel.rb Mon Jan 18 16:16:04 2016 -0800
40
- @@ -1,6 +1,3 @@
41
- -# unused libs?
42
- -require "pathname"
43
- -require "tmpdir"
44
- require "vagrant/util/subprocess"
45
- require "vagrant/util/safe_chdir"
46
- require "vagrant-skytap/models/forwarded_port"
47
- @@ -16,75 +13,70 @@
48
- raise NotImplementedError
49
- end
50
-
51
- - def start_ssh_tunnel(env, fp, env_hash)
52
- - logger = create_logger
53
- - machine = env_hash[:machine]
54
- - pidfile = pidfile_name(fp)
55
- - pid = read_pid(machine.data_dir.join(pidfile))
56
- + # Create an ssh tunnel for the given [ForwardedPort]
57
- + # on the current machine using autossh. (If autossh
58
- + # is not available on the host, an appropriate error
59
- + # message will be shown, asking the user to install
60
- + # it.)
61
- + #
62
- + # @return [Vagrant::Util::Subprocess::Result]
63
- + def start_ssh_tunnel(env, fp, machine, env_hash)
64
- + args = ssh_args(fp, machine, env_hash[:machine_ssh_info])
65
- + args << {env: autossh_environment_variables(fp, machine)}
66
- + # TODO: ensure that we overwrite any stale pidfile
67
- + Vagrant::Util::Subprocess.execute("autossh", "-f", *args)
68
- + end
69
-
70
- - if pid && autossh_pid?(pid)
71
- - logger.info("An autossh process already exists with pid #{pid}.")
72
- - else
73
- - args = ssh_args(fp, env_hash)
74
- - vars = autossh_environment_variables(pidfile, env_hash)
75
- - args << {env: vars}
76
- - Vagrant::Util::Subprocess.execute("autossh", "-f", *args)
77
- + # Kill the ssh tunnel for the given [ForwardedPort]
78
- + # by terminating the associated autossh process
79
- + #
80
- + # @return [Vagrant::Util::Subprocess::Result]
81
- + def kill_ssh_tunnel(env, fp, machine)
82
- + if pid = read_pid(machine.data_dir.join(fp.pidfile_name))
83
- + Vagrant::Util::Subprocess.execute("kill", pid.to_s)
84
- end
85
- end
86
-
87
- - def clear_forwarded_ports(env, env_hash)
88
- - get_pidfiles_for_machine(env_hash[:machine]).each do |pidfile|
89
- - kill_ssh_tunnel(env, pidfile, env_hash)
90
- + # Convenience method which kills all autossh
91
- + # processes for the given machine
92
- + #
93
- + # @return [Array] of [ForwardedPort] objects
94
- + def clear_forwarded_ports(env, machine)
95
- + get_fp_for_machine(machine).each do |fp|
96
- + kill_ssh_tunnel(env, fp, machine)
97
- end
98
- end
99
-
100
- - def kill_ssh_tunnel(env, pidfile, env_hash)
101
- - logger = create_logger
102
- - machine = env_hash[:machine]
103
- - pid = read_pid(machine.data_dir.join(pidfile))
104
- - if pid && autossh_pid?(pid)
105
- - Vagrant::Util::Subprocess.execute("kill", pid.to_s)
106
- - else
107
- - logger.info("Cleaning up stale autossh pidfile #{pidfile}.")
108
- - Vagrant::Util::Subprocess.execute("rm", pidfile)
109
- - end
110
- - end
111
- -
112
- -
113
- - def pidfile_name(fp)
114
- - "#{fp.protocol}#{fp.host_port}.pid"
115
- - end
116
- -
117
- + # Reads the pid from the given pidfile_path (full
118
- + # path, not relative to the machine data_dir)
119
- + #
120
- + # @return [Integer], or nil if not found.
121
- def read_pid(pidfile_path)
122
- File.read(pidfile_path).presence.try(:to_i) if File.exist?(pidfile_path)
123
- end
124
-
125
- - def get_pidfiles_for_machine(machine)
126
- + # Reads all the pidfiles from the machine's data_dir
127
- + # TODO make this return [ForwardedPort] objects
128
- + #
129
- + # @return [Array] of [ForwardedPort] objects
130
- + def get_fp_for_machine(machine)
131
- pidfiles = []
132
- Vagrant::Util::SafeChdir.safe_chdir(machine.data_dir) do
133
- pidfiles = Dir.glob("*.pid")
134
- end
135
- - pidfiles
136
- + pidfiles.collect do |pidfile|
137
- + pidfile =~ /(\w+)(\d+)\.pid/
138
- + protocol, hostport, guestport = $1, $2, nil
139
- + ForwardedPort.new("#{protocol}#{hostport}", hostport, guestport, protocol: protocol)
140
- + end
141
- end
142
-
143
- - # Checks that the pid is actually an autossh process (and not
144
- - # something else using a recycled pid).
145
- - def autossh_pid?(pid)
146
- - # get_comm_for_pid(pid) == 'autossh'
147
- - true
148
- - end
149
- -
150
- - # Get the command, minus any arguments, for the given
151
- - # pid. This probably needs to be overridden per host cap
152
- - def get_comm_for_pid(pid)
153
- - result = Vagrant::Util::Subprocess.execute("ps", "-p", pid.to_s, "-o", "comm")
154
- - result.stdout.split("\n").last
155
- - end
156
- -
157
- - # these args seem to work on MacOS and Ubuntu ...
158
- - # untested on other implementations
159
- - def ssh_args(fp, env_hash)
160
- - machine = env_hash[:machine]
161
- + # Gets the args to be passed to ssh for the given
162
- + # [ForwardedPort] on the given machine.
163
- + #
164
- + # @return [Array] of [String]
165
- + def ssh_args(fp, machine, ssh_info)
166
- + # TODO read ssh_info without having to pass it in
167
- ssh_info = env_hash[:machine_ssh_info]
168
- ssh_options = {
169
- "ServerAliveInterval" => 10,
@@ -1,163 +0,0 @@
1
- # HG changeset patch
2
- # Parent 02c7d9d9d39e1ec55dfd0636c2b043b1837782d2
3
- imported patch frickin-vagrant-spec
4
-
5
- diff --git a/boxes/acceptance/README.md b/boxes/acceptance/README.md
6
- new file mode 100644
7
- --- /dev/null
8
- +++ b/boxes/acceptance/README.md
9
- @@ -0,0 +1,13 @@
10
- +# Vagrant Skytap Example Box
11
- +
12
- +Vagrant providers each require a custom provider-specific box format.
13
- +This folder shows the example contents of a box for the `skytap` provider.
14
- +To turn this into a box:
15
- +
16
- +```
17
- +$ tar cvzf skytap.box ./metadata.json ./Vagrantfile
18
- +```
19
- +
20
- +This box works by using Vagrant's built-in Vagrantfile merging to setup
21
- +defaults for Skytap. These defaults can easily be overwritten by higher-level
22
- +Vagrantfiles (such as project root Vagrantfiles).
23
- diff --git a/boxes/acceptance/Vagrantfile b/boxes/acceptance/Vagrantfile
24
- new file mode 100644
25
- --- /dev/null
26
- +++ b/boxes/acceptance/Vagrantfile
27
- @@ -0,0 +1,8 @@
28
- +# -*- mode: ruby -*-
29
- +# vi: set ft=ruby :
30
- +
31
- +Vagrant.configure(2) do |config|
32
- + config.vm.provider :skytap do |skytap|
33
- + skytap.vm_url = "https://cloud.skytap.com/vms/3157858"
34
- + end
35
- +end
36
- diff --git a/boxes/acceptance/empty.box b/boxes/acceptance/empty.box
37
- new file mode 100644
38
- index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..64bf34aa4fd03ff9c06c88f1dd7c6a992a0005c8
39
- GIT binary patch
40
- literal 166
41
- zc$|~(=3pq7bPQu)etX`L>yUv!>%(=`T@#qEc=ihJ@m-*~BEx$Ym(snv83$Vv%3WLj
42
- z-`>MH^XTlXQm&Kcc0XSklsr%3RC=@~^!y#G?_MjHe^1#PxU6jJm1A8Js>hx!4A|r`
43
- zoB#2InlqtJUCA?Up3cs-{%jw+=-yBDyrri~<aeLm#~Jv3id^6IC)Kg{PRCDYW<Ult
44
- PUm51x&704l!N33jadS%=
45
-
46
- diff --git a/boxes/acceptance/metadata.json b/boxes/acceptance/metadata.json
47
- new file mode 100644
48
- --- /dev/null
49
- +++ b/boxes/acceptance/metadata.json
50
- @@ -0,0 +1,3 @@
51
- +{
52
- + "provider": "skytap"
53
- +}
54
- diff --git a/spec/acceptance/provider/up_spec.rb b/spec/acceptance/provider/up_spec.rb
55
- --- a/spec/acceptance/provider/up_spec.rb
56
- +++ b/spec/acceptance/provider/up_spec.rb
57
- @@ -16,25 +16,46 @@
58
- assert_execute('vagrant', 'destroy', '--force')
59
- end
60
-
61
- - it 'should bring up the machine and halt it' do
62
- - status("Test: machine can be brought up, parallel by default")
63
- - up_result = execute("vagrant", "up")
64
- + it 'should bring up the machine' do
65
- + status("Test: machine can be brought up")
66
- + up_result = execute("vagrant", "up", "vm1")
67
- expect(up_result).to exit_with(0)
68
-
69
- status("Test: machine is running after up")
70
- - echo_result = execute("vagrant", "ssh", "-c", "echo foo")
71
- + echo_result = execute("vagrant", "ssh", "vm1", "-c", "echo foo")
72
- expect(echo_result).to exit_with(0)
73
- expect(echo_result.stdout).to match(/foo\n$/)
74
- end
75
- -
76
- - it 'should bring up the machine and halt it' do
77
- - status("Test: machine can be brought up no parallel")
78
- - up_result = execute("vagrant", "up", "--no-parallel")
79
- - expect(up_result).to exit_with(0)
80
- -
81
- - status("Test: machine is running after up")
82
- - echo_result = execute("vagrant", "ssh", "-c", "echo foo")
83
- - expect(echo_result).to exit_with(0)
84
- - expect(echo_result.stdout).to match(/foo\n$/)
85
- - end
86
- +#
87
- +# it 'should bring up 2 machines in parallel' do
88
- +# status("Test: 2 machines can be brought up, parallel by default")
89
- +# up_result = execute("vagrant", "up")
90
- +# expect(up_result).to exit_with(0)
91
- +#
92
- +# status("Test: machine vm1 is running after up")
93
- +# echo_result = execute("vagrant", "ssh", "vm1", "-c", "echo foo")
94
- +# expect(echo_result).to exit_with(0)
95
- +# expect(echo_result.stdout).to match(/foo\n$/)
96
- +#
97
- +# status("Test: machine vm2 is running after up")
98
- +# echo_result = execute("vagrant", "ssh", "vm2", "-c", "echo foo")
99
- +# expect(echo_result).to exit_with(0)
100
- +# expect(echo_result.stdout).to match(/foo\n$/)
101
- +# end
102
- +#
103
- +# it 'should bring up 2 machines in no-parallel mode' do
104
- +# status("Test: 2 machines can be brought up, no-parallel")
105
- +# up_result = execute("vagrant", "up", "--no-parallel")
106
- +# expect(up_result).to exit_with(0)
107
- +#
108
- +# status("Test: machine vm1 is running after up")
109
- +# echo_result = execute("vagrant", "ssh", "vm1", "-c", "echo foo")
110
- +# expect(echo_result).to exit_with(0)
111
- +# expect(echo_result.stdout).to match(/foo\n$/)
112
- +#
113
- +# status("Test: machine vm2 is running after up")
114
- +# echo_result = execute("vagrant", "ssh", "vm2", "-c", "echo foo")
115
- +# expect(echo_result).to exit_with(0)
116
- +# expect(echo_result.stdout).to match(/foo\n$/)
117
- +# end
118
- end
119
- diff --git a/spec/acceptance/skeletons/generic/Vagrantfile b/spec/acceptance/skeletons/generic/Vagrantfile
120
- --- a/spec/acceptance/skeletons/generic/Vagrantfile
121
- +++ b/spec/acceptance/skeletons/generic/Vagrantfile
122
- @@ -1,3 +1,7 @@
123
- +BASE_BOX_URL = "https://cloud.skytap.com/vms/6869434"
124
- +BASE_BOX_USERNAME = "skytap"
125
- +BASE_BOX_PASSWORD = "ChangeMe!"
126
- +
127
- Vagrant.configure("2") do |config|
128
- config.vm.box = "skytap/empty"
129
-
130
- @@ -6,13 +10,16 @@
131
- skytap.username = "etrue"
132
- skytap.api_token = "fcb2620b72efddbc8239e25db9d812f510c7e166"
133
- skytap.vpn_url = "https://cloud.skytap.com/vpns/vpn-711360"
134
- + skytap.vm_url = BASE_BOX_URL
135
- end
136
-
137
- - config.vm.define "vm1" do |ubuntu|
138
- - ubuntu.vm.provider :skytap do |box|
139
- - box.vm_url = "https://cloud.skytap.com/vms/6869434" # golden!
140
- - end
141
- - ubuntu.ssh.username = "skytap"
142
- - ubuntu.ssh.password = "ChangeMe!"
143
- + config.vm.define "vm1" do |vm|
144
- + vm.ssh.username = BASE_BOX_USERNAME
145
- + vm.ssh.password = BASE_BOX_PASSWORD
146
- + end
147
- +
148
- + config.vm.define "vm" do |vm|
149
- + vm.ssh.username = "skytap"
150
- + vm.ssh.password = "ChangeMe!"
151
- end
152
- end
153
- diff --git a/vagrant-spec.config.rb b/vagrant-spec.config.rb
154
- --- a/vagrant-spec.config.rb
155
- +++ b/vagrant-spec.config.rb
156
- @@ -5,6 +5,6 @@
157
- c.skeleton_paths << File.expand_path("../spec/acceptance/skeletons", __FILE__)
158
-
159
- c.provider "skytap",
160
- - box: File.expand_path("../skytap-dummy.box", __FILE__),
161
- + box: File.expand_path("../boxes/empty.box", __FILE__),
162
- contexts: ["provider-context/skytap"]
163
- end
@@ -1,14 +0,0 @@
1
- # HG changeset patch
2
- # Parent f88c782b6f8e9de2c1f55ca0df98756ba64b928a
3
- current pre-version
4
-
5
- diff -r f88c782b6f8e lib/vagrant-skytap/version.rb
6
- --- a/lib/vagrant-skytap/version.rb Mon Dec 28 10:53:44 2015 -0800
7
- +++ b/lib/vagrant-skytap/version.rb Mon Dec 28 10:54:12 2015 -0800
8
- @@ -1,5 +1,5 @@
9
- module VagrantPlugins
10
- module Skytap
11
- - VERSION = "0.1.12"
12
- + VERSION = "0.1.13.pre1"
13
- end
14
- end
@@ -1,9 +0,0 @@
1
- # HG changeset patch
2
- # Parent 14d9041ca24e43e3ae413a68bc6de659fa9b79ba
3
- imported patch gems-old
4
-
5
- diff -r 14d9041ca24e gems/README
6
- --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7
- +++ b/gems/README Mon Nov 09 14:00:30 2015 -0800
8
- @@ -0,0 +1,1 @@
9
- +There are some old gems missing. Hope that's okay