vagrant-alpine 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7b77360cdf5d0e0e945e11d866c7073f752fb463
4
- data.tar.gz: b09281278ca8975edfbed0d1c9b25449479b03d5
3
+ metadata.gz: 6d14a610a33c058c4a2b9d2562da0c44d77d6da7
4
+ data.tar.gz: 8a29b732ac12fe585d4126a0bb0779673eacad40
5
5
  SHA512:
6
- metadata.gz: f664e85353ae6a736411c818d0fa8a8dfdc602dbce5e07f3d2ae4da1cb2ccc063852b05298732a94937f5c60f0184fc0a0753179cb9e7c3cb0dd41f905d15c77
7
- data.tar.gz: 349b72d2eafa633b979b5bb4f48c88e3312abdea6895fe9119e8553bb85f521f31c2d265257f8614e00982b37cc5f7aed720f20b59adb1b5bbb4413c8c3e7925
6
+ metadata.gz: 0fcc00f9947f877ba5477700d04834f4e0b756b5a4d6c43bebbe343875de0515a0576664212287c48dfdf75370b0e304c93b1ba75c2925c7707a673fd827c800
7
+ data.tar.gz: 8bb43f67931aa0f35fafa96b47867712ed5c843c99dc4a4bf263d2256715ab0cc906ba27a9821bf28827da917db2557dd9aaa901043c1563b09aad3231fc3bb7
data/.gitignore CHANGED
@@ -11,4 +11,5 @@ Vagrantfile
11
11
  .vagrant
12
12
  TODO.md
13
13
  NOTES.md
14
+ *.gem
14
15
 
@@ -1,4 +1,6 @@
1
+ Style/IndentationWidth:
2
+ Width: 4
1
3
  Metrics/LineLength:
2
- Enabled: false
4
+ Enabled: false
3
5
  Documentation:
4
- Enabled: false
6
+ Enabled: false
@@ -1 +1 @@
1
- ruby-2.2.0
1
+ ruby-2.2.5
@@ -1,12 +1,12 @@
1
1
  language: ruby
2
- #before_install:
2
+ before_install:
3
+ - gem uninstall bundler --all --executables
4
+ - gem install bundler --version '~> 1.7.0'
3
5
  # - sudo apt-get update -qq
4
6
  # - sudo apt-get install -qq -y bsdtar
5
7
  # - rvm @global do gem uninstall bundler --all --executables
6
8
  # - gem uninstall bundler --all --executables
7
- # - gem install bundler --version '< 1.7.0'
8
- rvm:
9
- - 2.2.0
9
+ # - gem install bundler --version '~> 1.7.0'
10
10
  env:
11
11
  global:
12
12
  - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gemspec
3
+ # gemspec
4
4
 
5
5
  group :development do
6
6
  gem 'vagrant', git: 'https://github.com/mitchellh/vagrant.git'
@@ -11,7 +11,7 @@ group :plugins do
11
11
  end
12
12
 
13
13
  group :test do
14
- gem 'rake'
14
+ gem 'rake', '< 11.0'
15
+ gem 'rspec'
15
16
  gem 'rubocop'
16
17
  end
17
-
data/README.md CHANGED
@@ -16,6 +16,7 @@ This is a [Vagrant](http://vagrantup.com/) plugin adding support for [Alpine Lin
16
16
 
17
17
  ## Changes
18
18
 
19
+ * v0.3.0 - update to fix defunct alpine apk repository in maier/alpine-3.3* boxes so that nfs client will install correctly.
19
20
  * v0.2.0 - add `apk update` and `apk add --upgrade` to nfs client install
20
21
 
21
22
  ## Installation
@@ -31,14 +32,14 @@ $ vagrant init maier/alpine-3.3.1-x86_64
31
32
  $ vagrant up
32
33
  ```
33
34
 
34
- or
35
+ or
35
36
 
36
37
  ```sh
37
38
  $ vagrant init maier/alpine-3.2.3-x86_64
38
39
  $ vagrant up
39
40
  ```
40
41
 
41
- or
42
+ or
42
43
 
43
44
  ```sh
44
45
  $ vagrant init maier/alpine-3.1.3-x86_64
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'bundler/setup'
3
- require 'bundler/gem_helper'
3
+ require 'bundler/gem_helper'
4
4
  require 'rspec/core/rake_task'
5
5
 
6
6
  Bundler::GemHelper.install_tasks
@@ -1,16 +1,46 @@
1
1
  module VagrantPlugins
2
- module GuestAlpine
3
- module Cap
4
- class NFSClient
5
- def self.nfs_client_install(machine)
6
- machine.communicate.tap do |comm|
7
- comm.sudo('apk update')
8
- comm.sudo('apk add --upgrade nfs-utils')
9
- comm.sudo('rc-update add rpc.statd')
10
- comm.sudo('rc-service rpc.statd start')
11
- end
2
+ module GuestAlpine
3
+ module Cap
4
+ class NFSClient
5
+ def self.nfs_client_install(machine)
6
+ comm = machine.communicate
7
+ comm.sudo <<-EOS.gsub(/^\s+\|\s?/, '')
8
+ | # work around defunct repository in configuration
9
+ | # box: maier/apline-3.3
10
+ | repo_file="/etc/apk/repositories"
11
+ | if [ $(grep -c "repos.dfw.lax-noc.com" $repo_file) -ne 0 ]; then
12
+ | repo_file_bak="${repo_file}.orig"
13
+ | echo "updating repositories"
14
+ | cp $repo_file $repo_file_bak
15
+ | sed -e 's/repos.dfw.lax-noc.com/dl-cdn.alpinelinux.org/' $repo_file_bak > $repo_file
16
+ | fi
17
+ |
18
+ | echo "updating repository indices"
19
+ | apk update
20
+ | if [ $? -ne 0 ]; then
21
+ | exit 1
22
+ | fi
23
+ |
24
+ | echo "installing nfs-utils"
25
+ | apk add --upgrade nfs-utils
26
+ | if [ $? -ne 0 ]; then
27
+ | exit 1
28
+ | fi
29
+ |
30
+ | echo "installing rpc.statd"
31
+ | rc-update add rpc.statd
32
+ | if [ $? -ne 0 ]; then
33
+ | exit 1
34
+ | fi
35
+ |
36
+ | echo "starting rpc.statd service"
37
+ | rc-service rpc.statd start
38
+ | if [ $? -ne 0 ]; then
39
+ | exit 1
40
+ | fi
41
+ EOS
42
+ end
43
+ end
12
44
  end
13
- end
14
45
  end
15
- end
16
46
  end
@@ -1,6 +1,6 @@
1
1
  module VagrantPlugins
2
2
  # Alpine Linux guest gem + plugin version
3
3
  module GuestAlpine
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
6
6
  end
@@ -2,127 +2,127 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe 'VagrantPlugins::GuestAlpine::Cap::ChangeHostname' do
5
- let(:described_class) do
6
- VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:change_host_name)
7
- end
8
- let(:machine) { double('machine') }
9
- let(:communicator) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
10
- let(:old_hostname) { 'oldhostname.olddomain.tld' }
11
-
12
- before do
13
- allow(machine).to receive(:communicate).and_return(communicator)
14
- communicator.stub_command('hostname -f', stdout: old_hostname)
15
- end
16
-
17
- after do
18
- communicator.verify_expectations!
19
- end
20
-
21
- describe '.change_host_name' do
22
- it 'updates /etc/hostname on the machine' do
23
- communicator.expect_command("echo 'newhostname' > /etc/hostname")
24
- described_class.change_host_name(machine, 'newhostname.newdomain.tld')
5
+ let(:described_class) do
6
+ VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:change_host_name)
25
7
  end
8
+ let(:machine) { double('machine') }
9
+ let(:communicator) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
10
+ let(:old_hostname) { 'oldhostname.olddomain.tld' }
26
11
 
27
- it 'does nothing when the provided hostname is not different' do
28
- described_class.change_host_name(machine, 'oldhostname.olddomain.tld')
29
- expect(communicator.received_commands).to eq(['hostname -f'])
12
+ before do
13
+ allow(machine).to receive(:communicate).and_return(communicator)
14
+ communicator.stub_command('hostname -f', stdout: old_hostname)
30
15
  end
31
16
 
32
- it 'refreshes the hostname service with the hostname command' do
33
- communicator.expect_command('hostname -F /etc/hostname')
34
- described_class.change_host_name(machine, 'newhostname.newdomain.tld')
17
+ after do
18
+ communicator.verify_expectations!
35
19
  end
36
20
 
37
- it 'renews dhcp on the system with the new hostname' do
38
- communicator.expect_command('ifdown -a; ifup -a; ifup eth0')
39
- described_class.change_host_name(machine, 'newhostname.newdomain.tld')
40
- end
21
+ describe '.change_host_name' do
22
+ it 'updates /etc/hostname on the machine' do
23
+ communicator.expect_command("echo 'newhostname' > /etc/hostname")
24
+ described_class.change_host_name(machine, 'newhostname.newdomain.tld')
25
+ end
26
+
27
+ it 'does nothing when the provided hostname is not different' do
28
+ described_class.change_host_name(machine, 'oldhostname.olddomain.tld')
29
+ expect(communicator.received_commands).to eq(['hostname -f'])
30
+ end
31
+
32
+ it 'refreshes the hostname service with the hostname command' do
33
+ communicator.expect_command('hostname -F /etc/hostname')
34
+ described_class.change_host_name(machine, 'newhostname.newdomain.tld')
35
+ end
36
+
37
+ it 'renews dhcp on the system with the new hostname' do
38
+ communicator.expect_command('ifdown -a; ifup -a; ifup eth0')
39
+ described_class.change_host_name(machine, 'newhostname.newdomain.tld')
40
+ end
41
41
 
42
- describe 'flipping out the old hostname in /etc/hosts' do
43
- let(:sed_command) do
44
- # Here we run the change_host_name through and extract the recorded sed
45
- # command from the dummy communicator
46
- described_class.change_host_name(machine, 'newhostname.newdomain.tld')
47
- communicator.received_commands.find { |cmd| cmd =~ /^sed/ }
48
- end
49
-
50
- # Now we extract the regexp from that sed command so we can do some
51
- # verification on it
52
- let(:expression) { sed_command.sub(%r{^sed -ri '\(.*\)' /etc/hosts$}, "\1") }
53
- let(:search) { Regexp.new(expression.split('@')[1], Regexp::EXTENDED) }
54
- let(:replace) { expression.split('@')[2] }
55
-
56
- let(:grep_command) { "grep '#{old_hostname}' /etc/hosts" }
57
-
58
- before do
59
- communicator.stub_command(grep_command, exit_code: 0)
60
- end
61
-
62
- it 'works on an simple /etc/hosts file' do
63
- original_etc_hosts = <<-ETC_HOSTS.gsub(/^ */, '')
64
- 127.0.0.1 localhost
65
- 127.0.1.1 oldhostname.olddomain.tld oldhostname
66
- ETC_HOSTS
67
-
68
- modified_etc_hosts = original_etc_hosts.gsub(search, replace)
69
-
70
- expect(modified_etc_hosts).to eq <<-RESULT.gsub(/^ */, '')
71
- 127.0.0.1 localhost
72
- 127.0.1.1 newhostname.newdomain.tld newhostname
73
- RESULT
74
- end
75
-
76
- it 'does not modify lines which contain similar hostnames' do
77
- original_etc_hosts = <<-ETC_HOSTS.gsub(/^ */, '')
78
- 127.0.0.1 localhost
79
- 127.0.1.1 oldhostname.olddomain.tld oldhostname
80
- # common prefix, but different fqdn
81
- 192.168.12.34 oldhostname.olddomain.tld.different
82
- # different characters at the dot
83
- 192.168.34.56 oldhostname-olddomain.tld
84
- ETC_HOSTS
85
-
86
- modified_etc_hosts = original_etc_hosts.gsub(search, replace)
87
-
88
- expect(modified_etc_hosts).to eq <<-RESULT.gsub(/^ */, '')
89
- 127.0.0.1 localhost
90
- 127.0.1.1 newhostname.newdomain.tld newhostname
91
- # common prefix, but different fqdn
92
- 192.168.12.34 oldhostname.olddomain.tld.different
93
- # different characters at the dot
94
- 192.168.34.56 oldhostname-olddomain.tld
95
- RESULT
96
- end
97
-
98
- it "appends 127.0.1.1 if it isn't there" do
99
- communicator.stub_command(grep_command, exit_code: 1)
100
- described_class.change_host_name(machine, 'newhostname.newdomain.tld')
101
-
102
- sed = communicator.received_commands.find { |cmd| cmd =~ /^sed/ }
103
- expect(sed).to be_nil
104
-
105
- echo = communicator.received_commands.find { |cmd| cmd =~ /^echo/ }
106
- expect(echo).to_not be_nil
107
- end
108
-
109
- context 'when the old fqdn has a trailing dot' do
110
- let(:old_hostname) { 'oldhostname.withtrailing.dot.' }
111
-
112
- it 'modifies /etc/hosts properly' do
113
- original_etc_hosts = <<-ETC_HOSTS.gsub(/^ */, '')
114
- 127.0.0.1 localhost
115
- 127.0.1.1 oldhostname.withtrailing.dot. oldhostname
116
- ETC_HOSTS
117
-
118
- modified_etc_hosts = original_etc_hosts.gsub(search, replace)
119
-
120
- expect(modified_etc_hosts).to eq <<-RESULT.gsub(/^ */, '')
121
- 127.0.0.1 localhost
122
- 127.0.1.1 newhostname.newdomain.tld newhostname
123
- RESULT
42
+ describe 'flipping out the old hostname in /etc/hosts' do
43
+ let(:sed_command) do
44
+ # Here we run the change_host_name through and extract the recorded sed
45
+ # command from the dummy communicator
46
+ described_class.change_host_name(machine, 'newhostname.newdomain.tld')
47
+ communicator.received_commands.find { |cmd| cmd =~ /^sed/ }
48
+ end
49
+
50
+ # Now we extract the regexp from that sed command so we can do some
51
+ # verification on it
52
+ let(:expression) { sed_command.sub(%r{^sed -ri '\(.*\)' /etc/hosts$}, "\1") }
53
+ let(:search) { Regexp.new(expression.split('@')[1], Regexp::EXTENDED) }
54
+ let(:replace) { expression.split('@')[2] }
55
+
56
+ let(:grep_command) { "grep '#{old_hostname}' /etc/hosts" }
57
+
58
+ before do
59
+ communicator.stub_command(grep_command, exit_code: 0)
60
+ end
61
+
62
+ it 'works on an simple /etc/hosts file' do
63
+ original_etc_hosts = <<-ETC_HOSTS.gsub(/^ */, '')
64
+ 127.0.0.1 localhost
65
+ 127.0.1.1 oldhostname.olddomain.tld oldhostname
66
+ ETC_HOSTS
67
+
68
+ modified_etc_hosts = original_etc_hosts.gsub(search, replace)
69
+
70
+ expect(modified_etc_hosts).to eq <<-RESULT.gsub(/^ */, '')
71
+ 127.0.0.1 localhost
72
+ 127.0.1.1 newhostname.newdomain.tld newhostname
73
+ RESULT
74
+ end
75
+
76
+ it 'does not modify lines which contain similar hostnames' do
77
+ original_etc_hosts = <<-ETC_HOSTS.gsub(/^ */, '')
78
+ 127.0.0.1 localhost
79
+ 127.0.1.1 oldhostname.olddomain.tld oldhostname
80
+ # common prefix, but different fqdn
81
+ 192.168.12.34 oldhostname.olddomain.tld.different
82
+ # different characters at the dot
83
+ 192.168.34.56 oldhostname-olddomain.tld
84
+ ETC_HOSTS
85
+
86
+ modified_etc_hosts = original_etc_hosts.gsub(search, replace)
87
+
88
+ expect(modified_etc_hosts).to eq <<-RESULT.gsub(/^ */, '')
89
+ 127.0.0.1 localhost
90
+ 127.0.1.1 newhostname.newdomain.tld newhostname
91
+ # common prefix, but different fqdn
92
+ 192.168.12.34 oldhostname.olddomain.tld.different
93
+ # different characters at the dot
94
+ 192.168.34.56 oldhostname-olddomain.tld
95
+ RESULT
96
+ end
97
+
98
+ it "appends 127.0.1.1 if it isn't there" do
99
+ communicator.stub_command(grep_command, exit_code: 1)
100
+ described_class.change_host_name(machine, 'newhostname.newdomain.tld')
101
+
102
+ sed = communicator.received_commands.find { |cmd| cmd =~ /^sed/ }
103
+ expect(sed).to be_nil
104
+
105
+ echo = communicator.received_commands.find { |cmd| cmd =~ /^echo/ }
106
+ expect(echo).to_not be_nil
107
+ end
108
+
109
+ context 'when the old fqdn has a trailing dot' do
110
+ let(:old_hostname) { 'oldhostname.withtrailing.dot.' }
111
+
112
+ it 'modifies /etc/hosts properly' do
113
+ original_etc_hosts = <<-ETC_HOSTS.gsub(/^ */, '')
114
+ 127.0.0.1 localhost
115
+ 127.0.1.1 oldhostname.withtrailing.dot. oldhostname
116
+ ETC_HOSTS
117
+
118
+ modified_etc_hosts = original_etc_hosts.gsub(search, replace)
119
+
120
+ expect(modified_etc_hosts).to eq <<-RESULT.gsub(/^ */, '')
121
+ 127.0.0.1 localhost
122
+ 127.0.1.1 newhostname.newdomain.tld newhostname
123
+ RESULT
124
+ end
125
+ end
124
126
  end
125
- end
126
127
  end
127
- end
128
128
  end
@@ -2,39 +2,39 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe 'VagrantPlugins::GuestAlpine::Cap::ConfigureNetworks' do
5
- let(:described_class) do
6
- VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:configure_networks)
7
- end
8
- let(:machine) { double('machine') }
9
- let(:communicator) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
10
-
11
- before do
12
- allow(machine).to receive(:communicate).and_return(communicator)
13
- end
14
-
15
- after do
16
- communicator.verify_expectations!
17
- end
18
-
19
- it 'should configure networks' do
20
- networks = [
21
- { type: :static, ip: '192.168.10.10', netmask: '255.255.255.0', interface: 0, name: 'eth0' },
22
- { type: :dhcp, interface: 1, name: 'eth1' }
23
- ]
24
-
25
- communicator.should_receive(:sudo).with("sed -e '/^#VAGRANT-BEGIN/,$ d' /etc/network/interfaces > /tmp/vagrant-network-interfaces.pre")
26
- communicator.should_receive(:sudo).with("sed -ne '/^#VAGRANT-END/,$ p' /etc/network/interfaces | tail -n +2 > /tmp/vagrant-network-interfaces.post")
27
- communicator.should_receive(:sudo).with('/sbin/ifdown eth0 2> /dev/null')
28
- communicator.should_receive(:sudo).with('/sbin/ip addr flush dev eth0 2> /dev/null')
29
- communicator.should_receive(:sudo).with('/sbin/ifdown eth1 2> /dev/null')
30
- communicator.should_receive(:sudo).with('/sbin/ip addr flush dev eth1 2> /dev/null')
31
- communicator.should_receive(:sudo).with('cat /tmp/vagrant-network-interfaces.pre /tmp/vagrant-network-entry /tmp/vagrant-network-interfaces.post > /etc/network/interfaces')
32
- communicator.should_receive(:sudo).with('rm -f /tmp/vagrant-network-interfaces.pre /tmp/vagrant-network-entry /tmp/vagrant-network-interfaces.post')
33
- communicator.should_receive(:sudo).with('/sbin/ifup eth0')
34
- communicator.should_receive(:sudo).with('/sbin/ifup eth1')
35
-
36
- allow_message_expectations_on_nil
37
-
38
- described_class.configure_networks(machine, networks)
39
- end
5
+ let(:described_class) do
6
+ VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:configure_networks)
7
+ end
8
+ let(:machine) { double('machine') }
9
+ let(:communicator) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
10
+
11
+ before do
12
+ allow(machine).to receive(:communicate).and_return(communicator)
13
+ end
14
+
15
+ after do
16
+ communicator.verify_expectations!
17
+ end
18
+
19
+ it 'should configure networks' do
20
+ networks = [
21
+ { type: :static, ip: '192.168.10.10', netmask: '255.255.255.0', interface: 0, name: 'eth0' },
22
+ { type: :dhcp, interface: 1, name: 'eth1' }
23
+ ]
24
+
25
+ expect(communicator).to receive(:sudo).with("sed -e '/^#VAGRANT-BEGIN/,$ d' /etc/network/interfaces > /tmp/vagrant-network-interfaces.pre")
26
+ expect(communicator).to receive(:sudo).with("sed -ne '/^#VAGRANT-END/,$ p' /etc/network/interfaces | tail -n +2 > /tmp/vagrant-network-interfaces.post")
27
+ expect(communicator).to receive(:sudo).with('/sbin/ifdown eth0 2> /dev/null')
28
+ expect(communicator).to receive(:sudo).with('/sbin/ip addr flush dev eth0 2> /dev/null')
29
+ expect(communicator).to receive(:sudo).with('/sbin/ifdown eth1 2> /dev/null')
30
+ expect(communicator).to receive(:sudo).with('/sbin/ip addr flush dev eth1 2> /dev/null')
31
+ expect(communicator).to receive(:sudo).with('cat /tmp/vagrant-network-interfaces.pre /tmp/vagrant-network-entry /tmp/vagrant-network-interfaces.post > /etc/network/interfaces')
32
+ expect(communicator).to receive(:sudo).with('rm -f /tmp/vagrant-network-interfaces.pre /tmp/vagrant-network-entry /tmp/vagrant-network-interfaces.post')
33
+ expect(communicator).to receive(:sudo).with('/sbin/ifup eth0')
34
+ expect(communicator).to receive(:sudo).with('/sbin/ifup eth1')
35
+
36
+ allow_message_expectations_on_nil
37
+
38
+ described_class.configure_networks(machine, networks)
39
+ end
40
40
  end
@@ -2,23 +2,23 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe 'VagrantPlugins::GuestAlpine::Cap::Halt' do
5
- let(:described_class) do
6
- VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:halt)
7
- end
8
- let(:machine) { double('machine') }
9
- let(:communicator) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
5
+ let(:described_class) do
6
+ VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:halt)
7
+ end
8
+ let(:machine) { double('machine') }
9
+ let(:communicator) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
10
10
 
11
- before do
12
- allow(machine).to receive(:communicate).and_return(communicator)
13
- end
11
+ before do
12
+ allow(machine).to receive(:communicate).and_return(communicator)
13
+ end
14
14
 
15
- after do
16
- communicator.verify_expectations!
17
- end
15
+ after do
16
+ communicator.verify_expectations!
17
+ end
18
18
 
19
- it 'should halt guest' do
20
- communicator.should_receive(:sudo).with('poweroff')
21
- allow_message_expectations_on_nil
22
- described_class.halt(machine)
23
- end
19
+ it 'should halt guest' do
20
+ expect(communicator).to receive(:sudo).with('poweroff')
21
+ allow_message_expectations_on_nil
22
+ described_class.halt(machine)
23
+ end
24
24
  end
@@ -2,27 +2,59 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe 'VagrantPlugins::GuestAlpine::Cap::NFSClient' do
5
- let(:described_class) do
6
- VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:nfs_client_install)
7
- end
8
- let(:machine) { double('machine') }
9
- let(:communicator) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
5
+ let(:described_class) do
6
+ VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:nfs_client_install)
7
+ end
10
8
 
11
- before do
12
- allow(machine).to receive(:communicate).and_return(communicator)
13
- end
9
+ let(:machine) { double('machine') }
10
+ let(:communicator) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
14
11
 
15
- after do
16
- communicator.verify_expectations!
17
- end
12
+ before do
13
+ allow(machine).to receive(:communicate).and_return(communicator)
14
+ end
18
15
 
19
- it 'should install nfs client' do
20
- communicator.should_receive(:sudo).with('apk update')
21
- communicator.should_receive(:sudo).with('apk add --upgrade nfs-utils')
22
- communicator.should_receive(:sudo).with('rc-update add rpc.statd')
23
- communicator.should_receive(:sudo).with('rc-service rpc.statd start')
16
+ after do
17
+ communicator.verify_expectations!
18
+ end
24
19
 
25
- allow_message_expectations_on_nil
26
- described_class.nfs_client_install(machine)
27
- end
20
+ it 'should install nfs client' do
21
+ x = <<-EOS.gsub(/^\s+\|\s?/, '')
22
+ | # work around defunct repository in configuration
23
+ | # box: maier/apline-3.3
24
+ | repo_file="/etc/apk/repositories"
25
+ | if [ $(grep -c "repos.dfw.lax-noc.com" $repo_file) -ne 0 ]; then
26
+ | repo_file_bak="${repo_file}.orig"
27
+ | echo "updating repositories"
28
+ | cp $repo_file $repo_file_bak
29
+ | sed -e 's/repos.dfw.lax-noc.com/dl-cdn.alpinelinux.org/' $repo_file_bak > $repo_file
30
+ | fi
31
+ |
32
+ | echo "updating repository indices"
33
+ | apk update
34
+ | if [ $? -ne 0 ]; then
35
+ | exit 1
36
+ | fi
37
+ |
38
+ | echo "installing nfs-utils"
39
+ | apk add --upgrade nfs-utils
40
+ | if [ $? -ne 0 ]; then
41
+ | exit 1
42
+ | fi
43
+ |
44
+ | echo "installing rpc.statd"
45
+ | rc-update add rpc.statd
46
+ | if [ $? -ne 0 ]; then
47
+ | exit 1
48
+ | fi
49
+ |
50
+ | echo "starting rpc.statd service"
51
+ | rc-service rpc.statd start
52
+ | if [ $? -ne 0 ]; then
53
+ | exit 1
54
+ | fi
55
+ EOS
56
+ expect(communicator).to receive(:sudo).with(x)
57
+ allow_message_expectations_on_nil
58
+ described_class.nfs_client_install(machine)
59
+ end
28
60
  end
@@ -2,34 +2,36 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe 'VagrantPlugins::GuestAlpine::Cap::RSync' do
5
- let(:machine) { double('machine') }
6
- let(:communicator) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
7
-
8
- before do
9
- allow(machine).to receive(:communicate).and_return(communicator)
10
- end
11
-
12
- after do
13
- communicator.verify_expectations!
14
- end
15
-
16
- let(:described_class) do
17
- VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:rsync_install)
18
- end
19
-
20
- it 'should install rsync' do
21
- communicator.should_receive(:sudo).with('apk add rsync')
22
- allow_message_expectations_on_nil
23
- described_class.rsync_install(machine)
24
- end
25
-
26
- let(:described_class) do
27
- VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:rsync_installed)
28
- end
29
-
30
- it 'should verify rsync installed' do
31
- communicator.should_receive(:test).with('test -f /usr/bin/rsync')
32
- allow_message_expectations_on_nil
33
- described_class.rsync_installed(machine)
34
- end
5
+ let(:machine) { double('machine') }
6
+ let(:communicator) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
7
+
8
+ before do
9
+ allow(machine).to receive(:communicate).and_return(communicator)
10
+ end
11
+
12
+ after do
13
+ communicator.verify_expectations!
14
+ end
15
+
16
+ let(:described_class) do
17
+ VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:rsync_install)
18
+ end
19
+
20
+ it 'should install rsync' do
21
+ # communicator.should_receive(:sudo).with('apk add rsync')
22
+ expect(communicator).to receive(:sudo).with('apk add rsync')
23
+ allow_message_expectations_on_nil
24
+ described_class.rsync_install(machine)
25
+ end
26
+
27
+ let(:described_class) do
28
+ VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:rsync_installed)
29
+ end
30
+
31
+ it 'should verify rsync installed' do
32
+ # communicator.should_receive(:test).with('test -f /usr/bin/rsync')
33
+ expect(communicator).to receive(:test).with('test -f /usr/bin/rsync')
34
+ allow_message_expectations_on_nil
35
+ described_class.rsync_installed(machine)
36
+ end
35
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-alpine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - matt maier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-18 00:00:00.000000000 Z
11
+ date: 2017-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  version: '0'
134
134
  requirements: []
135
135
  rubyforge_project:
136
- rubygems_version: 2.4.6
136
+ rubygems_version: 2.4.8
137
137
  signing_key:
138
138
  specification_version: 4
139
139
  summary: Enables Vagrant to manage Alpine Linux Guests.