vcloud-walker 3.2.1 → 3.2.2
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.
- data/CHANGELOG.md +4 -0
- data/README.md +42 -32
- data/jenkins.sh +1 -4
- data/jenkins_integration_tests.sh +1 -7
- data/lib/vcloud/walker/version.rb +1 -1
- data/tools/fog_credentials.rb +17 -0
- data/vcloud-walker.gemspec +1 -1
- metadata +7 -7
- data/scripts/generate_fog_conf_file.sh +0 -6
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# VCloud Walker
|
2
2
|
|
3
|
-
Vcloud-walker is a command line tool, to describe different VMware vCloud
|
3
|
+
Vcloud-walker is a command line tool, to describe different VMware vCloud
|
4
|
+
Director 5.1 entities. It uses Fog under the hood.
|
4
5
|
|
5
6
|
## Installation
|
6
7
|
|
@@ -24,7 +25,8 @@ You can perform following operations with walker.
|
|
24
25
|
#### Walk vdcs:
|
25
26
|
vcloud-walk vdcs
|
26
27
|
|
27
|
-
describes all vdcs within given organization. This includes vapp, vm and network
|
28
|
+
describes all vdcs within given organization. This includes vapp, vm and network
|
29
|
+
information.
|
28
30
|
|
29
31
|
#### Walk catalogs:
|
30
32
|
vcloud-walk catalogs
|
@@ -39,54 +41,52 @@ describes all organization networks.
|
|
39
41
|
#### Walk edgegateways:
|
40
42
|
vcloud-walk edgegateways
|
41
43
|
|
42
|
-
describes all edgegateway for given organization. Each edgegateway includes
|
44
|
+
describes all edgegateway for given organization. Each edgegateway includes
|
45
|
+
configuration for firewall, load balancer and nat services.
|
43
46
|
|
44
47
|
#### Walk entire organization:
|
45
48
|
vcloud-walk organization
|
46
49
|
|
47
|
-
describes the entire organization, which includes edgegateway, catalogs,
|
50
|
+
describes the entire organization, which includes edgegateway, catalogs,
|
51
|
+
networks and vdcs within an organization.
|
48
52
|
|
49
|
-
|
53
|
+
## Credentials
|
50
54
|
|
51
|
-
|
52
|
-
|
55
|
+
vCloud Walker is based around [fog](http://fog.io/). To use it you'll need to give it
|
56
|
+
credentials that allow it to talk to a vCloud Director environment.
|
53
57
|
|
54
|
-
|
58
|
+
1. Create a '.fog' file in your home directory.
|
55
59
|
|
56
|
-
|
60
|
+
For example:
|
57
61
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
vcloud_director_host: 'api_endpoint'
|
63
|
-
````
|
62
|
+
test_credentials:
|
63
|
+
vcloud_director_host: 'host.api.example.com'
|
64
|
+
vcloud_director_username: 'username@org_name'
|
65
|
+
vcloud_director_password: ''
|
64
66
|
|
65
|
-
|
67
|
+
2. Obtain a session token. First, curl the API:
|
66
68
|
|
67
|
-
|
69
|
+
curl -D- -d '' \
|
70
|
+
-H 'Accept: application/*+xml;version=5.1' -u '<username>@<org_name>' \
|
71
|
+
https://<host.api.example.com>/api/sessions
|
68
72
|
|
69
|
-
|
70
|
-
tool by setting the `FOG_VCLOUD_TOKEN` ENV variable. This option reduces the risk footprint by allowing the user to
|
71
|
-
store their credentials in safe storage. The default token lifetime is '30 minutes idle' - any activity extends the life by another 30 mins.
|
73
|
+
This will prompt for your password.
|
72
74
|
|
73
|
-
|
75
|
+
From the headers returned, the value of the `x-vcloud-authorization` header is your
|
76
|
+
session token, and this will be valid for 30 minutes idle - any activity will extend
|
77
|
+
its life by another 30 minutes.
|
74
78
|
|
75
|
-
|
76
|
-
-D-
|
77
|
-
-d ''
|
78
|
-
-H 'Accept: application/*+xml;version=5.1' -u '<user>@<org>'
|
79
|
-
https://host.com/api/sessions
|
79
|
+
3. Specify your credentials and session token at the beginning of the command. For example:
|
80
80
|
|
81
|
-
|
81
|
+
FOG_CREDENTIAL=test_credentials \
|
82
|
+
FOG_VCLOUD_TOKEN=AAAABBBBBCCCCCCDDDDDDEEEEEEFFFFF= \
|
83
|
+
vcloud-walk organization
|
82
84
|
|
83
|
-
|
85
|
+
You may find it easier to export one or both of the values as environment variables.
|
84
86
|
|
85
|
-
|
87
|
+
**NB** It is also possible to sidestep the need for the session token by saving your
|
88
|
+
password in the fog file. This is **not recommended**.
|
86
89
|
|
87
|
-
Use token as ENV var FOG_VCLOUD_TOKEN
|
88
|
-
|
89
|
-
FOG_VCLOUD_TOKEN=AAAABBBBBCCCCCCDDDDDDEEEEEEFFFFF= vcloud-walk organization
|
90
90
|
|
91
91
|
### Output
|
92
92
|
|
@@ -95,6 +95,16 @@ You can use command line option ```--yaml``` for yaml output.
|
|
95
95
|
|
96
96
|
Find sample json output in docs/examples directory.
|
97
97
|
|
98
|
+
## The vCloud API
|
99
|
+
|
100
|
+
vCloud Tools currently use version 5.1 of the [vCloud API](http://pubs.vmware.com/vcd-51/index.jsp?topic=%2Fcom.vmware.vcloud.api.doc_51%2FGUID-F4BF9D5D-EF66-4D36-A6EB-2086703F6E37.html). Version 5.5 may work but is not currently supported. You should be able to access the 5.1 API in a 5.5 environment, and this *is* currently supported.
|
101
|
+
|
102
|
+
The default version is defined in [Fog](https://github.com/fog/fog/blob/244a049918604eadbcebd3a8eaaf433424fe4617/lib/fog/vcloud_director/compute.rb#L32).
|
103
|
+
|
104
|
+
If you want to be sure you are pinning to 5.1, or use 5.5, you can set the API version to use in your fog file, e.g.
|
105
|
+
|
106
|
+
`vcloud_director_api_version: 5.1`
|
107
|
+
|
98
108
|
## Debugging
|
99
109
|
|
100
110
|
`export EXCON_DEBUG=true` - this will print out the API requests and responses.
|
data/jenkins.sh
CHANGED
@@ -7,9 +7,6 @@ git clean -fdx
|
|
7
7
|
bundle install --path "${HOME}/bundles/${JOB_NAME}"
|
8
8
|
bundle exec rake
|
9
9
|
|
10
|
-
./
|
11
|
-
export FOG_RC=fog_integration_test.config
|
12
|
-
bundle exec rake integration_test
|
13
|
-
rm fog_integration_test.config
|
10
|
+
RUBYOPT="-r ./tools/fog_credentials" bundle exec rake integration_test
|
14
11
|
|
15
12
|
bundle exec rake publish_gem
|
@@ -2,10 +2,4 @@
|
|
2
2
|
set -e
|
3
3
|
bundle install --path "${HOME}/bundles/${JOB_NAME}"
|
4
4
|
|
5
|
-
./
|
6
|
-
|
7
|
-
export FOG_RC=fog_integration_test.config
|
8
|
-
|
9
|
-
bundle exec rake integration_test
|
10
|
-
|
11
|
-
rm fog_integration_test.config
|
5
|
+
RUBYOPT="-r ./tools/fog_credentials" bundle exec rake integration_test
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# Initialiser for getting vCloud credentials into Fog from Jenkins build
|
2
|
+
# parameters, without needing to write them to disk. To be used with:
|
3
|
+
#
|
4
|
+
# RUBYOPT="-r ./tools/fog_credentials" bundle exec integration
|
5
|
+
#
|
6
|
+
# Replace with FOG_VCLOUD_TOKEN support when we have a tool:
|
7
|
+
#
|
8
|
+
# https://www.pivotaltracker.com/story/show/68989754
|
9
|
+
#
|
10
|
+
require 'bundler/setup'
|
11
|
+
require 'fog'
|
12
|
+
|
13
|
+
Fog.credentials = {
|
14
|
+
:vcloud_director_host => ENV['API_HOST'],
|
15
|
+
:vcloud_director_username => ENV['API_USERNAME'],
|
16
|
+
:vcloud_director_password => ENV['API_PASSWORD'],
|
17
|
+
}
|
data/vcloud-walker.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_runtime_dependency 'json', '~> 1.8.0'
|
26
26
|
s.add_runtime_dependency 'methadone'
|
27
27
|
s.add_runtime_dependency 'fog', '>= 1.21.0'
|
28
|
-
s.add_runtime_dependency 'vcloud-core', '
|
28
|
+
s.add_runtime_dependency 'vcloud-core', '~> 0.0.12'
|
29
29
|
s.add_development_dependency 'simplecov', '~> 0.8.2'
|
30
30
|
s.add_development_dependency 'gem_publisher', '1.2.0'
|
31
31
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vcloud-walker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-05-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -128,7 +128,7 @@ dependencies:
|
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
129
129
|
none: false
|
130
130
|
requirements:
|
131
|
-
- -
|
131
|
+
- - ~>
|
132
132
|
- !ruby/object:Gem::Version
|
133
133
|
version: 0.0.12
|
134
134
|
type: :runtime
|
@@ -136,7 +136,7 @@ dependencies:
|
|
136
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
137
|
none: false
|
138
138
|
requirements:
|
139
|
-
- -
|
139
|
+
- - ~>
|
140
140
|
- !ruby/object:Gem::Version
|
141
141
|
version: 0.0.12
|
142
142
|
- !ruby/object:Gem::Dependency
|
@@ -211,7 +211,6 @@ files:
|
|
211
211
|
- scripts/configure_walker_ci_vse.rb
|
212
212
|
- scripts/data/walker_ci/carrenza.yaml
|
213
213
|
- scripts/data/walker_ci/skyscape.yaml
|
214
|
-
- scripts/generate_fog_conf_file.sh
|
215
214
|
- spec/fog_interface_spec.rb
|
216
215
|
- spec/integration/vcloud_walker_spec.rb
|
217
216
|
- spec/spec_helper.rb
|
@@ -226,6 +225,7 @@ files:
|
|
226
225
|
- spec/walk/vapp_spec.rb
|
227
226
|
- spec/walk/vdcs_spec.rb
|
228
227
|
- spec/walk/vm_spec.rb
|
228
|
+
- tools/fog_credentials.rb
|
229
229
|
- vcloud-walker.gemspec
|
230
230
|
homepage: https://github.com/alphagov/vcloud-walker
|
231
231
|
licenses:
|
@@ -242,7 +242,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
242
242
|
version: '0'
|
243
243
|
segments:
|
244
244
|
- 0
|
245
|
-
hash:
|
245
|
+
hash: 523235107079612422
|
246
246
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
247
247
|
none: false
|
248
248
|
requirements:
|
@@ -251,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
251
251
|
version: '0'
|
252
252
|
segments:
|
253
253
|
- 0
|
254
|
-
hash:
|
254
|
+
hash: 523235107079612422
|
255
255
|
requirements: []
|
256
256
|
rubyforge_project:
|
257
257
|
rubygems_version: 1.8.23
|