vagrant-vcloud 0.4.6 → 0.4.7
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/README.md +0 -2
- data/example_box/README.md +0 -2
- data/integration/.gitignore +2 -0
- data/integration/Dockerfile +34 -0
- data/integration/README.md +34 -0
- data/integration/Vagrantfile +33 -0
- data/integration/build-images.sh +7 -0
- data/integration/test.sh +20 -0
- data/lib/vagrant-vcloud/driver/meta.rb +2 -1
- data/lib/vagrant-vcloud/driver/version_5_1.rb +1 -2
- data/lib/vagrant-vcloud/version.rb +1 -1
- data/vagrant-vcloud.gemspec +8 -12
- metadata +27 -77
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd8a383b915dc8939efd48bde407f13c3be6d104
|
4
|
+
data.tar.gz: f5dd1be500a3399db255258d351e58c7c5d20c30
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44f686d7604fff5fb6ba410c0366c55a17464cb23bf30c84f22a697bbe5517e4c3c7e579015ded3cd11622e2b3212c18e5d19a216404031f0c7863d64e69d979
|
7
|
+
data.tar.gz: 40fe2aa6f7e68ef8756bf92c960d99e89ff6fee58bb80d8ade0e719afb82febd871fcf95a7abf54d869ccdd13fb4a53d83865f88919cf425412e9cd272b0b1fb
|
data/README.md
CHANGED
data/example_box/README.md
CHANGED
@@ -9,5 +9,3 @@ BOX package should contain:
|
|
9
9
|
- `<boxname>.mf` -- OVF manifest file containing file hashes.
|
10
10
|
- `<boxname>-disk-<#>.vmdk` -- Associated VMDK files.
|
11
11
|
- `Vagrantfile`-- vagrant-vcloud default Vagrantfile
|
12
|
-
|
13
|
-
A [task is open](https://github.com/frapposelli/vagrant-vcloud/issues/12) for creating a veewee plugin to facilitate Box creation
|
@@ -0,0 +1,34 @@
|
|
1
|
+
FROM ubuntu
|
2
|
+
|
3
|
+
ARG VAGRANT_VERSION=1.9.1
|
4
|
+
|
5
|
+
ENV \
|
6
|
+
BOX_WINDOWS=https://github.com/plossys/vagrant-vcloud/raw/my/helper/dummy-windows.box \
|
7
|
+
BOX_LINUX=https://github.com/plossys/vagrant-vcloud/raw/my/helper/dummy-linux.box
|
8
|
+
|
9
|
+
RUN apt-get update -y && \
|
10
|
+
apt-get install -y build-essential liblzma-dev zlib1g-dev git openssh-client rsync curl && \
|
11
|
+
ln -sf bash /bin/sh && \
|
12
|
+
curl -L https://releases.hashicorp.com/vagrant/${VAGRANT_VERSION}/vagrant_${VAGRANT_VERSION}_x86_64.deb > /tmp/vagrant_x86_64.deb && \
|
13
|
+
dpkg -i /tmp/vagrant_x86_64.deb && \
|
14
|
+
rm -f /tmp/vagrant_x86_64.deb && \
|
15
|
+
apt-get clean && \
|
16
|
+
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
|
17
|
+
vagrant plugin list && \
|
18
|
+
ln -s /user/Vagrantfile /root/.vagrant.d/Vagrantfile && \
|
19
|
+
vagrant box add windows_2016 ${BOX_WINDOWS} && \
|
20
|
+
vagrant box add ubuntu1404 ${BOX_LINUX}
|
21
|
+
|
22
|
+
WORKDIR /plugin
|
23
|
+
COPY . /plugin
|
24
|
+
|
25
|
+
RUN /opt/vagrant/embedded/bin/gem build vagrant-vcloud.gemspec && \
|
26
|
+
vagrant --version && \
|
27
|
+
vagrant plugin install ./vagrant-vcloud*.gem && \
|
28
|
+
vagrant plugin list
|
29
|
+
|
30
|
+
WORKDIR /work
|
31
|
+
|
32
|
+
VOLUME ["/work", "/user"]
|
33
|
+
|
34
|
+
ENTRYPOINT ["vagrant"]
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# integration
|
2
|
+
|
3
|
+
Easily run some integration tests with several versions of Vagrant in a Docker container.
|
4
|
+
|
5
|
+
## Build vagrant base images
|
6
|
+
|
7
|
+
To build the vagrant base images just run
|
8
|
+
|
9
|
+
```
|
10
|
+
./build-images.sh
|
11
|
+
```
|
12
|
+
|
13
|
+
This also tests if the plugin is installable in the latest three minor versions of Vagrant.
|
14
|
+
|
15
|
+
Afterwards you have some Docker images with specific Vagrant versions:
|
16
|
+
|
17
|
+
```
|
18
|
+
$ docker images | grep vagrant
|
19
|
+
vagrant 1.7.4 4bd54f063310 About an hour ago 598.9 MB
|
20
|
+
vagrant 1.8.7 9d70aa570e14 About an hour ago 594.1 MB
|
21
|
+
vagrant 1.9.1 446c0fad9f55 About an hour ago 609.8 MB
|
22
|
+
```
|
23
|
+
|
24
|
+
## Run a test
|
25
|
+
|
26
|
+
In this folder there is a `Vagrantfile` with two VM's in a vApp. Spinning up that vApp you will test if rsync works and if adding a VM to a vApp works.
|
27
|
+
|
28
|
+
You can use all commands of Vagrant with that wrapper script `test.sh`. As first argument you have to specify the Docker image name, eg. `vagrant:1.9.1`
|
29
|
+
|
30
|
+
```
|
31
|
+
./test.sh vagrant:1.7.4 up
|
32
|
+
```
|
33
|
+
|
34
|
+
If you change some code you have to rebuild the base images at the moment.
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# -*- mode: ruby -*-
|
2
|
+
# vi: set ft=ruby :
|
3
|
+
|
4
|
+
$script=<<EOF
|
5
|
+
echo "Hello from `hostname`"
|
6
|
+
echo "Listing of /vagrant"
|
7
|
+
ls -l /vagrant
|
8
|
+
EOF
|
9
|
+
|
10
|
+
Vagrant.configure("2") do |config|
|
11
|
+
if Vagrant.has_plugin?("vagrant-vcloud")
|
12
|
+
config.vm.provider :vcloud do |vcloud|
|
13
|
+
vcloud.vapp_prefix = "integrationtest"
|
14
|
+
vcloud.ip_subnet = "172.16.32.0/255.255.255.0"
|
15
|
+
end
|
16
|
+
config.vm.provider :vcloud do |cloud, override|
|
17
|
+
override.vm.usable_port_range = 2200..2999
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
config.vm.define :"tst" do |cfg|
|
22
|
+
cfg.vm.box = "ubuntu1404"
|
23
|
+
cfg.vm.hostname = "tst"
|
24
|
+
cfg.vm.provision "shell", inline: $script
|
25
|
+
end
|
26
|
+
|
27
|
+
config.vm.define :"tst2" do |cfg|
|
28
|
+
cfg.vm.box = "ubuntu1404"
|
29
|
+
cfg.vm.hostname = "tst2"
|
30
|
+
cfg.vm.provision "shell", inline: $script
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
MY_PATH="`dirname \"$0\"`" # relative
|
3
|
+
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
4
|
+
cd $MY_PATH/..
|
5
|
+
docker build -t vagrant:1.9.1 --build-arg VAGRANT_VERSION=1.9.1 -f integration/Dockerfile .
|
6
|
+
docker build -t vagrant:1.8.7 --build-arg VAGRANT_VERSION=1.8.7 -f integration/Dockerfile .
|
7
|
+
docker build -t vagrant:1.7.4 --build-arg VAGRANT_VERSION=1.7.4 -f integration/Dockerfile .
|
data/integration/test.sh
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
if [[ $1 == '--help' || $1 == '' ]]; then
|
4
|
+
echo "A helper to test plugin sources with several Vagrant versions."
|
5
|
+
echo "Usage: $0 <image> <command>"
|
6
|
+
echo "Examples:"
|
7
|
+
echo "$0 vagrant:1.7.4 up"
|
8
|
+
echo "$0 vagrant:1.8.7 up"
|
9
|
+
echo "$0 vagrant:1.9.1 up"
|
10
|
+
echo "$0 vagrant:1.9.1 destroy -f"
|
11
|
+
exit 0
|
12
|
+
fi
|
13
|
+
|
14
|
+
image=$1
|
15
|
+
shift
|
16
|
+
|
17
|
+
docker run --rm -it \
|
18
|
+
-v "$(pwd):/work" \
|
19
|
+
-v ~/.vagrant.d/Vagrantfile:/user/Vagrantfile \
|
20
|
+
"$image" "$@"
|
@@ -50,7 +50,8 @@ module VagrantPlugins
|
|
50
50
|
'5.1' => Version_5_1,
|
51
51
|
'5.5' => Version_5_1, # Binding vCloud 5.5 API on our current 5.1 implementation
|
52
52
|
'5.6' => Version_5_1, # Binding vCHS API on our current 5.1 implementation
|
53
|
-
'5.7' => Version_5_1
|
53
|
+
'5.7' => Version_5_1, # Binding vCHS API on our current 5.1 implementation
|
54
|
+
'9.0' => Version_5_1 # Binding vCHS API on our current 5.1 implementation
|
54
55
|
}
|
55
56
|
|
56
57
|
if @version.start_with?('0.9') ||
|
@@ -1002,8 +1002,7 @@ module VagrantPlugins
|
|
1002
1002
|
)
|
1003
1003
|
|
1004
1004
|
vapp_id = URI(headers['Location']).path.gsub('/api/vApp/vapp-', '')
|
1005
|
-
|
1006
|
-
task = response.css("Task [operationName='vdcRecomposeVapp']").first
|
1005
|
+
task = response.css("Task[operationName='vdcRecomposeVapp']").first
|
1007
1006
|
task_id = URI(task['href']).path.gsub('/api/task/', '')
|
1008
1007
|
|
1009
1008
|
{ :vapp_id => vapp_id, :task_id => task_id }
|
data/vagrant-vcloud.gemspec
CHANGED
@@ -12,20 +12,16 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.summary = 'VMware vCloud Director® provider'
|
13
13
|
s.description = 'Enables Vagrant to manage machines with VMware vCloud Director®.'
|
14
14
|
|
15
|
-
s.add_runtime_dependency '
|
16
|
-
s.add_runtime_dependency '
|
17
|
-
s.add_runtime_dependency 'nokogiri', '~> 1.6'
|
18
|
-
s.add_runtime_dependency 'httpclient', '~> 2.3.4.1'
|
19
|
-
s.add_runtime_dependency 'ruby-progressbar', '~> 1.1.1'
|
20
|
-
s.add_runtime_dependency 'netaddr', '~> 1.5.0'
|
15
|
+
s.add_runtime_dependency 'ruby-progressbar', '~> 1.1'
|
16
|
+
s.add_runtime_dependency 'netaddr', '~> 1.5'
|
21
17
|
# Adding awesome_print because it's just awesome to read XML
|
22
|
-
s.add_runtime_dependency 'awesome_print', '~> 1.2
|
23
|
-
s.add_runtime_dependency 'terminal-table', '~> 1.4
|
18
|
+
s.add_runtime_dependency 'awesome_print', '~> 1.2'
|
19
|
+
s.add_runtime_dependency 'terminal-table', '~> 1.4'
|
24
20
|
|
25
|
-
s.add_development_dependency 'rake'
|
26
|
-
s.add_development_dependency 'rspec-core', '~> 2.12
|
27
|
-
s.add_development_dependency 'rspec-expectations', '~> 2.12
|
28
|
-
s.add_development_dependency 'rspec-mocks', '~> 2.12
|
21
|
+
s.add_development_dependency 'rake', '~> 12.0'
|
22
|
+
s.add_development_dependency 'rspec-core', '~> 2.12'
|
23
|
+
s.add_development_dependency 'rspec-expectations', '~> 2.12'
|
24
|
+
s.add_development_dependency 'rspec-mocks', '~> 2.12'
|
29
25
|
|
30
26
|
s.files = `git ls-files`.split($/)
|
31
27
|
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-vcloud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fabio Rapposelli
|
@@ -9,176 +9,120 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-03-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: i18n
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - "~>"
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: 0.6.4
|
21
|
-
type: :runtime
|
22
|
-
prerelease: false
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
requirements:
|
25
|
-
- - "~>"
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: 0.6.4
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: log4r
|
30
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
-
requirements:
|
32
|
-
- - "~>"
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: 1.1.10
|
35
|
-
type: :runtime
|
36
|
-
prerelease: false
|
37
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - "~>"
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: 1.1.10
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
|
-
name: nokogiri
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - "~>"
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: '1.6'
|
49
|
-
type: :runtime
|
50
|
-
prerelease: false
|
51
|
-
version_requirements: !ruby/object:Gem::Requirement
|
52
|
-
requirements:
|
53
|
-
- - "~>"
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: '1.6'
|
56
|
-
- !ruby/object:Gem::Dependency
|
57
|
-
name: httpclient
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - "~>"
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 2.3.4.1
|
63
|
-
type: :runtime
|
64
|
-
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - "~>"
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 2.3.4.1
|
70
14
|
- !ruby/object:Gem::Dependency
|
71
15
|
name: ruby-progressbar
|
72
16
|
requirement: !ruby/object:Gem::Requirement
|
73
17
|
requirements:
|
74
18
|
- - "~>"
|
75
19
|
- !ruby/object:Gem::Version
|
76
|
-
version: 1.1
|
20
|
+
version: '1.1'
|
77
21
|
type: :runtime
|
78
22
|
prerelease: false
|
79
23
|
version_requirements: !ruby/object:Gem::Requirement
|
80
24
|
requirements:
|
81
25
|
- - "~>"
|
82
26
|
- !ruby/object:Gem::Version
|
83
|
-
version: 1.1
|
27
|
+
version: '1.1'
|
84
28
|
- !ruby/object:Gem::Dependency
|
85
29
|
name: netaddr
|
86
30
|
requirement: !ruby/object:Gem::Requirement
|
87
31
|
requirements:
|
88
32
|
- - "~>"
|
89
33
|
- !ruby/object:Gem::Version
|
90
|
-
version: 1.5
|
34
|
+
version: '1.5'
|
91
35
|
type: :runtime
|
92
36
|
prerelease: false
|
93
37
|
version_requirements: !ruby/object:Gem::Requirement
|
94
38
|
requirements:
|
95
39
|
- - "~>"
|
96
40
|
- !ruby/object:Gem::Version
|
97
|
-
version: 1.5
|
41
|
+
version: '1.5'
|
98
42
|
- !ruby/object:Gem::Dependency
|
99
43
|
name: awesome_print
|
100
44
|
requirement: !ruby/object:Gem::Requirement
|
101
45
|
requirements:
|
102
46
|
- - "~>"
|
103
47
|
- !ruby/object:Gem::Version
|
104
|
-
version: 1.2
|
48
|
+
version: '1.2'
|
105
49
|
type: :runtime
|
106
50
|
prerelease: false
|
107
51
|
version_requirements: !ruby/object:Gem::Requirement
|
108
52
|
requirements:
|
109
53
|
- - "~>"
|
110
54
|
- !ruby/object:Gem::Version
|
111
|
-
version: 1.2
|
55
|
+
version: '1.2'
|
112
56
|
- !ruby/object:Gem::Dependency
|
113
57
|
name: terminal-table
|
114
58
|
requirement: !ruby/object:Gem::Requirement
|
115
59
|
requirements:
|
116
60
|
- - "~>"
|
117
61
|
- !ruby/object:Gem::Version
|
118
|
-
version: 1.4
|
62
|
+
version: '1.4'
|
119
63
|
type: :runtime
|
120
64
|
prerelease: false
|
121
65
|
version_requirements: !ruby/object:Gem::Requirement
|
122
66
|
requirements:
|
123
67
|
- - "~>"
|
124
68
|
- !ruby/object:Gem::Version
|
125
|
-
version: 1.4
|
69
|
+
version: '1.4'
|
126
70
|
- !ruby/object:Gem::Dependency
|
127
71
|
name: rake
|
128
72
|
requirement: !ruby/object:Gem::Requirement
|
129
73
|
requirements:
|
130
|
-
- - "
|
74
|
+
- - "~>"
|
131
75
|
- !ruby/object:Gem::Version
|
132
|
-
version: '0'
|
76
|
+
version: '12.0'
|
133
77
|
type: :development
|
134
78
|
prerelease: false
|
135
79
|
version_requirements: !ruby/object:Gem::Requirement
|
136
80
|
requirements:
|
137
|
-
- - "
|
81
|
+
- - "~>"
|
138
82
|
- !ruby/object:Gem::Version
|
139
|
-
version: '0'
|
83
|
+
version: '12.0'
|
140
84
|
- !ruby/object:Gem::Dependency
|
141
85
|
name: rspec-core
|
142
86
|
requirement: !ruby/object:Gem::Requirement
|
143
87
|
requirements:
|
144
88
|
- - "~>"
|
145
89
|
- !ruby/object:Gem::Version
|
146
|
-
version: 2.12
|
90
|
+
version: '2.12'
|
147
91
|
type: :development
|
148
92
|
prerelease: false
|
149
93
|
version_requirements: !ruby/object:Gem::Requirement
|
150
94
|
requirements:
|
151
95
|
- - "~>"
|
152
96
|
- !ruby/object:Gem::Version
|
153
|
-
version: 2.12
|
97
|
+
version: '2.12'
|
154
98
|
- !ruby/object:Gem::Dependency
|
155
99
|
name: rspec-expectations
|
156
100
|
requirement: !ruby/object:Gem::Requirement
|
157
101
|
requirements:
|
158
102
|
- - "~>"
|
159
103
|
- !ruby/object:Gem::Version
|
160
|
-
version: 2.12
|
104
|
+
version: '2.12'
|
161
105
|
type: :development
|
162
106
|
prerelease: false
|
163
107
|
version_requirements: !ruby/object:Gem::Requirement
|
164
108
|
requirements:
|
165
109
|
- - "~>"
|
166
110
|
- !ruby/object:Gem::Version
|
167
|
-
version: 2.12
|
111
|
+
version: '2.12'
|
168
112
|
- !ruby/object:Gem::Dependency
|
169
113
|
name: rspec-mocks
|
170
114
|
requirement: !ruby/object:Gem::Requirement
|
171
115
|
requirements:
|
172
116
|
- - "~>"
|
173
117
|
- !ruby/object:Gem::Version
|
174
|
-
version: 2.12
|
118
|
+
version: '2.12'
|
175
119
|
type: :development
|
176
120
|
prerelease: false
|
177
121
|
version_requirements: !ruby/object:Gem::Requirement
|
178
122
|
requirements:
|
179
123
|
- - "~>"
|
180
124
|
- !ruby/object:Gem::Version
|
181
|
-
version: 2.12
|
125
|
+
version: '2.12'
|
182
126
|
description: Enables Vagrant to manage machines with VMware vCloud Director®.
|
183
127
|
email:
|
184
128
|
- fabio@rapposelli.org
|
@@ -196,6 +140,12 @@ files:
|
|
196
140
|
- example_box/README.md
|
197
141
|
- example_box/Vagrantfile
|
198
142
|
- example_box/metadata.json
|
143
|
+
- integration/.gitignore
|
144
|
+
- integration/Dockerfile
|
145
|
+
- integration/README.md
|
146
|
+
- integration/Vagrantfile
|
147
|
+
- integration/build-images.sh
|
148
|
+
- integration/test.sh
|
199
149
|
- lib/vagrant-vcloud.rb
|
200
150
|
- lib/vagrant-vcloud/action.rb
|
201
151
|
- lib/vagrant-vcloud/action/announce_ssh_exec.rb
|
@@ -264,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
264
214
|
version: '0'
|
265
215
|
requirements: []
|
266
216
|
rubyforge_project:
|
267
|
-
rubygems_version: 2.5.
|
217
|
+
rubygems_version: 2.4.5.1
|
268
218
|
signing_key:
|
269
219
|
specification_version: 4
|
270
220
|
summary: VMware vCloud Director® provider
|