vagrant-vcloud 0.4.6 → 0.4.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|