vagrant-profitbricks 1.0.0 → 4.0.0

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