vagrant-profitbricks 1.0.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -4
  3. data/README.md +326 -174
  4. data/Rakefile +4 -2
  5. data/Vagrantfile +18 -13
  6. data/example_box/Vagrantfile +9 -0
  7. data/example_box/profitbricks.box +0 -0
  8. data/lib/vagrant-profitbricks.rb +12 -11
  9. data/lib/vagrant-profitbricks/action.rb +79 -40
  10. data/lib/vagrant-profitbricks/action/connect_profitbricks.rb +14 -12
  11. data/lib/vagrant-profitbricks/action/create_server.rb +74 -67
  12. data/lib/vagrant-profitbricks/action/delete_server.rb +33 -13
  13. data/lib/vagrant-profitbricks/action/is_created.rb +3 -1
  14. data/lib/vagrant-profitbricks/action/list_flavors.rb +5 -3
  15. data/lib/vagrant-profitbricks/action/list_images.rb +6 -4
  16. data/lib/vagrant-profitbricks/action/message_already_created.rb +4 -2
  17. data/lib/vagrant-profitbricks/action/message_not_created.rb +4 -2
  18. data/lib/vagrant-profitbricks/action/read_ssh_info.rb +10 -16
  19. data/lib/vagrant-profitbricks/action/read_state.rb +19 -12
  20. data/lib/vagrant-profitbricks/action/reboot_server.rb +45 -0
  21. data/lib/vagrant-profitbricks/action/run_init_script.rb +5 -3
  22. data/lib/vagrant-profitbricks/action/start_server.rb +50 -0
  23. data/lib/vagrant-profitbricks/action/stop_server.rb +51 -0
  24. data/lib/vagrant-profitbricks/command/datacenters.rb +34 -0
  25. data/lib/vagrant-profitbricks/command/flavors.rb +19 -6
  26. data/lib/vagrant-profitbricks/command/images.rb +21 -20
  27. data/lib/vagrant-profitbricks/command/locations.rb +34 -0
  28. data/lib/vagrant-profitbricks/command/root.rb +28 -23
  29. data/lib/vagrant-profitbricks/command/servers.rb +7 -4
  30. data/lib/vagrant-profitbricks/command/snapshots.rb +34 -0
  31. data/lib/vagrant-profitbricks/command/utils.rb +27 -0
  32. data/lib/vagrant-profitbricks/config.rb +44 -39
  33. data/lib/vagrant-profitbricks/errors.rb +14 -5
  34. data/lib/vagrant-profitbricks/plugin.rb +13 -11
  35. data/lib/vagrant-profitbricks/provider.rb +8 -6
  36. data/lib/vagrant-profitbricks/version.rb +3 -1
  37. data/locales/en.yml +28 -7
  38. data/spec/spec_helper.rb +4 -2
  39. data/spec/vagrant-profitbricks/config_spec.rb +65 -96
  40. data/vagrant-profitbricks.gemspec +17 -14
  41. metadata +42 -47
  42. data/Appraisals +0 -35
  43. data/CHANGELOG.md +0 -3
  44. data/RELEASE.md +0 -15
  45. data/bootstrap.cmd +0 -16
  46. data/features/provision.feature +0 -36
  47. data/features/steps/sdk_steps.rb +0 -13
  48. data/features/steps/server_steps.rb +0 -25
  49. data/features/support/env.rb +0 -35
  50. data/features/support/fog_mock.rb +0 -17
  51. data/features/vagrant-profitbricks.feature +0 -66
  52. data/lib/vagrant-profitbricks/action/create_image.rb +0 -53
  53. data/lib/vagrant-profitbricks/action/list_keypairs.rb +0 -20
  54. data/lib/vagrant-profitbricks/action/list_networks.rb +0 -20
  55. data/lib/vagrant-profitbricks/action/list_servers.rb +0 -21
  56. data/lib/vagrant-profitbricks/command/create_image.rb +0 -21
  57. data/lib/vagrant-profitbricks/command/keypairs.rb +0 -21
  58. data/lib/vagrant-profitbricks/command/list_images.rb +0 -21
  59. data/lib/vagrant-profitbricks/command/networks.rb +0 -21
  60. data/spec/vagrant-profitbricks/actions/list_flavors_spec.rb +0 -48
  61. data/spec/vagrant-profitbricks/actions/list_images_spec.rb +0 -48
@@ -1,25 +1,28 @@
1
- # -*- encoding: utf-8 -*-
1
+
2
+ # frozen_string_literal: true
3
+
2
4
  lib = File.expand_path('../lib', __FILE__)
3
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
6
  require 'vagrant-profitbricks/version'
5
7
 
6
8
  Gem::Specification.new do |gem|
7
- gem.name = "vagrant-profitbricks"
9
+ gem.name = 'vagrant-profitbricks'
8
10
  gem.version = VagrantPlugins::ProfitBricks::VERSION
9
- gem.authors = ["Matt Baldwin"]
10
- gem.email = ["baldwin@stackpointcloud.com"]
11
- gem.description = "Enables Vagrant to manage machines in a ProfitBricks Virtual Data Center."
12
- gem.summary = "Enables Vagrant to manage machines in a ProfitBricks Virtual Data Center."
13
- gem.homepage = "https://devops.proftibricks.com"
11
+ gem.authors = ['Jasmin Gacic']
12
+ gem.email = ['jasmin@stackpointcloud.com']
13
+ gem.description = 'Enables Vagrant to manage machines in a ProfitBricks Virtual Data Center.'
14
+ gem.summary = 'Enables Vagrant to manage machines in a ProfitBricks Virtual Data Center.'
15
+ gem.homepage = 'https://devops.proftibricks.com'
14
16
 
15
- gem.add_runtime_dependency "fog-profitbricks", "~> 3.0"
17
+ gem.add_runtime_dependency 'fog-profitbricks', '~> 4.0'
18
+ gem.add_runtime_dependency 'terminal-table', '> 1.7.2'
16
19
 
17
- gem.add_development_dependency "rake"
18
- gem.add_development_dependency "rspec", "~> 2.14.0"
19
- gem.add_development_dependency "aruba", "~> 0.5.4"
20
+ gem.add_development_dependency 'aruba', '~> 0.5.4'
21
+ gem.add_development_dependency 'rake'
22
+ gem.add_development_dependency 'rspec', '~> 2.14.0'
20
23
 
21
- gem.files = `git ls-files`.split($/)
22
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
24
+ gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
25
+ gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
23
26
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
24
- gem.require_paths = ["lib"]
27
+ gem.require_paths = ['lib']
25
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-profitbricks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Matt Baldwin
7
+ - Jasmin Gacic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-29 00:00:00.000000000 Z
11
+ date: 2017-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fog-profitbricks
@@ -16,107 +16,112 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '3.0'
19
+ version: '4.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '3.0'
26
+ version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: terminal-table
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - '>'
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
33
+ version: 1.7.2
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - '>'
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 1.7.2
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
42
+ name: aruba
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: 2.14.0
47
+ version: 0.5.4
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: 2.14.0
54
+ version: 0.5.4
55
55
  - !ruby/object:Gem::Dependency
56
- name: aruba
56
+ name: rake
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: rspec
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ~>
60
74
  - !ruby/object:Gem::Version
61
- version: 0.5.4
75
+ version: 2.14.0
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - ~>
67
81
  - !ruby/object:Gem::Version
68
- version: 0.5.4
82
+ version: 2.14.0
69
83
  description: Enables Vagrant to manage machines in a ProfitBricks Virtual Data Center.
70
84
  email:
71
- - baldwin@stackpointcloud.com
85
+ - jasmin@stackpointcloud.com
72
86
  executables: []
73
87
  extensions: []
74
88
  extra_rdoc_files: []
75
89
  files:
76
90
  - .gitignore
77
- - Appraisals
78
- - CHANGELOG.md
79
91
  - Gemfile
80
92
  - LICENSE
81
93
  - README.md
82
- - RELEASE.md
83
94
  - Rakefile
84
95
  - Vagrantfile
85
- - bootstrap.cmd
86
96
  - dummy.box
87
97
  - example_box/README.md
98
+ - example_box/Vagrantfile
88
99
  - example_box/metadata.json
89
- - features/provision.feature
90
- - features/steps/sdk_steps.rb
91
- - features/steps/server_steps.rb
92
- - features/support/env.rb
93
- - features/support/fog_mock.rb
94
- - features/vagrant-profitbricks.feature
100
+ - example_box/profitbricks.box
95
101
  - lib/vagrant-profitbricks.rb
96
102
  - lib/vagrant-profitbricks/action.rb
97
103
  - lib/vagrant-profitbricks/action/connect_profitbricks.rb
98
- - lib/vagrant-profitbricks/action/create_image.rb
99
104
  - lib/vagrant-profitbricks/action/create_server.rb
100
105
  - lib/vagrant-profitbricks/action/delete_server.rb
101
106
  - lib/vagrant-profitbricks/action/is_created.rb
102
107
  - lib/vagrant-profitbricks/action/list_flavors.rb
103
108
  - lib/vagrant-profitbricks/action/list_images.rb
104
- - lib/vagrant-profitbricks/action/list_keypairs.rb
105
- - lib/vagrant-profitbricks/action/list_networks.rb
106
- - lib/vagrant-profitbricks/action/list_servers.rb
107
109
  - lib/vagrant-profitbricks/action/message_already_created.rb
108
110
  - lib/vagrant-profitbricks/action/message_not_created.rb
109
111
  - lib/vagrant-profitbricks/action/read_ssh_info.rb
110
112
  - lib/vagrant-profitbricks/action/read_state.rb
113
+ - lib/vagrant-profitbricks/action/reboot_server.rb
111
114
  - lib/vagrant-profitbricks/action/run_init_script.rb
112
- - lib/vagrant-profitbricks/command/create_image.rb
115
+ - lib/vagrant-profitbricks/action/start_server.rb
116
+ - lib/vagrant-profitbricks/action/stop_server.rb
117
+ - lib/vagrant-profitbricks/command/datacenters.rb
113
118
  - lib/vagrant-profitbricks/command/flavors.rb
114
119
  - lib/vagrant-profitbricks/command/images.rb
115
- - lib/vagrant-profitbricks/command/keypairs.rb
116
- - lib/vagrant-profitbricks/command/list_images.rb
117
- - lib/vagrant-profitbricks/command/networks.rb
120
+ - lib/vagrant-profitbricks/command/locations.rb
118
121
  - lib/vagrant-profitbricks/command/root.rb
119
122
  - lib/vagrant-profitbricks/command/servers.rb
123
+ - lib/vagrant-profitbricks/command/snapshots.rb
124
+ - lib/vagrant-profitbricks/command/utils.rb
120
125
  - lib/vagrant-profitbricks/config.rb
121
126
  - lib/vagrant-profitbricks/errors.rb
122
127
  - lib/vagrant-profitbricks/plugin.rb
@@ -124,8 +129,6 @@ files:
124
129
  - lib/vagrant-profitbricks/version.rb
125
130
  - locales/en.yml
126
131
  - spec/spec_helper.rb
127
- - spec/vagrant-profitbricks/actions/list_flavors_spec.rb
128
- - spec/vagrant-profitbricks/actions/list_images_spec.rb
129
132
  - spec/vagrant-profitbricks/config_spec.rb
130
133
  - vagrant-profitbricks.gemspec
131
134
  homepage: https://devops.proftibricks.com
@@ -147,18 +150,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
150
  version: '0'
148
151
  requirements: []
149
152
  rubyforge_project:
150
- rubygems_version: 2.0.14
153
+ rubygems_version: 2.0.14.1
151
154
  signing_key:
152
155
  specification_version: 4
153
156
  summary: Enables Vagrant to manage machines in a ProfitBricks Virtual Data Center.
154
157
  test_files:
155
- - features/provision.feature
156
- - features/steps/sdk_steps.rb
157
- - features/steps/server_steps.rb
158
- - features/support/env.rb
159
- - features/support/fog_mock.rb
160
- - features/vagrant-profitbricks.feature
161
158
  - spec/spec_helper.rb
162
- - spec/vagrant-profitbricks/actions/list_flavors_spec.rb
163
- - spec/vagrant-profitbricks/actions/list_images_spec.rb
164
159
  - spec/vagrant-profitbricks/config_spec.rb
data/Appraisals DELETED
@@ -1,35 +0,0 @@
1
- # Note: You may need to use bundler 1.5.2 to run `appraisal install`
2
- appraise "vagrant-1.7" do
3
- group :plugins do
4
- gem 'bundler', '>= 1.5.2', '< 1.8.0'
5
- gem "vagrant", :git => 'https://github.com/mitchellh/vagrant', :tag => 'v1.7.1'
6
- end
7
- end
8
-
9
- appraise "vagrant-1.6" do
10
- gem 'bundler', '>= 1.5.2', '< 1.7.0'
11
- group :plugins do
12
- gem "vagrant", :git => 'https://github.com/mitchellh/vagrant', :tag => 'v1.6.5'
13
- end
14
- end
15
-
16
- appraise "vagrant-1.5" do
17
- gem 'bundler', '= 1.5.2'
18
- group :plugins do
19
- gem "vagrant", :git => 'https://github.com/mitchellh/vagrant', :tag => 'v1.5.4'
20
- end
21
- end
22
-
23
- # Oldest supported
24
- appraise "vagrant-1.5.0" do
25
- gem 'bundler', '= 1.5.2'
26
- group :plugins do
27
- gem "vagrant", :git => 'https://github.com/mitchellh/vagrant', :tag => 'v1.5.4'
28
- end
29
- end
30
-
31
- appraise "windows-wip" do
32
- group :plugins do
33
- gem "vagrant", :git => 'https://github.com/maxlinc/vagrant', :branch => 'winrm-1.3'
34
- end
35
- end
@@ -1,3 +0,0 @@
1
- # 0.1.0 (Month Day, Year)
2
-
3
- * Initial release.
data/RELEASE.md DELETED
@@ -1,15 +0,0 @@
1
- # Release process
2
-
3
- This is the current release process for 'vagrant-profitbricks'.
4
-
5
- ## Prepare the release
6
-
7
- * Update the version in "lib/vagrant-profitbricks/version.rb"
8
- * Update the version in CHANGELOG.md
9
- * Use "rake release". This will make sure to tag that commit and push it to RubyGems.
10
- * Create new [github release](https://github.com/profitbricks/vagrant-profitbricks/releases)
11
- * Update the version again in both files to a dev version for working again.
12
-
13
- The CHANGELOG.md should be maintained in a similar format to Vagrant:
14
-
15
- https://github.com/mitchellh/vagrant/blob/master/CHANGELOG.md
@@ -1,16 +0,0 @@
1
- Function SetupWinRM
2
- {
3
- Param(
4
- [String]$hostname,
5
- [String]$thumbprint
6
- )
7
- netsh advfirewall firewall set rule group="remote administration" new enable=yes
8
- netsh advfirewall firewall add rule name="WinRM HTTP" dir=in action=allow protocol=TCP localport=5985
9
- netsh advfirewall firewall add rule name="WinRM HTTPS" dir=in action=allow protocol=TCP localport=5986
10
- winrm create winrm/config/Listener?Address=*+Transport=HTTPS "@{Hostname=`"${hostname}`"; CertificateThumbprint=`"${thumbprint}`"}"
11
- }
12
-
13
- $hostname = $env:COMPUTERNAME
14
- $cert = New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\My -DnsName $hostname
15
- $thumbprint = $cert.Thumbprint
16
- SetupWinRM -hostname $hostname -thumbprint $thumbprint
@@ -1,36 +0,0 @@
1
- @announce
2
- @vagrant-profitbricks
3
- Feature: vagrant-profitbricks fog tests
4
-
5
- Background:
6
- Given I have ProfitBricks credentials available
7
- And I have a "fog_mock.rb" file
8
-
9
- Scenario: Create a single server (with provisioning)
10
- Given a file named "Vagrantfile" with:
11
- """
12
- Vagrant.configure("2") do |config|
13
- Vagrant.require_plugin "vagrant-profitbricks"
14
-
15
- config.vm.box = "dummy"
16
- config.ssh.private_key_path = "~/.ssh/id_rsa"
17
-
18
-
19
- config.vm.provider :profitbricks do |rs|
20
- rs.server_name = 'vagrant-provisioned-server'
21
- rs.username = ENV['PB_USERNAME']
22
- rs.password = ENV['PB_PASSWORD']
23
- rs.flavor = "Micro"
24
- rs.image = /Ubuntu/
25
- rs.admin_password = 'Vagrant123'
26
- rs.data_center_id = /My/ #'d7c69d5e-59e2-4133-a982-788fe4bb7599'
27
- rs.profitbricks_volume_size = 8
28
- end
29
-
30
- config.vm.provision :shell, :inline => "echo Hello, World"
31
- end
32
- """
33
- When I successfully run `bundle exec vagrant up --provider profitbricks`
34
- # I want to capture the ID like I do in tests for other tools, but Vagrant doesn't print it!
35
- # And I get the server from "Instance ID:"
36
- Then the server "vagrant-provisioned-server" should be active
@@ -1,13 +0,0 @@
1
- Given(/^I have ProfitBricks credentials available$/) do
2
- fail unless ENV['PB_USERNAME'] && ENV['PB_API_PASSWORD']
3
- end
4
-
5
- Given(/^I have a "fog_mock.rb" file$/) do
6
- script = File.open("features/support/fog_mock.rb").read
7
- steps %Q{
8
- Given a file named "fog_mock.rb" with:
9
- """
10
- #{script}
11
- """
12
- }
13
- end
@@ -1,25 +0,0 @@
1
- When(/^I get the server from "(.*?)"$/) do |label|
2
- @server_id = all_output.match(/#{label}\s([\w-]*)/)[1]
3
- puts "Server: #{@server_id}"
4
- end
5
-
6
- When(/^I load the server$/) do
7
- @server_id = all_output.strip.lines.to_a.last
8
- puts "Server: #{@server_id}"
9
- end
10
-
11
- Then(/^the server should be active$/) do
12
- unless Fog.mock? # unfortunately we can't assert this with Fog.mock!, since mocked objects do not persist from the subprocess
13
- assert_active @server_id
14
- end
15
- end
16
-
17
- Then(/^the server "(.+)" should be active$/) do |server_name|
18
- server = @compute.servers.all.find{|s| s.name == server_name}
19
- assert_active server.id
20
- end
21
-
22
- def assert_active server_id
23
- server = @compute.servers.get server_id
24
- server.state.should == 'available'
25
- end
@@ -1,35 +0,0 @@
1
- require 'fog'
2
- require 'aruba/cucumber'
3
-
4
- Fog.mock! if ENV['PB_MOCK'] == 'true'
5
-
6
- Before do | scenario |
7
- @aruba_timeout_seconds = 600
8
- @scenario = File.basename(scenario.file)
9
- ENV['CASSETTE'] = @scenario
10
-
11
- # proxy_options = {
12
- # :connection_options => {
13
- # :proxy => ENV['https_proxy'],
14
- # :ssl_verify_peer => false
15
- # }
16
- # }
17
-
18
- connect_options = {
19
- :provider => 'profitbricks',
20
- :profitbricks_username => ENV['PB_USERNAME'],
21
- :profitbricks_password => ENV['PB_API_PASSWORD'],
22
- }
23
- #connect_options.merge!(proxy_options) unless ENV['https_proxy'].nil?
24
- @compute = Fog::Compute.new(connect_options)
25
- end
26
-
27
- # Around do | scenario, block |
28
- # Bundler.with_clean_env do
29
- # block.call
30
- # end
31
- # end
32
-
33
- After('@creates_server') do
34
- @compute.servers.delete @server_id
35
- end
@@ -1,17 +0,0 @@
1
- require 'fog'
2
- if ENV['PB_MOCK'] == 'true'
3
- Fog.mock!
4
- # Fog::ProfitBricks::MockData.configure do |c|
5
- # c[:image_name_generator] = Proc.new { "Ubuntu" }
6
- # c[:ipv4_generator] = Proc.new { "10.11.12.2"}
7
- # end
8
- connect_options = {
9
- :provider => 'profitbricks',
10
- :profitbricks_username => ENV['PB_USERNAME'],
11
- :profitbricks_password => ENV['PB_API_PASSWORD']
12
- }
13
- connect_options.merge!(proxy_options) unless ENV['https_proxy'].nil?
14
- compute = Fog::Compute.new(connect_options)
15
- # Force creation of Ubuntu image so it will show up in compute.images.list
16
- compute.images.get(0)
17
- end
@@ -1,66 +0,0 @@
1
- @announce
2
- @vagrant-profitbricks
3
- Feature: vagrant-profitbricks fog tests
4
- As a Fog developer
5
- I want to smoke (or "fog") test vagrant-profitbricks.
6
- So I am confident my upstream changes did not create downstream problems.
7
-
8
- Background:
9
- Given I have ProfitBricks credentials available
10
- And I have a "fog_mock.rb" file
11
-
12
- Scenario: Create a single server
13
- Given a file named "Vagrantfile" with:
14
- """
15
- # Testing options
16
- require File.expand_path '../fog_mock', __FILE__
17
-
18
- Vagrant.configure("2") do |config|
19
- # dev/test method of loading plugin, normally would be 'vagrant plugin install vagrant-profitbricks'
20
- Vagrant.require_plugin "vagrant-profitbricks"
21
-
22
- config.vm.box = "dummy"
23
- config.ssh.username = "vagrant" if Fog.mock?
24
- config.ssh.private_key_path = "~/.ssh/id_rsa" unless Fog.mock?
25
-
26
- config.vm.provider :profitbricks do |rs|
27
- rs.server_name = 'vagrant-single-server'
28
- rs.username = ENV['PB_USERNAME']
29
- rs.password = ENV['PB_PASSWORD']
30
- rs.flavor = /1 GB Performance/
31
- rs.image = /Ubuntu/
32
- end
33
- end
34
- """
35
- When I successfully run `bundle exec vagrant up --provider profitbricks`
36
- # I want to capture the ID like I do in tests for other tools, but Vagrant doesn't print it!
37
- # And I get the server from "Instance ID:"
38
- Then the server "vagrant-single-server" should be active
39
-
40
- Scenario: Create a single server (profitbricks_compute_url)
41
- Given a file named "Vagrantfile" with:
42
- """
43
- # Testing options
44
- require File.expand_path '../fog_mock', __FILE__
45
-
46
- Vagrant.configure("2") do |config|
47
- # dev/test method of loading plugin, normally would be 'vagrant plugin install vagrant-profitbricks'
48
- Vagrant.require_plugin "vagrant-profitbricks"
49
-
50
- config.vm.box = "dummy"
51
- config.ssh.username = "vagrant" if Fog.mock?
52
- config.ssh.private_key_path = "~/.ssh/id_rsa" unless Fog.mock?
53
-
54
- config.vm.provider :profitbricks do |rs|
55
- rs.server_name = 'vagrant-single-server'
56
- rs.username = ENV['PB_USERNAME']
57
- rs.password = ENV['PB_PASSWORD']
58
- rs.flavor = /1 GB Performance/
59
- rs.image = /Ubuntu/
60
- end
61
- end
62
- """
63
- When I successfully run `bundle exec vagrant up --provider profitbricks`
64
- # I want to capture the ID like I do in tests for other tools, but Vagrant doesn't print it!
65
- # And I get the server from "Instance ID:"
66
- Then the server "vagrant-single-server" should be active