vagrant-hosts 2.8.0 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.travis.yml +14 -8
 - data/CHANGELOG +24 -0
 - data/Gemfile +20 -7
 - data/lib/vagrant-hosts/action/version_check.rb +25 -0
 - data/lib/vagrant-hosts/addresses.rb +36 -7
 - data/lib/vagrant-hosts/plugin.rb +8 -2
 - data/lib/vagrant-hosts/version.rb +1 -1
 - data/spec/spec_helper.rb +1 -0
 - data/spec/unit/addresses_spec.rb +21 -0
 - data/templates/locales/en.yml +18 -1
 - data/vagrant-hosts.gemspec +3 -3
 - metadata +10 -6
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: b3e9f58247879332b3031dceff8009a6e305642a
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: fdc56fdde18bceb36882a38c6a2511c238399806
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 7ed4b370ea69eb8192194357ccfd5dd2d8ff62faf8fa8e1683c53ba15aabfa4870d77d7635c36b110b728810318b6ebc8e248404153b9ade8b6684c8c063fbc0
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 2250d47993c1bb57f64b6b8427a22b5e231835f8167454fc0c0b753f9f03c7c898257155b7d91622222c9010061e20bae35968f75ba03201f9f18c10ede06c28
         
     | 
    
        data/.travis.yml
    CHANGED
    
    | 
         @@ -2,6 +2,12 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            language: ruby
         
     | 
| 
       3 
3 
     | 
    
         
             
            sudo: false
         
     | 
| 
       4 
4 
     | 
    
         
             
            before_install:
         
     | 
| 
      
 5 
     | 
    
         
            +
              # TODO: Remove along with all BUNDLER_VERSION hackery once support for
         
     | 
| 
      
 6 
     | 
    
         
            +
              # Vagrant < 1.9 is dropped.
         
     | 
| 
      
 7 
     | 
    
         
            +
              #
         
     | 
| 
      
 8 
     | 
    
         
            +
              # Travis has taken to installing Bundler as a "default" gem which locks
         
     | 
| 
      
 9 
     | 
    
         
            +
              # it down and makes it extremely frustrating to use a different version.
         
     | 
| 
      
 10 
     | 
    
         
            +
              - "find /home/travis/.rvm/rubies -wholename '*default/bundler-*.gemspec' -delete"
         
     | 
| 
       5 
11 
     | 
    
         
             
              - gem install bundler --version $BUNDLER_VERSION
         
     | 
| 
       6 
12 
     | 
    
         
             
            install: bundle _${BUNDLER_VERSION}_ install --without development
         
     | 
| 
       7 
13 
     | 
    
         
             
            script: bundle _${BUNDLER_VERSION}_ exec rspec --color --format documentation
         
     | 
| 
         @@ -14,13 +20,13 @@ env: 
     | 
|
| 
       14 
20 
     | 
    
         | 
| 
       15 
21 
     | 
    
         
             
            matrix:
         
     | 
| 
       16 
22 
     | 
    
         
             
              include:
         
     | 
| 
       17 
     | 
    
         
            -
                - rvm: 2.0.0
         
     | 
| 
       18 
     | 
    
         
            -
                  env: TEST_VAGRANT_VERSION=v1.6.5 BUNDLER_VERSION=1.6.9
         
     | 
| 
       19 
23 
     | 
    
         
             
                - rvm: 2.0.0
         
     | 
| 
       20 
24 
     | 
    
         
             
                  env: TEST_VAGRANT_VERSION=v1.7.4 BUNDLER_VERSION=1.10.5
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
      
 25 
     | 
    
         
            +
                - rvm: 2.2.5
         
     | 
| 
      
 26 
     | 
    
         
            +
                  env: TEST_VAGRANT_VERSION=v1.8.7 BUNDLER_VERSION=1.12.5
         
     | 
| 
      
 27 
     | 
    
         
            +
                - rvm: 2.3.4
         
     | 
| 
      
 28 
     | 
    
         
            +
                  env: TEST_VAGRANT_VERSION=v1.9.8 BUNDLER_VERSION=1.16.1
         
     | 
| 
      
 29 
     | 
    
         
            +
                - rvm: 2.4.4
         
     | 
| 
      
 30 
     | 
    
         
            +
                  env: TEST_VAGRANT_VERSION=v2.0.4 BUNDLER_VERSION=1.16.1
         
     | 
| 
      
 31 
     | 
    
         
            +
                - rvm: 2.4.4
         
     | 
| 
      
 32 
     | 
    
         
            +
                  env: TEST_VAGRANT_VERSION=HEAD BUNDLER_VERSION=1.16.1
         
     | 
    
        data/CHANGELOG
    CHANGED
    
    | 
         @@ -1,6 +1,30 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            CHANGELOG
         
     | 
| 
       2 
2 
     | 
    
         
             
            =========
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
      
 4 
     | 
    
         
            +
            2.8.1
         
     | 
| 
      
 5 
     | 
    
         
            +
            -----
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            2018-05-02
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            This is a backwards compatible bugfix release.
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              * Added test coverage for Vagrant 1.9 and 2.0
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              * Deprecated support for vagrant versions earlier than 1.8. These will be
         
     | 
| 
      
 14 
     | 
    
         
            +
                removed in the next major release.
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              * Hostnames are now resolved to IP addresses using the Addrinfo library
         
     | 
| 
      
 17 
     | 
    
         
            +
                which wraps the system resolver. Previously the Resolv library was used
         
     | 
| 
      
 18 
     | 
    
         
            +
                which is a pure-Ruby DNS resolver that did not pick up system-specific
         
     | 
| 
      
 19 
     | 
    
         
            +
                configuration or behavior.
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
              * Host synchronization is supported for FreeBSD, thanks to Brian Shumate.
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              * Errors that occur during host sync are now trapped and logged. This
         
     | 
| 
      
 24 
     | 
    
         
            +
                means that an unreachable host will no longer block other operations
         
     | 
| 
      
 25 
     | 
    
         
            +
                like `vagrant destroy`.
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
       4 
28 
     | 
    
         
             
            2.8.0
         
     | 
| 
       5 
29 
     | 
    
         
             
            -----
         
     | 
| 
       6 
30 
     | 
    
         | 
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -1,6 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            source 'https://rubygems.org'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'rubygems/version'
         
     | 
| 
       2 
3 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            ENV['TEST_VAGRANT_VERSION']  
     | 
| 
      
 4 
     | 
    
         
            +
            vagrant_branch = ENV['TEST_VAGRANT_VERSION'] || 'v2.0.4'
         
     | 
| 
      
 5 
     | 
    
         
            +
            vagrant_version = nil
         
     | 
| 
       4 
6 
     | 
    
         | 
| 
       5 
7 
     | 
    
         
             
            # Wrapping gemspec in the :plugins group causes Vagrant 1.5 and newer to
         
     | 
| 
       6 
8 
     | 
    
         
             
            # automagically load this plugin during acceptance tests.
         
     | 
| 
         @@ -9,19 +11,30 @@ group :plugins do 
     | 
|
| 
       9 
11 
     | 
    
         
             
            end
         
     | 
| 
       10 
12 
     | 
    
         | 
| 
       11 
13 
     | 
    
         
             
            group :development do
         
     | 
| 
       12 
     | 
    
         
            -
              gem 'yard', '~> 0. 
     | 
| 
      
 14 
     | 
    
         
            +
              gem 'yard', '~> 0.9.11'
         
     | 
| 
       13 
15 
     | 
    
         
             
              gem 'redcarpet'
         
     | 
| 
       14 
16 
     | 
    
         
             
            end
         
     | 
| 
       15 
17 
     | 
    
         | 
| 
       16 
18 
     | 
    
         
             
            group :test do
         
     | 
| 
       17 
     | 
    
         
            -
               
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
      
 19 
     | 
    
         
            +
              case vagrant_branch
         
     | 
| 
      
 20 
     | 
    
         
            +
              when /head/i
         
     | 
| 
      
 21 
     | 
    
         
            +
                gem 'vagrant', :git => 'https://github.com/hashicorp/vagrant.git',
         
     | 
| 
      
 22 
     | 
    
         
            +
                  :branch => 'master'
         
     | 
| 
       19 
23 
     | 
    
         
             
              else
         
     | 
| 
       20 
     | 
    
         
            -
                 
     | 
| 
      
 24 
     | 
    
         
            +
                vagrant_version = Gem::Version.new(vagrant_branch.sub(/^v/, ''))
         
     | 
| 
      
 25 
     | 
    
         
            +
                gem 'vagrant', :git => 'https://github.com/hashicorp/vagrant.git',
         
     | 
| 
      
 26 
     | 
    
         
            +
                  :tag => vagrant_branch
         
     | 
| 
       21 
27 
     | 
    
         
             
              end
         
     | 
| 
       22 
28 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
               
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
      
 29 
     | 
    
         
            +
              if vagrant_branch.match(/head/i) || (vagrant_version > Gem::Version.new('1.9.3'))
         
     | 
| 
      
 30 
     | 
    
         
            +
                # Pinned on 4/11/2017. Compatible with Vagrant > 1.9.3.
         
     | 
| 
      
 31 
     | 
    
         
            +
                gem 'vagrant-spec', :git => 'https://github.com/hashicorp/vagrant-spec.git',
         
     | 
| 
      
 32 
     | 
    
         
            +
                  :ref => '1d09951'
         
     | 
| 
      
 33 
     | 
    
         
            +
              elsif vagrant_version
         
     | 
| 
      
 34 
     | 
    
         
            +
                # Pinned on 12/10/2014. Compatible with Vagrant 1.6.x -- 1.9.3.
         
     | 
| 
      
 35 
     | 
    
         
            +
                gem 'vagrant-spec', :git => 'https://github.com/hashicorp/vagrant-spec.git',
         
     | 
| 
      
 36 
     | 
    
         
            +
                  :ref => '1df5a3a'
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
       25 
38 
     | 
    
         
             
            end
         
     | 
| 
       26 
39 
     | 
    
         | 
| 
       27 
40 
     | 
    
         
             
            eval_gemfile "#{__FILE__}.local" if File.exists? "#{__FILE__}.local"
         
     | 
| 
         @@ -0,0 +1,25 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'vagrant/version'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'rubygems/version'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            # Check for deprecated Vagrant versions
         
     | 
| 
      
 5 
     | 
    
         
            +
            module VagrantHosts::Action
         
     | 
| 
      
 6 
     | 
    
         
            +
              class VersionCheck
         
     | 
| 
      
 7 
     | 
    
         
            +
                MINIMUM_VERSION = '1.8.0'
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                def initialize(app, env)
         
     | 
| 
      
 10 
     | 
    
         
            +
                  @app = app
         
     | 
| 
      
 11 
     | 
    
         
            +
                end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                def call(env)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  unless Gem::Version.new(Vagrant::VERSION) > Gem::Version.new(MINIMUM_VERSION)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    env[:env].ui.warn I18n.t(
         
     | 
| 
      
 16 
     | 
    
         
            +
                      'vagrant_hosts.action.version_check.deprecated_vagrant_version',
         
     | 
| 
      
 17 
     | 
    
         
            +
                      minimum_version: MINIMUM_VERSION,
         
     | 
| 
      
 18 
     | 
    
         
            +
                      vagrant_version: Vagrant::VERSION
         
     | 
| 
      
 19 
     | 
    
         
            +
                    )
         
     | 
| 
      
 20 
     | 
    
         
            +
                  end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                  @app.call(env)
         
     | 
| 
      
 23 
     | 
    
         
            +
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
              end
         
     | 
| 
      
 25 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,5 +1,7 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'resolv'
         
     | 
| 
       2 
1 
     | 
    
         
             
            require 'ipaddr'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'socket' # For Addrinfo
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            require 'vagrant/errors'
         
     | 
| 
       3 
5 
     | 
    
         | 
| 
       4 
6 
     | 
    
         
             
            module VagrantHosts::Addresses
         
     | 
| 
       5 
7 
     | 
    
         | 
| 
         @@ -11,6 +13,10 @@ module VagrantHosts::Addresses 
     | 
|
| 
       11 
13 
     | 
    
         
             
              # @since 2.7.0
         
     | 
| 
       12 
14 
     | 
    
         
             
              CACHE ||= {}
         
     | 
| 
       13 
15 
     | 
    
         | 
| 
      
 16 
     | 
    
         
            +
              class UnresolvableHostname < ::Vagrant::Errors::VagrantError
         
     | 
| 
      
 17 
     | 
    
         
            +
                error_key(:unresolvable_hostname, 'vagrant_hosts.errors')
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
       14 
20 
     | 
    
         
             
              private
         
     | 
| 
       15 
21 
     | 
    
         | 
| 
       16 
22 
     | 
    
         
             
              def all_hosts(config)
         
     | 
| 
         @@ -92,7 +98,16 @@ module VagrantHosts::Addresses 
     | 
|
| 
       92 
98 
     | 
    
         
             
                  host_provisioners(m).each do |p|
         
     | 
| 
       93 
99 
     | 
    
         
             
                    imports.each do |k|
         
     | 
| 
       94 
100 
     | 
    
         
             
                      next unless p.config.exports.has_key?(k)
         
     | 
| 
       95 
     | 
    
         
            -
                       
     | 
| 
      
 101 
     | 
    
         
            +
                      begin
         
     | 
| 
      
 102 
     | 
    
         
            +
                        hosts.concat resolve_host_entries(p.config.exports[k], m)
         
     | 
| 
      
 103 
     | 
    
         
            +
                      rescue Vagrant::Errors::VagrantError => e
         
     | 
| 
      
 104 
     | 
    
         
            +
                        machine.ui.error I18n.t(
         
     | 
| 
      
 105 
     | 
    
         
            +
                          'vagrant_hosts.errors.collection_failed',
         
     | 
| 
      
 106 
     | 
    
         
            +
                          :host   => m.name.to_s,
         
     | 
| 
      
 107 
     | 
    
         
            +
                          :error_class => e.class,
         
     | 
| 
      
 108 
     | 
    
         
            +
                          :message => e.message
         
     | 
| 
      
 109 
     | 
    
         
            +
                        )
         
     | 
| 
      
 110 
     | 
    
         
            +
                      end
         
     | 
| 
       96 
111 
     | 
    
         
             
                    end
         
     | 
| 
       97 
112 
     | 
    
         
             
                  end
         
     | 
| 
       98 
113 
     | 
    
         
             
                end
         
     | 
| 
         @@ -184,9 +199,8 @@ module VagrantHosts::Addresses 
     | 
|
| 
       184 
199 
     | 
    
         
             
              #
         
     | 
| 
       185 
200 
     | 
    
         
             
              # @param address [String] A string that might be an IP address or a hostname.
         
     | 
| 
       186 
201 
     | 
    
         
             
              #
         
     | 
| 
       187 
     | 
    
         
            -
              # @raise [ 
     | 
| 
       188 
     | 
    
         
            -
              #    
     | 
| 
       189 
     | 
    
         
            -
              # @raise [Resolv::ResolvError] When a hostname cannot be resolved to an IP.
         
     | 
| 
      
 202 
     | 
    
         
            +
              # @raise [VagrantHosts::Addresses::UnresolvableHostname] If `address` is a
         
     | 
| 
      
 203 
     | 
    
         
            +
              #   maformed IP address or unresolvable hostname.
         
     | 
| 
       190 
204 
     | 
    
         
             
              #
         
     | 
| 
       191 
205 
     | 
    
         
             
              # @return [IPAddr] An IP address.
         
     | 
| 
       192 
206 
     | 
    
         
             
              #
         
     | 
| 
         @@ -195,8 +209,23 @@ module VagrantHosts::Addresses 
     | 
|
| 
       195 
209 
     | 
    
         
             
                ip = begin
         
     | 
| 
       196 
210 
     | 
    
         
             
                  IPAddr.new(address)
         
     | 
| 
       197 
211 
     | 
    
         
             
                rescue IPAddr::InvalidAddressError
         
     | 
| 
       198 
     | 
    
         
            -
                   
     | 
| 
       199 
     | 
    
         
            -
             
     | 
| 
      
 212 
     | 
    
         
            +
                  nil
         
     | 
| 
      
 213 
     | 
    
         
            +
                end
         
     | 
| 
      
 214 
     | 
    
         
            +
             
     | 
| 
      
 215 
     | 
    
         
            +
                ip ||= begin
         
     | 
| 
      
 216 
     | 
    
         
            +
                  # Wasn't an IP address. Resolve it. The "@vagrant_ssh" returns a
         
     | 
| 
      
 217 
     | 
    
         
            +
                  # hostname instead of IP when the AWS provider is in use.
         
     | 
| 
      
 218 
     | 
    
         
            +
                  #
         
     | 
| 
      
 219 
     | 
    
         
            +
                  # NOTE: Name resolution is done using Ruby's Addrinfo instead of Resolv
         
     | 
| 
      
 220 
     | 
    
         
            +
                  # as Addrinfo always uses the system resolver library and thus picks up
         
     | 
| 
      
 221 
     | 
    
         
            +
                  # platform-specific behavior such as the OS X /etc/resolver/ directory.
         
     | 
| 
      
 222 
     | 
    
         
            +
                  IPAddr.new(Addrinfo.ip(address).ip_address)
         
     | 
| 
      
 223 
     | 
    
         
            +
                rescue IPAddr::InvalidAddressError, SocketError
         
     | 
| 
      
 224 
     | 
    
         
            +
                  nil
         
     | 
| 
      
 225 
     | 
    
         
            +
                end
         
     | 
| 
      
 226 
     | 
    
         
            +
             
     | 
| 
      
 227 
     | 
    
         
            +
                if ip.nil?
         
     | 
| 
      
 228 
     | 
    
         
            +
                  raise UnresolvableHostname, address: address
         
     | 
| 
       200 
229 
     | 
    
         
             
                end
         
     | 
| 
       201 
230 
     | 
    
         | 
| 
       202 
231 
     | 
    
         
             
                ip
         
     | 
    
        data/lib/vagrant-hosts/plugin.rb
    CHANGED
    
    | 
         @@ -22,7 +22,7 @@ class VagrantHosts::Plugin < Vagrant.plugin(2) 
     | 
|
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
              # Guest capabilities for vagrant-hosts
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
              [:darwin, :linux, :solaris, :solaris11].each do |os|
         
     | 
| 
      
 25 
     | 
    
         
            +
              [:darwin, :freebsd, :linux, :solaris, :solaris11].each do |os|
         
     | 
| 
       26 
26 
     | 
    
         
             
                guest_capability(os, 'sync_hosts') do
         
     | 
| 
       27 
27 
     | 
    
         
             
                  require_relative 'cap'
         
     | 
| 
       28 
28 
     | 
    
         
             
                  VagrantHosts::Cap::SyncHosts::POSIX
         
     | 
| 
         @@ -35,7 +35,7 @@ class VagrantHosts::Plugin < Vagrant.plugin(2) 
     | 
|
| 
       35 
35 
     | 
    
         
             
              end
         
     | 
| 
       36 
36 
     | 
    
         | 
| 
       37 
37 
     | 
    
         | 
| 
       38 
     | 
    
         
            -
              [:darwin, :linux, :solaris, :solaris11].each do |os|
         
     | 
| 
      
 38 
     | 
    
         
            +
              [:darwin, :freebsd, :linux, :solaris, :solaris11].each do |os|
         
     | 
| 
       39 
39 
     | 
    
         
             
                guest_capability(os, 'network_facts') do
         
     | 
| 
       40 
40 
     | 
    
         
             
                  require_relative 'cap'
         
     | 
| 
       41 
41 
     | 
    
         
             
                  VagrantHosts::Cap::Facts::POSIX
         
     | 
| 
         @@ -52,6 +52,12 @@ class VagrantHosts::Plugin < Vagrant.plugin(2) 
     | 
|
| 
       52 
52 
     | 
    
         
             
                VagrantHosts::Command
         
     | 
| 
       53 
53 
     | 
    
         
             
              end
         
     | 
| 
       54 
54 
     | 
    
         | 
| 
      
 55 
     | 
    
         
            +
              # Internal action hooks
         
     | 
| 
      
 56 
     | 
    
         
            +
              action_hook('Vagrant Hosts: vagrant version check', :environment_load) do |hook|
         
     | 
| 
      
 57 
     | 
    
         
            +
                require 'vagrant-hosts/action/version_check'
         
     | 
| 
      
 58 
     | 
    
         
            +
                hook.prepend VagrantHosts::Action::VersionCheck
         
     | 
| 
      
 59 
     | 
    
         
            +
              end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
       55 
61 
     | 
    
         
             
              # ConfigBuilder tie-ins
         
     | 
| 
       56 
62 
     | 
    
         | 
| 
       57 
63 
     | 
    
         
             
              def self.config_builder_hook
         
     | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | 
         @@ -3,6 +3,7 @@ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__) 
     | 
|
| 
       3 
3 
     | 
    
         
             
            # Disable Vagrant autoloading so that other plugins defined in the Gemfile for
         
     | 
| 
       4 
4 
     | 
    
         
             
            # Acceptance tests are not loaded.
         
     | 
| 
       5 
5 
     | 
    
         
             
            ENV['VAGRANT_NO_PLUGINS'] = '1'
         
     | 
| 
      
 6 
     | 
    
         
            +
            ENV['VAGRANT_DISABLE_PLUGIN_INIT'] = '1'
         
     | 
| 
       6 
7 
     | 
    
         | 
| 
       7 
8 
     | 
    
         
             
            # Load the vagrant-hosts plugin so that Provisioners and such can be found.
         
     | 
| 
       8 
9 
     | 
    
         
             
            require 'vagrant-hosts'
         
     | 
| 
         @@ -0,0 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require 'vagrant-hosts/addresses'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            describe 'VagrantHosts::Addresses' do
         
     | 
| 
      
 6 
     | 
    
         
            +
              subject do
         
     | 
| 
      
 7 
     | 
    
         
            +
                # A simple class which simulates inclusion of VagrantHosts::Addresses
         
     | 
| 
      
 8 
     | 
    
         
            +
                Class.new do
         
     | 
| 
      
 9 
     | 
    
         
            +
                  include VagrantHosts::Addresses
         
     | 
| 
      
 10 
     | 
    
         
            +
                  # Expose private methods included above for testing.
         
     | 
| 
      
 11 
     | 
    
         
            +
                  public *self.private_instance_methods
         
     | 
| 
      
 12 
     | 
    
         
            +
                end.new
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              describe '#resolve_ip' do
         
     | 
| 
      
 16 
     | 
    
         
            +
                it 'raises an error when passed an unresolvable hostname' do
         
     | 
| 
      
 17 
     | 
    
         
            +
                  expect{ subject.resolve_ip('somewhere.bogusdomain') }.to \
         
     | 
| 
      
 18 
     | 
    
         
            +
                    raise_error(VagrantHosts::Addresses::UnresolvableHostname, /somewhere.bogusdomain/)
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
      
 21 
     | 
    
         
            +
            end
         
     | 
    
        data/templates/locales/en.yml
    CHANGED
    
    | 
         @@ -1,3 +1,20 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            en:
         
     | 
| 
       3 
     | 
    
         
            -
              vagrant_hosts: 
     | 
| 
      
 3 
     | 
    
         
            +
              vagrant_hosts:
         
     | 
| 
      
 4 
     | 
    
         
            +
                action:
         
     | 
| 
      
 5 
     | 
    
         
            +
                  version_check:
         
     | 
| 
      
 6 
     | 
    
         
            +
                    deprecated_vagrant_version: |-
         
     | 
| 
      
 7 
     | 
    
         
            +
                      The vagrant-hosts plugin has deprecated support for Vagrant
         
     | 
| 
      
 8 
     | 
    
         
            +
                      versions older than %{minimum_version}. Support for version %{vagrant_version}
         
     | 
| 
      
 9 
     | 
    
         
            +
                      will be removed in the next major release of the plugin.
         
     | 
| 
      
 10 
     | 
    
         
            +
                errors:
         
     | 
| 
      
 11 
     | 
    
         
            +
                  unresolvable_hostname: |-
         
     | 
| 
      
 12 
     | 
    
         
            +
                    The hostname, %{address}, was not a valid IP address or resolvable hostname.
         
     | 
| 
      
 13 
     | 
    
         
            +
                  collection_failed: |-
         
     | 
| 
      
 14 
     | 
    
         
            +
                    An error of type %{error_class} occurred while collecting
         
     | 
| 
      
 15 
     | 
    
         
            +
                    host info from %{host}:
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                    %{message}
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                    If this was caused by a transient condition, then the next
         
     | 
| 
      
 20 
     | 
    
         
            +
                    sync should succeed.
         
     | 
    
        data/vagrant-hosts.gemspec
    CHANGED
    
    | 
         @@ -12,9 +12,9 @@ Gem::Specification.new do |gem| 
     | 
|
| 
       12 
12 
     | 
    
         
             
                Manage static DNS entries and configuration for Vagrant guests.
         
     | 
| 
       13 
13 
     | 
    
         
             
              EOD
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
              gem.authors  = 'Adrien Thebo'
         
     | 
| 
       16 
     | 
    
         
            -
              gem.email    = 'adrien@somethingsinistral.net'
         
     | 
| 
       17 
     | 
    
         
            -
              gem.homepage = 'https://github.com/ 
     | 
| 
      
 15 
     | 
    
         
            +
              gem.authors  = ['Adrien Thebo', 'Charlie Sharpsteen']
         
     | 
| 
      
 16 
     | 
    
         
            +
              gem.email    = ['adrien@somethingsinistral.net', 'source@sharpsteen.net']
         
     | 
| 
      
 17 
     | 
    
         
            +
              gem.homepage = 'https://github.com/oscar-stack/vagrant-hosts'
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
              gem.has_rdoc = true
         
     | 
| 
       20 
20 
     | 
    
         
             
              gem.license  = 'Apache 2.0'
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,15 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: vagrant-hosts
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2.8. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.8.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Adrien Thebo
         
     | 
| 
      
 8 
     | 
    
         
            +
            - Charlie Sharpsteen
         
     | 
| 
       8 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2018-05-02 00:00:00.000000000 Z
         
     | 
| 
       12 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
15 
     | 
    
         
             
              name: rake
         
     | 
| 
         @@ -40,7 +41,9 @@ dependencies: 
     | 
|
| 
       40 
41 
     | 
    
         
             
                    version: 2.14.0
         
     | 
| 
       41 
42 
     | 
    
         
             
            description: |2
         
     | 
| 
       42 
43 
     | 
    
         
             
                  Manage static DNS entries and configuration for Vagrant guests.
         
     | 
| 
       43 
     | 
    
         
            -
            email: 
     | 
| 
      
 44 
     | 
    
         
            +
            email:
         
     | 
| 
      
 45 
     | 
    
         
            +
            - adrien@somethingsinistral.net
         
     | 
| 
      
 46 
     | 
    
         
            +
            - source@sharpsteen.net
         
     | 
| 
       44 
47 
     | 
    
         
             
            executables: []
         
     | 
| 
       45 
48 
     | 
    
         
             
            extensions: []
         
     | 
| 
       46 
49 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
         @@ -55,6 +58,7 @@ files: 
     | 
|
| 
       55 
58 
     | 
    
         
             
            - README.markdown
         
     | 
| 
       56 
59 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       57 
60 
     | 
    
         
             
            - lib/vagrant-hosts.rb
         
     | 
| 
      
 61 
     | 
    
         
            +
            - lib/vagrant-hosts/action/version_check.rb
         
     | 
| 
       58 
62 
     | 
    
         
             
            - lib/vagrant-hosts/addresses.rb
         
     | 
| 
       59 
63 
     | 
    
         
             
            - lib/vagrant-hosts/cap.rb
         
     | 
| 
       60 
64 
     | 
    
         
             
            - lib/vagrant-hosts/cap/facts/base.rb
         
     | 
| 
         @@ -76,11 +80,12 @@ files: 
     | 
|
| 
       76 
80 
     | 
    
         
             
            - lib/vagrant-hosts/version.rb
         
     | 
| 
       77 
81 
     | 
    
         
             
            - spec/integration/addresses_spec.rb
         
     | 
| 
       78 
82 
     | 
    
         
             
            - spec/spec_helper.rb
         
     | 
| 
      
 83 
     | 
    
         
            +
            - spec/unit/addresses_spec.rb
         
     | 
| 
       79 
84 
     | 
    
         
             
            - spec/unit/config_spec.rb
         
     | 
| 
       80 
85 
     | 
    
         
             
            - tasks/spec.rake
         
     | 
| 
       81 
86 
     | 
    
         
             
            - templates/locales/en.yml
         
     | 
| 
       82 
87 
     | 
    
         
             
            - vagrant-hosts.gemspec
         
     | 
| 
       83 
     | 
    
         
            -
            homepage: https://github.com/ 
     | 
| 
      
 88 
     | 
    
         
            +
            homepage: https://github.com/oscar-stack/vagrant-hosts
         
     | 
| 
       84 
89 
     | 
    
         
             
            licenses:
         
     | 
| 
       85 
90 
     | 
    
         
             
            - Apache 2.0
         
     | 
| 
       86 
91 
     | 
    
         
             
            metadata: {}
         
     | 
| 
         @@ -100,9 +105,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       100 
105 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       101 
106 
     | 
    
         
             
            requirements: []
         
     | 
| 
       102 
107 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       103 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 108 
     | 
    
         
            +
            rubygems_version: 2.6.13
         
     | 
| 
       104 
109 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       105 
110 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       106 
111 
     | 
    
         
             
            summary: Manage static DNS on vagrant guests
         
     | 
| 
       107 
112 
     | 
    
         
             
            test_files: []
         
     | 
| 
       108 
     | 
    
         
            -
            has_rdoc: true
         
     |