vagrant-haipa 0.0.1 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +11 -0
  3. data/.gitignore +49 -16
  4. data/.rspec_status +5 -0
  5. data/.vscode/launch.json +13 -3
  6. data/Gemfile +6 -2
  7. data/Gemfile.lock +181 -0
  8. data/LICENSE +21 -373
  9. data/Rakefile +7 -16
  10. data/lib/vagrant-haipa/action/converge_machine.rb +44 -0
  11. data/lib/vagrant-haipa/{actions → action}/delete_machine.rb +3 -10
  12. data/lib/vagrant-haipa/action/is_created.rb +19 -0
  13. data/lib/vagrant-haipa/action/is_running.rb +20 -0
  14. data/lib/vagrant-haipa/{actions → action}/message_already_created.rb +1 -1
  15. data/lib/vagrant-haipa/{actions → action}/message_not_created.rb +1 -1
  16. data/lib/vagrant-haipa/{actions → action}/message_will_not_destroy.rb +1 -1
  17. data/lib/vagrant-haipa/action/read_state.rb +19 -0
  18. data/lib/vagrant-haipa/{actions → action}/set_name.rb +3 -6
  19. data/lib/vagrant-haipa/action/start_machine.rb +24 -0
  20. data/lib/vagrant-haipa/action/stop_machine.rb +25 -0
  21. data/lib/vagrant-haipa/{actions → action}/wait_for_ip_address.rb +4 -4
  22. data/lib/vagrant-haipa/{actions.rb → action.rb} +78 -106
  23. data/lib/vagrant-haipa/config.rb +17 -15
  24. data/lib/vagrant-haipa/driver.rb +139 -0
  25. data/lib/vagrant-haipa/errors.rb +4 -36
  26. data/lib/vagrant-haipa/plugin.rb +8 -7
  27. data/lib/vagrant-haipa/provider.rb +44 -63
  28. data/lib/vagrant-haipa/version.rb +2 -2
  29. data/lib/vagrant-haipa.rb +11 -7
  30. data/locales/en.yml +2 -70
  31. data/spec/spec_helper.rb +20 -0
  32. data/spec/unit/provider_spec.rb +38 -0
  33. data/test/Vagrantfile +23 -14
  34. data/test/console.key +27 -0
  35. data/vagrant +27 -27
  36. data/vagrant-haipa.gemspec +3 -4
  37. metadata +32 -53
  38. data/README.md +0 -111
  39. data/lib/vagrant-haipa/actions/check_state.rb +0 -19
  40. data/lib/vagrant-haipa/actions/connect_haipa.rb +0 -24
  41. data/lib/vagrant-haipa/actions/create_machine.rb +0 -56
  42. data/lib/vagrant-haipa/actions/is_created.rb +0 -18
  43. data/lib/vagrant-haipa/actions/is_stopped.rb +0 -18
  44. data/lib/vagrant-haipa/actions/modify_provision_path.rb +0 -38
  45. data/lib/vagrant-haipa/actions/shut_down.rb +0 -33
  46. data/lib/vagrant-haipa/actions/start_machine.rb +0 -34
  47. data/lib/vagrant-haipa/actions/stop_machine.rb +0 -33
  48. data/lib/vagrant-haipa/helpers/client.rb +0 -111
  49. data/lib/vagrant-haipa/helpers/result.rb +0 -40
  50. data/test/cookbooks/test/recipes/default.rb +0 -1
  51. data/test/scripts/provision.sh +0 -3
  52. data/test/test.sh +0 -13
  53. data/test/test_id_rsa +0 -27
  54. data/test/test_id_rsa.pub +0 -1
@@ -1,62 +1,17 @@
1
- require 'vagrant-haipa/actions'
2
- require 'vagrant-haipa/helpers/client'
1
+
3
2
 
4
3
  module VagrantPlugins
5
4
  module Haipa
6
- class Provider < Vagrant.plugin('2', :provider)
5
+ class Provider < Vagrant.plugin("2", :provider)
7
6
 
8
- def self.haipa_machines(machine)
9
- client = Helpers::ApiClient.new(machine)
10
-
11
- unless @haipa_machines
12
- result = client.request('/odata/Machines', {'$expand' => 'Networks' })
13
- @haipa_machines = result['value']
14
- end
15
- return @haipa_machines
16
- end
17
-
18
- # This class method caches status for all machines within
19
- # the Haipa account. A specific machine's status
20
- # may be refreshed by passing :refresh => true as an option.
21
- def self.haipa_machine(machine, opts = {})
22
- client = Helpers::ApiClient.new(machine)
23
-
24
- # load status of machines if it has not been done before
25
- haipa_machines(machine)
26
-
27
- if opts[:refresh] && machine.id
28
- # refresh the machine status for the given machine
29
- @haipa_machines.delete_if { |d| d['Id'].to_s == machine.id }
30
- result = client.request("/odata/Machines(#{machine.id})", {'$expand' => 'Networks' })
31
- @haipa_machines << haipa_machine = result
32
- else
33
- # lookup machine status for the given machine
34
- haipa_machine = @haipa_machines.find { |d| d['Id'].to_s == machine.id }
35
- end
36
-
37
- # if lookup by id failed, check for a machine with a matching name
38
- # and set the id to ensure vagrant stores locally
39
- # TODO allow the user to configure this behavior
40
- unless haipa_machine
41
- name = machine.config.vm.hostname || machine.name
42
- haipa_machine = @haipa_machines.find { |d| d['Name'] == name.to_s }
43
- machine.id = haipa_machine['Id'].to_s if haipa_machine
44
- end
45
-
46
- haipa_machine || { 'Status' => 'not_created' }
47
- end
7
+ # @return (VagrantPlugins::Haipa::Driver) current driver
8
+ attr_reader :driver
48
9
 
49
10
  def initialize(machine)
50
11
  @machine = machine
51
- end
12
+ @logger = Log4r::Logger.new("vagrant::haipa::provider")
52
13
 
53
- def action(name)
54
- # Attempt to get the action method from the Action class if it
55
- # exists, otherwise return nil to show that we don't support the
56
- # given action.
57
- action_method = "action_#{name}"
58
- return Actions.send(action_method) if Actions.respond_to?(action_method)
59
- nil
14
+ @driver = Driver.new(@machine)
60
15
  end
61
16
 
62
17
  # This method is called if the underying machine ID changes. Providers
@@ -65,10 +20,35 @@ module VagrantPlugins
65
20
  # become `nil`). No parameters are given, since the underlying machine
66
21
  # is simply the machine instance given to this object. And no
67
22
  # return value is necessary.
68
- def machine_id_changed
23
+ def machine_id_changed
69
24
  end
70
25
 
71
- # This should return a hash of information that explains how to
26
+ def state
27
+ state_id = nil
28
+ state_id = :not_created if !@machine.id
29
+
30
+ if !state_id
31
+ # Run a custom action we define called "read_state" which does
32
+ # what it says. It puts the state in the `:machine_state_id`
33
+ # key in the environment.
34
+ env = @machine.action(:read_state)
35
+ state_id = env[:machine_state_id]
36
+ end
37
+
38
+ # Get the short and long description
39
+ short = state_id.to_s
40
+ long = ""
41
+
42
+ # If we're not created, then specify the special ID flag
43
+ if state_id == :not_created
44
+ state_id = Vagrant::MachineState::NOT_CREATED_ID
45
+ end
46
+
47
+ # Return the MachineState object
48
+ Vagrant::MachineState.new(state_id, short, long)
49
+ end
50
+
51
+ # This should return a hash of information that explains how to
72
52
  # SSH into the machine. If the machine is not at a point where
73
53
  # SSH is even possible, then `nil` should be returned.
74
54
  #
@@ -87,9 +67,9 @@ module VagrantPlugins
87
67
  # `ssh` prompt with a password, whereas we can pass a private key
88
68
  # via commandline.
89
69
  def ssh_info
90
- machine = Provider.haipa_machine(@machine)
70
+ haipa_machine = @driver.machine()
91
71
 
92
- return nil if machine['Status'].to_sym != :Running
72
+ return nil if haipa_machine.status.to_sym != :Running
93
73
 
94
74
 
95
75
  # Run a custom action called "ssh_ip" which does what it says and puts
@@ -105,14 +85,15 @@ module VagrantPlugins
105
85
  }
106
86
  end
107
87
 
108
- # This should return the state of the machine within this provider.
109
- # The state must be an instance of {MachineState}. Please read the
110
- # documentation of that class for more information.
111
- def state
112
- state = Provider.haipa_machine(@machine)['Status'].downcase.to_sym
113
- long = short = state.to_s
114
- Vagrant::MachineState.new(state, short, long)
115
- end
88
+ def action(name)
89
+ # Attempt to get the action method from the Action class if it
90
+ # exists, otherwise return nil to show that we don't support the
91
+ # given action.
92
+ action_method = "action_#{name}"
93
+ return Action.send(action_method) if Action.respond_to?(action_method)
94
+ nil
95
+ end
116
96
  end
117
97
  end
118
98
  end
99
+
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Haipa
3
- VERSION = '0.0.1'
3
+ VERSION = '0.2.1'
4
4
  end
5
- end
5
+ end
data/lib/vagrant-haipa.rb CHANGED
@@ -1,17 +1,21 @@
1
1
  require 'vagrant-haipa/version'
2
2
  require 'vagrant-haipa/plugin'
3
3
  require 'vagrant-haipa/errors'
4
+ require 'vagrant-haipa/driver'
4
5
 
5
6
  module VagrantPlugins
6
7
  module Haipa
7
- def self.source_root
8
- @source_root ||= Pathname.new(File.expand_path('../../', __FILE__))
9
- end
8
+ OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
9
+
10
+ lib_path = Pathname.new(File.expand_path("../vagrant-haipa", __FILE__))
11
+ autoload :Action, lib_path.join("action")
12
+ autoload :Errors, lib_path.join("errors")
10
13
 
11
- def self.public_key(private_key_path)
12
- File.read("#{private_key_path}.pub")
13
- rescue
14
- raise Errors::PublicKeyError, :path => "#{private_key_path}.pub"
14
+ # This returns the path to the source of this plugin.
15
+ #
16
+ # @return [Pathname]
17
+ def self.source_root
18
+ @source_root ||= Pathname.new(File.expand_path("../../", __FILE__))
15
19
  end
16
20
 
17
21
  I18n.load_path << File.expand_path('locales/en.yml', source_root)
data/locales/en.yml CHANGED
@@ -1,47 +1,19 @@
1
1
  en:
2
2
  vagrant_haipa:
3
3
  info:
4
- off: "Machine is off"
5
4
  not_created: "Machine has not been created"
6
5
  already_active: "Machine is already active"
7
- already_off: "Machine is already off"
6
+ stop_machine: "Stopping the machine..."
7
+ start_machine: "Starting the machine..."
8
8
  creating: "Creating a new machine..."
9
9
  machine_ip: "Assigned IP address: %{ip}"
10
10
  destroying: "Destroying the machine..."
11
- shutting_down: "Shutting down the machine..."
12
- powering_off: "Powering off the machine..."
13
- powering_on: "Powering on the machine..."
14
- rebuilding: "Rebuilding the machine..."
15
- reloading: "Rebooting the machine..."
16
- creating_user: "Creating user account: %{user}..."
17
- late_sudo_install_deb8: "Haipa's debian-8 image lacks sudo. Installing now."
18
- modifying_sudo: "Modifying sudoers file to remove tty requirement..."
19
- using_key: "Using existing SSH key: %{name}"
20
- creating_key: "Creating new SSH key: %{name}..."
21
- trying_rsync_install: "Rsync not found, attempting to install with yum..."
22
- rsyncing: "Rsyncing folder: %{hostpath} => %{guestpath}..."
23
- rsync_missing: "The rsync executable was not found in the current path."
24
- images: "Description Slug ID\n\n%{images}"
25
- images_with_regions: "Description Slug ID Regions\n\n%{images}"
26
- regions: "Description Slug\n\n%{regions}"
27
- sizes: "Memory CPUs Slug\n\n%{sizes}"
28
- list_error: 'Could not contact the Haipa API: %{message}'
29
11
  will_not_destroy: |-
30
12
  The instance '%{name}' will not be destroyed, since the confirmation
31
13
  was declined.
32
14
  already_status: |-
33
15
  The machine is already %{status}.
34
- config:
35
- token: "Token is required"
36
- private_key: "SSH private key path is required"
37
- public_key: "SSH public key not found: %{key}"
38
16
  errors:
39
- public_key: |-
40
- There was an issue reading the public key at:
41
-
42
- Path: %{path}
43
-
44
- Please check the file's permissions.
45
17
  api_status: |-
46
18
  There was an issue with the request made to the Haipa
47
19
  API at:
@@ -53,43 +25,3 @@ en:
53
25
 
54
26
  Status: %{status}
55
27
  Response: %{response}
56
- rsync: |-
57
- There was an error when attemping to rsync a share folder.
58
- Please inspect the error message below for more info.
59
-
60
- Host path: %{hostpath}
61
- Guest path: %{guestpath}
62
- Error: %{stderr}
63
- json: |-
64
- There was an issue with the JSON response from the Haipa
65
- API at:
66
-
67
- Path: %{path}
68
- URI Params: %{params}
69
-
70
- The response JSON from the API was:
71
-
72
- Response: %{response}
73
- result_match: |-
74
- The result collection for %{collection_name}:
75
-
76
- %{sub_obj}
77
-
78
- Contained no object with the value "%{value}" for the the
79
- key "%{key}".
80
-
81
- Please ensure that the configured value exists in the collection.
82
- certificate: |-
83
- The secure connection to the Haipa API has failed. Please
84
- ensure that your local certificates directory is defined in the
85
- provider config.
86
-
87
- config.vm.provider :haipa do |vm|
88
- vm.ca_path = "/path/to/ssl/ca/cert.crt"
89
- end
90
-
91
- This is generally caused by the OpenSSL configuration associated
92
- with the Ruby install being unaware of the system specific ca
93
- certs.
94
- local_ip: |-
95
- The Haipa provider was unable to determine the host's IP.
@@ -0,0 +1,20 @@
1
+ require "bundler/setup"
2
+
3
+ # Disable Vagrant autoloading so that other plugins defined in the Gemfile for
4
+ # Acceptance tests are not loaded.
5
+ ENV['VAGRANT_NO_PLUGINS'] = '1'
6
+
7
+ require 'vagrant-spec/unit'
8
+ require 'vagrant-haipa'
9
+
10
+ RSpec.configure do |config|
11
+ # Enable flags like --only-failures and --next-failure
12
+ config.example_status_persistence_file_path = ".rspec_status"
13
+
14
+ # Disable RSpec exposing methods globally on `Module` and `main`
15
+ config.disable_monkey_patching!
16
+
17
+ config.expect_with :rspec do |c|
18
+ c.syntax = :expect
19
+ end
20
+ end
@@ -0,0 +1,38 @@
1
+ require 'spec_helper'
2
+ require 'vagrant-haipa/provider'
3
+
4
+ RSpec.describe VagrantPlugins::Haipa::Provider do
5
+ include_context 'vagrant-unit'
6
+
7
+ let(:machine){ double("machine") }
8
+ let(:platform){ double("platform") }
9
+ subject { described_class.new(machine) }
10
+
11
+ before do
12
+ stub_const("Vagrant::Util::Platform", platform)
13
+ allow(machine).to receive(:id).and_return("foo")
14
+ end
15
+
16
+
17
+ describe "#driver" do
18
+ it "is initialized" do
19
+ expect(subject.driver).to be_kind_of(VagrantPlugins::Haipa::Driver)
20
+ end
21
+ end
22
+
23
+ describe "#state" do
24
+ it "returns not_created if no ID" do
25
+ allow(machine).to receive(:id).and_return(nil)
26
+
27
+ expect(subject.state.id).to eq(:not_created)
28
+ end
29
+
30
+ it "calls an action to determine the ID" do
31
+ allow(machine).to receive(:id).and_return("foo")
32
+ expect(machine).to receive(:action).with(:read_state).
33
+ and_return({ machine_state_id: :bar })
34
+
35
+ expect(subject.state.id).to eq(:bar)
36
+ end
37
+ end
38
+ end
data/test/Vagrantfile CHANGED
@@ -3,41 +3,50 @@ REQUIRED_PLUGINS = %w(vagrant-haipa)
3
3
  Vagrant.configure('2') do |config|
4
4
 
5
5
  config.ssh.username = 'ubuntu'
6
- config.ssh.password = 'vagrant'
6
+ config.ssh.password = 'ubuntu'
7
7
 
8
8
  config.vm.synced_folder ".", "/vagrant", disabled: true
9
9
 
10
10
  #config.vm.provision :shell, :path => 'scripts/provision.sh'
11
+ #config.omnibus.chef_version = :latest
12
+
11
13
 
12
14
  config.vm.define :ubuntu do |ubuntu|
15
+
13
16
  ubuntu.vm.provider :haipa do |provider|
17
+ provider.client_id = 'console'
18
+ provider.client_key_file = 'console.key'
19
+ provider.identity_endpoint = 'https://localhost:62189/identity'
20
+ provider.api_endpoint = 'https://localhost:62189/api'
21
+
14
22
  provider.vm_config = {
15
- 'Memory' => {
16
- 'Startup' => 2048
23
+ 'memory' => {
24
+ 'startup' => 2048
17
25
  },
18
- 'Disks' => [
26
+ 'disks' => [
19
27
  {
20
- "Template" => 'T:\openstack\ubuntu-xenial.vhdx',
21
- "Size" => 20
28
+ 'template' => 'T:\openstack\ubuntu-xenial.vhdx',
29
+ 'size' => 20
22
30
  }
23
31
  ],
24
- 'NetworkAdapters' => [
32
+ 'networkAdapters' => [
25
33
  {
26
- "Name" => "eth0",
27
- "SwitchName" => "Default Switch",
34
+ 'name' => "eth0",
35
+ 'switchName' => "Default Switch",
28
36
  }
29
37
  ] ,
30
38
  }
31
39
 
32
40
  provider.provision = {
33
- 'Hostname' => 'basic',
34
- "UserData" => {
35
- "password" => config.ssh.password,
41
+ 'hostname' => 'basic',
42
+ 'userData' => {
43
+ "package_upgrade": true,
36
44
  "chpasswd" => {
37
- "expire"=> "False"
45
+ "expire": false
46
+ },
47
+ "password" => "ubuntu"
38
48
  }
39
49
  }
40
- }
41
50
  end
42
51
  end
43
52
  end
data/test/console.key ADDED
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEogIBAAKCAQEAw+q1IZy3iYRsjzZuitP4+2UYVY+AO/OZq5/O5erlseayss7g
3
+ zomY2NIg/kYKcrJkUZ04Y9RknWLHEw9iHGIxEMIChdaJTlM0IYgaVToWKZeWi2+h
4
+ yogPzAYziL/+fG0r6GnEvI7AHztsZUbZe7PcXL/NP0ZIamsMzXSAEt1Y8Fi50reV
5
+ XkNO9h60oI79crOIH+bcfgIpRYMkHcxrAFGBkfFMcIjup/G4GPEpKl7pbeTHm87u
6
+ 3QwQivIlYCX/fkdmggLcWaOpA4GtkLOzWgjekIulj1pGymbCsdOd48Pnp/+zWttA
7
+ SxVLMq6egGXya/I8mQcAMBx4tm5HiMi/dXNS1QIDAQABAoIBAE9TsZOyiP49iFdU
8
+ it3bhm0EOh4qxJmBwS8kvfmKawblimWsLopyXFkue/15DrHyWXxSVIrXbQXtAP5O
9
+ tEMZ3xQR+kOG4oG8XtdU7JSluGOO5X3/7Vq8TOkneaZdVwW6jpTEfsx6YIBE51b6
10
+ oQTdhtRnNQvxwVCVl9F44oLA7UojbX1PbSbW4OO5X+ZX0Xgk3U39MUjdza4jyggx
11
+ Dyp+QWk8sN/6Xn0E5DM97c+y2xsLlekFckWTUp7ECb0iTZ35SuHxe3n9xAOclXBI
12
+ CQ8VZZxKqRwh8guB6OFxrE9jjVCxSg11hnXbHte9iJYb4sCAI4I+jNJFprLhEmSs
13
+ cvtjkuECgYEA3ptQTys9IAv6H9WNZ49TBQqzL1Y+rNm8k1zkxo6G1z/47FtPSjmU
14
+ 0SRdeJYjRWiM8k5WE8mMl5qqhonFoDq9ILF/70GgKnaI62P8vF4meAWW6dERY//P
15
+ JyquYJBX+oQjPVStWrSihD5/yjhhciy78BFQLPbfc7Hp8XJxS8MLzPsCgYEA4U5u
16
+ qNmJKECPg+TJUw1gxKggAMINNIezMSsmPXRdCN5MZugfL1uTdJN3Wu8kdc+3hmHQ
17
+ k1k2iYMCJ718cD2H3zanOYs6iqeD5o5K00JJKBbgnWyGB1I7uSHJMAp9Ur4nX+LV
18
+ 8/zFd4KI0Nmv1AUlb3gG8e680TnZabZX11Xhtm8CgYAJD/GZB32ZjGNGYH89NAyB
19
+ LApXZv9uMf8HUMTPgIXkxWnw1VbJAscYLI7RleshrDvwsVe3voDGuzkt+PXerAV/
20
+ CzrWFqnakLDKRGvJj1upjzCxnB1FIOjiA07OB5JNVIvKt2PHSYtELvcs2Fa/Oyr7
21
+ fvjwm6xFHX0Uo0ARgYM9eQKBgBecdJRVV75UJbYYv9BoUn/JbrElpOSgY/L/Jp7C
22
+ Fw3a3f7azInV+vn4ikWJUjTWc9EtZwJKEyEODafEf8nzaM3HmHa7VIM7UuNSfhzt
23
+ kWUWIKvet50EzSV1mPPj5YZKTy4JQ4qyLq97ioL4jSiW8XlhBrlL35W9jj850LLM
24
+ WT8ZAoGAU4omGMECa9CNU9QoZvNuXpUju823Euja2Lg2AE7XGNBxqA8dmL5czuXR
25
+ gEEZ740uPRplAj3SPWoBHT/Gzo44NUCJFuouHu0CBaTUssir1E/TnS9wQI694eRg
26
+ hoqMWWCMQ2+rE7bONY60PaB4Y6mAY9SMS9r2QAI8sipuwraj5l8=
27
+ -----END RSA PRIVATE KEY-----
data/vagrant CHANGED
@@ -1,27 +1,27 @@
1
- #!C:/Users/vagrant/AppData/Local/Temp/b2p1jxhg.y1c/embedded/mingw64/bin/ruby.exe
2
- #
3
- # This file was generated by RubyGems.
4
- #
5
- # The application 'vagrant' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'rubygems'
10
-
11
- version = ">= 0.a"
12
-
13
- if ARGV.first
14
- str = ARGV.first
15
- str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
16
- if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
17
- version = $1
18
- ARGV.shift
19
- end
20
- end
21
-
22
- if Gem.respond_to?(:activate_bin_path)
23
- load Gem.activate_bin_path('vagrant', 'vagrant', version)
24
- else
25
- gem "vagrant", version
26
- load Gem.bin_path("vagrant", "vagrant", version)
27
- end
1
+ #!C:/Users/vagrant/AppData/Local/Temp/hecdnuu3.bee/embedded/mingw64/bin/ruby.exe
2
+ #
3
+ # This file was generated by RubyGems.
4
+ #
5
+ # The application 'vagrant' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'rubygems'
10
+
11
+ version = ">= 0.a"
12
+
13
+ if ARGV.first
14
+ str = ARGV.first
15
+ str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
16
+ if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
17
+ version = $1
18
+ ARGV.shift
19
+ end
20
+ end
21
+
22
+ if Gem.respond_to?(:activate_bin_path)
23
+ load Gem.activate_bin_path('vagrant', 'vagrant', version)
24
+ else
25
+ gem "vagrant", version
26
+ load Gem.bin_path("vagrant", "vagrant", version)
27
+ end
@@ -6,8 +6,8 @@ require 'vagrant-haipa/version'
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = "vagrant-haipa"
8
8
  gem.version = VagrantPlugins::Haipa::VERSION
9
- gem.authors = ["Frank Wagner"]
10
- gem.email = ["info@contiva.com"]
9
+ gem.authors = ["Haipa contributors"]
10
+ gem.email = ["package-maintainers@haipa.io"]
11
11
  gem.description = %q{Enables Vagrant to manage Hyper-V with Haipa}
12
12
  gem.summary = gem.description
13
13
 
@@ -15,7 +15,6 @@ Gem::Specification.new do |gem|
15
15
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
16
16
  gem.require_paths = ["lib"]
17
17
 
18
- gem.add_dependency "faraday", ">= 0.8.6"
19
- gem.add_dependency "json"
20
18
  gem.add_dependency "log4r"
19
+ gem.add_dependency "haipa_compute", ">= 0.0.2"
21
20
  end
metadata CHANGED
@@ -1,31 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-haipa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
- - Frank Wagner
7
+ - Haipa contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-16 00:00:00.000000000 Z
11
+ date: 2019-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: faraday
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 0.8.6
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: 0.8.6
27
- - !ruby/object:Gem::Dependency
28
- name: json
14
+ name: log4r
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - ">="
@@ -39,65 +25,61 @@ dependencies:
39
25
  - !ruby/object:Gem::Version
40
26
  version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
- name: log4r
28
+ name: haipa_compute
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - ">="
46
32
  - !ruby/object:Gem::Version
47
- version: '0'
33
+ version: 0.0.2
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - ">="
53
39
  - !ruby/object:Gem::Version
54
- version: '0'
40
+ version: 0.0.2
55
41
  description: Enables Vagrant to manage Hyper-V with Haipa
56
42
  email:
57
- - info@contiva.com
43
+ - package-maintainers@haipa.io
58
44
  executables: []
59
45
  extensions: []
60
46
  extra_rdoc_files: []
61
47
  files:
48
+ - ".editorconfig"
62
49
  - ".gitignore"
50
+ - ".rspec_status"
63
51
  - ".vscode/launch.json"
64
52
  - Gemfile
53
+ - Gemfile.lock
65
54
  - LICENSE
66
- - README.md
67
55
  - Rakefile
68
56
  - box/haipa.box
69
57
  - box/metadata.json
70
58
  - lib/vagrant-haipa.rb
71
- - lib/vagrant-haipa/actions.rb
72
- - lib/vagrant-haipa/actions/check_state.rb
73
- - lib/vagrant-haipa/actions/connect_haipa.rb
74
- - lib/vagrant-haipa/actions/create_machine.rb
75
- - lib/vagrant-haipa/actions/delete_machine.rb
76
- - lib/vagrant-haipa/actions/is_created.rb
77
- - lib/vagrant-haipa/actions/is_stopped.rb
78
- - lib/vagrant-haipa/actions/message_already_created.rb
79
- - lib/vagrant-haipa/actions/message_not_created.rb
80
- - lib/vagrant-haipa/actions/message_will_not_destroy.rb
81
- - lib/vagrant-haipa/actions/modify_provision_path.rb
82
- - lib/vagrant-haipa/actions/set_name.rb
83
- - lib/vagrant-haipa/actions/shut_down.rb
84
- - lib/vagrant-haipa/actions/start_machine.rb
85
- - lib/vagrant-haipa/actions/stop_machine.rb
86
- - lib/vagrant-haipa/actions/wait_for_ip_address.rb
59
+ - lib/vagrant-haipa/action.rb
60
+ - lib/vagrant-haipa/action/converge_machine.rb
61
+ - lib/vagrant-haipa/action/delete_machine.rb
62
+ - lib/vagrant-haipa/action/is_created.rb
63
+ - lib/vagrant-haipa/action/is_running.rb
64
+ - lib/vagrant-haipa/action/message_already_created.rb
65
+ - lib/vagrant-haipa/action/message_not_created.rb
66
+ - lib/vagrant-haipa/action/message_will_not_destroy.rb
67
+ - lib/vagrant-haipa/action/read_state.rb
68
+ - lib/vagrant-haipa/action/set_name.rb
69
+ - lib/vagrant-haipa/action/start_machine.rb
70
+ - lib/vagrant-haipa/action/stop_machine.rb
71
+ - lib/vagrant-haipa/action/wait_for_ip_address.rb
87
72
  - lib/vagrant-haipa/config.rb
73
+ - lib/vagrant-haipa/driver.rb
88
74
  - lib/vagrant-haipa/errors.rb
89
- - lib/vagrant-haipa/helpers/client.rb
90
- - lib/vagrant-haipa/helpers/result.rb
91
75
  - lib/vagrant-haipa/plugin.rb
92
76
  - lib/vagrant-haipa/provider.rb
93
77
  - lib/vagrant-haipa/version.rb
94
78
  - locales/en.yml
79
+ - spec/spec_helper.rb
80
+ - spec/unit/provider_spec.rb
95
81
  - test/Vagrantfile
96
- - test/cookbooks/test/recipes/default.rb
97
- - test/scripts/provision.sh
98
- - test/test.sh
99
- - test/test_id_rsa
100
- - test/test_id_rsa.pub
82
+ - test/console.key
101
83
  - vagrant
102
84
  - vagrant-haipa.gemspec
103
85
  homepage:
@@ -118,15 +100,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
100
  - !ruby/object:Gem::Version
119
101
  version: '0'
120
102
  requirements: []
121
- rubyforge_project:
122
- rubygems_version: 2.7.6
103
+ rubygems_version: 3.0.3
123
104
  signing_key:
124
105
  specification_version: 4
125
106
  summary: Enables Vagrant to manage Hyper-V with Haipa
126
107
  test_files:
108
+ - spec/spec_helper.rb
109
+ - spec/unit/provider_spec.rb
127
110
  - test/Vagrantfile
128
- - test/cookbooks/test/recipes/default.rb
129
- - test/scripts/provision.sh
130
- - test/test.sh
131
- - test/test_id_rsa
132
- - test/test_id_rsa.pub
111
+ - test/console.key