ucslib 0.0.2 → 0.0.3
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/html/README_rdoc.html +86 -6
- data/html/UCSToken.html +7 -8
- data/html/created.rid +4 -4
- data/html/index.html +86 -6
- data/html/lib/ucslib/provision_rb.html +1 -1
- data/html/lib/ucslib/session_rb.html +1 -1
- data/lib/ucslib/version.rb +1 -1
- metadata +7 -7
data/html/README_rdoc.html
CHANGED
@@ -80,15 +80,95 @@
|
|
80
80
|
|
81
81
|
<h1>ucslib (alpha)</h1>
|
82
82
|
|
83
|
-
<p>Ruby Client Library for Cisco UCS that could be
|
84
|
-
|
85
|
-
(
|
83
|
+
<p>Ruby Client Library for Cisco UCS Manager that could be used by DevOps
|
84
|
+
toolchains - Puppet or Chef and other custom tools - to provide MaaS
|
85
|
+
(Metal-as-a-Service) for installing and running OpenStack, Hadoop, etc.
|
86
|
+
ucslib accepts JSON as configuration for provisioning.</p>
|
86
87
|
|
87
88
|
<h2>Install</h2>
|
88
89
|
|
89
90
|
<p>gem install ucslib</p>
|
90
91
|
|
91
|
-
<h2>Usage</h2>
|
92
|
+
<h2>Usage (example irb session)</h2>
|
93
|
+
|
94
|
+
<p>Just do “require ucslib” in your apps. Below is an introspection of some of
|
95
|
+
the capabilities using IRB.</p>
|
96
|
+
|
97
|
+
<p>➜ ucslib git:(master) ✗ irb 1.9.3p194 :001 > require ‘ucslib’</p>
|
98
|
+
|
99
|
+
<pre>=> true</pre>
|
100
|
+
|
101
|
+
<p>1.9.3p194 :002 > auth_json = { :username => ‘admin’, :password =>
|
102
|
+
‘admin’, :ip => ‘172.16.75.137’ }.to_json</p>
|
103
|
+
|
104
|
+
<pre>=> "{\"username\":\"admin\",\"password\":\"admin\",\"ip\":\"172.16.75.137\"}"</pre>
|
105
|
+
|
106
|
+
<p>1.9.3p194 :003 > ucs_session = UCSToken.new</p>
|
107
|
+
|
108
|
+
<pre>=> #<UCSToken:0x007ff4d92062c0></pre>
|
109
|
+
|
110
|
+
<p>1.9.3p194 :004 > token_json = ucs_session.get_token(auth_json)</p>
|
111
|
+
|
112
|
+
<pre>=> "{\"cookie\":\"1336941096/ea496248-d200-4a10-8e46-c73b59971864\",\"username\":\"admin\",\"password\":\"admin\",\"ip\":\"172.16.75.137\"}"</pre>
|
113
|
+
|
114
|
+
<p>1.9.3p194 :005 > ucs_inventory = UCSInventory.new</p>
|
115
|
+
|
116
|
+
<pre>=> #<UCSInventory:0x007ff4d92cd8c0></pre>
|
117
|
+
|
118
|
+
<p>1.9.3p194 :006 > ucs_provision = <a
|
119
|
+
href="UCSProvision.html#method-c-new">UCSProvision.new(token_json)</a></p>
|
120
|
+
|
121
|
+
<pre>=> #<UCSProvision:0x007ff4d92c0378 @cookie="1336941096/ea496248-d200-4a10-8e46-c73b59971864", @url="https://172.16.75.137/nuova"></pre>
|
122
|
+
|
123
|
+
<p>1.9.3p194 :007 > xml_dump = ucs_inventory.discover(token_json)</p>
|
124
|
+
|
125
|
+
<p>1.9.3p194 :008 > ucs_inventory.methods</p>
|
126
|
+
|
127
|
+
<pre>=> [:discover, :list_blades, :list_vsans, :list_vlans, :list_cpus, :list_memory, :list_service_profiles, :list_running_firmware, :to_json, :nil?, :===, :=~, :!~, :eql?, :hash, :<=>, :class, :singleton_class, :clone, :dup, :initialize_dup, :initialize_clone, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :to_s, :inspect, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :instance_of?, :kind_of?, :is_a?, :tap, :send, :public_send, :respond_to?, :respond_to_missing?, :extend, :display, :method, :public_method, :define_singleton_method, :object_id, :to_enum, :enum_for, :==, :equal?, :!, :!=, :instance_eval, :instance_exec, :__send__, :__id__]</pre>
|
128
|
+
|
129
|
+
<p>1.9.3p194 :009 ></p>
|
130
|
+
|
131
|
+
<p>1.9.3p194 :009 > ucs_inventory.list_blades(xml_dump) Blade : 1/5 model:
|
132
|
+
UCSB-B200-M3 with serial: 1049 is powered: off Blade : 1/6 model:
|
133
|
+
N20-B6625-1 with serial: 1053 is powered: off Blade : 1/1 model:
|
134
|
+
N20-B6620-1 with serial: 1045 is powered: on Blade : 1/7 model: N20-B6740-2
|
135
|
+
with serial: 1052 is powered: off Blade : 1/2 model: N20-B6620-1 with
|
136
|
+
serial: 1054 is powered: off Blade : 1/4 model: N20-B6620-1 with serial:
|
137
|
+
1051 is powered: off Blade : 1/3 model: N20-B6620-1 with serial: 1055 is
|
138
|
+
powered: off</p>
|
139
|
+
|
140
|
+
<pre>=> 0</pre>
|
141
|
+
|
142
|
+
<p>1.9.3p194 :010 ></p>
|
143
|
+
|
144
|
+
<p>1.9.3p194 :010 > vlan_json = { :vlan_id => ‘200’, :vlan_name =>
|
145
|
+
‘OpenStack-Mgmt’ }.to_json</p>
|
146
|
+
|
147
|
+
<pre>=> "{\"vlan_id\":\"200\",\"vlan_name\":\"OpenStack-Mgmt\"}"</pre>
|
148
|
+
|
149
|
+
<p>1.9.3p194 :011 > ucs_provision.methods</p>
|
150
|
+
|
151
|
+
<pre>=> [:set_power_policy, :set_chassis_discovery_policy, :set_time_zone, :set_ntp, :create_server_port, :create_network_uplink_port, :create_fc_uplink_port, :create_port_channel, :create_org, :set_local_disk_policy, :create_local_boot_policy, :create_pxe_boot_policy, :create_san_boot_policy, :create_management_ip_pool, :create_vlan, :create_mac_pool, :create_vnic_template, :create_vsan, :create_wwnn_pool, :create_wwpn_pool, :create_vhba_template, :create_uuid_pool, :create_service_profile_template, :create_service_profiles_from_template, :create_service_profiles, :to_json, :nil?, :===, :=~, :!~, :eql?, :hash, :<=>, :class, :singleton_class, :clone, :dup, :initialize_dup, :initialize_clone, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :to_s, :inspect, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :instance_of?, :kind_of?, :is_a?, :tap, :send, :public_send, :respond_to?, :respond_to_missing?, :extend, :display, :method, :public_method, :define_singleton_method, :object_id, :to_enum, :enum_for, :==, :equal?, :!, :!=, :instance_eval, :instance_exec, :__send__, :__id__]</pre>
|
152
|
+
|
153
|
+
<p>1.9.3p194 :012 ></p>
|
154
|
+
|
155
|
+
<p>1.9.3p194 :012 > ucs_provision.create_vlan(vlan_json)</p>
|
156
|
+
|
157
|
+
<pre>=> " <configConfMos cookie=\"1336941096/ea496248-d200-4a10-8e46-c73b59971864\" response=\"yes\"> <outConfigs> <pair key=\"fabric/lan/net-OpenStack-Mgmt\"> <fabricVlan childAction=\"deleteNonPresent\" defaultNet=\"no\" dn=\"fabric/lan/net-OpenStack-Mgmt\" epDn=\"\" id=\"200\" ifRole=\"network\" ifType=\"virtual\" locale=\"external\" name=\"OpenStack-Mgmt\" operState=\"ok\" peerDn=\"\" pubNwDn=\"\" pubNwId=\"0\" pubNwName=\"\" sharing=\"none\" status=\"created\" switchId=\"dual\" transport=\"ether\" type=\"lan\"/> </pair> </outConfigs> </configConfMos>"</pre>
|
158
|
+
|
159
|
+
<p>1.9.3p194 :013 ></p>
|
160
|
+
|
161
|
+
<p>1.9.3p194 :015 > xml_dump = ucs_inventory.discover(token_json)</p>
|
162
|
+
|
163
|
+
<p>1.9.3p194 :015 > ucs_inventory.list_vlans(xml_dump) VLAN: 1 with name:
|
164
|
+
default VLAN: 1 with name: default VLAN: 5 with name: human-resource VLAN:
|
165
|
+
1 with name: default VLAN: 3 with name: finance VLAN: 5 with name:
|
166
|
+
human-resource VLAN: 1 with name: default VLAN: 3 with name: finance VLAN:
|
167
|
+
100 with name: Tenant-1 VLAN: 200 with name: OpenStack-Mgmt</p>
|
168
|
+
|
169
|
+
<pre>=> 0</pre>
|
170
|
+
|
171
|
+
<p>1.9.3p194 :016 ></p>
|
92
172
|
|
93
173
|
<h2>Features</h2>
|
94
174
|
<ol><li>
|
@@ -98,6 +178,8 @@ toolchain - Puppet or Chef and others - for deployment automation
|
|
98
178
|
</li></ol>
|
99
179
|
|
100
180
|
<h2>ToDo</h2>
|
181
|
+
|
182
|
+
<p>Besides Documentation, Documentation, Documentation!</p>
|
101
183
|
<ol><li>
|
102
184
|
<p>Firmware Management</p>
|
103
185
|
</li><li>
|
@@ -116,8 +198,6 @@ implemented or the bug hasn’t been fixed yet.</p>
|
|
116
198
|
<p>Check out the issue tracker to make sure someone already hasn’t requested
|
117
199
|
it and/or contributed it.</p>
|
118
200
|
</li><li>
|
119
|
-
<p>Fork the project.</p>
|
120
|
-
</li><li>
|
121
201
|
<p>Start a feature/bugfix branch.</p>
|
122
202
|
</li><li>
|
123
203
|
<p>Commit and push until you are happy with your contribution.</p>
|
data/html/UCSToken.html
CHANGED
@@ -178,7 +178,7 @@
|
|
178
178
|
|
179
179
|
<span class="ruby-identifier">xml_builder</span> = <span class="ruby-constant">Nokogiri</span><span class="ruby-operator">::</span><span class="ruby-constant">XML</span><span class="ruby-operator">::</span><span class="ruby-constant">Builder</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">xml</span><span class="ruby-operator">|</span>
|
180
180
|
<span class="ruby-identifier">xml</span>.<span class="ruby-identifier">aaaLogin</span>(<span class="ruby-string">'inName'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">username</span>, <span class="ruby-string">'inPassword'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">password</span>)
|
181
|
-
|
181
|
+
<span class="ruby-keyword">end</span>
|
182
182
|
<span class="ruby-identifier">aaa_login_xml</span> = <span class="ruby-identifier">xml_builder</span>.<span class="ruby-identifier">to_xml</span>.<span class="ruby-identifier">to_s</span>
|
183
183
|
<span class="ruby-identifier">ucs_response</span> = <span class="ruby-constant">RestClient</span>.<span class="ruby-identifier">post</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">aaa_login_xml</span>, <span class="ruby-value">:content_type</span> =<span class="ruby-operator">></span> <span class="ruby-string">'text/xml'</span>).<span class="ruby-identifier">body</span>
|
184
184
|
<span class="ruby-identifier">ucs_login_doc</span> = <span class="ruby-constant">Nokogiri</span><span class="ruby-operator">::</span><span class="ruby-constant">XML</span>(<span class="ruby-identifier">ucs_response</span>)
|
@@ -229,8 +229,8 @@
|
|
229
229
|
<span class="ruby-comment"># File lib/ucslib/session.rb, line 88</span>
|
230
230
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">logout</span>(<span class="ruby-identifier">tokenjson</span>)
|
231
231
|
|
232
|
-
<span class="ruby-identifier">cookie</span> = <span class="ruby-node">"#{JSON.parse(tokenjson)
|
233
|
-
<span class="ruby-identifier">ip</span> = <span class="ruby-node">"#{JSON.parse(tokenjson)
|
232
|
+
<span class="ruby-identifier">cookie</span> = <span class="ruby-node">"#{JSON.parse(tokenjson)['cookie']}"</span>
|
233
|
+
<span class="ruby-identifier">ip</span> = <span class="ruby-node">"#{JSON.parse(tokenjson)['ip']}"</span>
|
234
234
|
<span class="ruby-identifier">url</span> = <span class="ruby-node">"https://#{ip}/nuova"</span>
|
235
235
|
|
236
236
|
<span class="ruby-identifier">xml_builder</span> = <span class="ruby-constant">Nokogiri</span><span class="ruby-operator">::</span><span class="ruby-constant">XML</span><span class="ruby-operator">::</span><span class="ruby-constant">Builder</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">xml</span><span class="ruby-operator">|</span>
|
@@ -239,11 +239,10 @@
|
|
239
239
|
|
240
240
|
<span class="ruby-identifier">aaaLogoutXML</span> = <span class="ruby-identifier">xml_builder</span>.<span class="ruby-identifier">to_xml</span>.<span class="ruby-identifier">to_s</span>
|
241
241
|
|
242
|
-
<span class="ruby-
|
243
|
-
<span class="ruby-
|
244
|
-
|
245
|
-
<span class="ruby-
|
246
|
-
<span class="ruby-identifier">puts</span> <span class="ruby-string">'Something went wrong. Lost connection to the UCS System'</span>
|
242
|
+
<span class="ruby-keyword">begin</span>
|
243
|
+
<span class="ruby-constant">RestClient</span>.<span class="ruby-identifier">post</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">aaaLogoutXML</span>, <span class="ruby-value">:content_type</span> =<span class="ruby-operator">></span> <span class="ruby-string">'text/xml'</span>).<span class="ruby-identifier">body</span>
|
244
|
+
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
245
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Error #{e}"</span>
|
247
246
|
<span class="ruby-keyword">end</span>
|
248
247
|
|
249
248
|
<span class="ruby-keyword">end</span></pre>
|
data/html/created.rid
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
Sun, 13 May 2012
|
2
|
-
README.rdoc Sun, 13 May 2012
|
1
|
+
Sun, 13 May 2012 16:46:01 -0400
|
2
|
+
README.rdoc Sun, 13 May 2012 16:43:42 -0400
|
3
3
|
lib/ucslib/inventory.rb Sun, 13 May 2012 13:23:45 -0400
|
4
|
-
lib/ucslib/provision.rb Sun, 13 May 2012
|
5
|
-
lib/ucslib/session.rb Sun, 13 May 2012
|
4
|
+
lib/ucslib/provision.rb Sun, 13 May 2012 16:19:41 -0400
|
5
|
+
lib/ucslib/session.rb Sun, 13 May 2012 16:19:37 -0400
|
6
6
|
lib/ucslib/version.rb Sun, 13 May 2012 13:23:52 -0400
|
7
7
|
lib/ucslib.rb Sat, 12 May 2012 15:18:22 -0400
|
data/html/index.html
CHANGED
@@ -25,15 +25,95 @@
|
|
25
25
|
<div id="main">
|
26
26
|
|
27
27
|
|
28
|
-
<p>Ruby Client Library for Cisco UCS that could be
|
29
|
-
|
30
|
-
(
|
28
|
+
<p>Ruby Client Library for Cisco UCS Manager that could be used by DevOps
|
29
|
+
toolchains - Puppet or Chef and other custom tools - to provide MaaS
|
30
|
+
(Metal-as-a-Service) for installing and running OpenStack, Hadoop, etc.
|
31
|
+
ucslib accepts JSON as configuration for provisioning.</p>
|
31
32
|
|
32
33
|
<h2>Install</h2>
|
33
34
|
|
34
35
|
<p>gem install ucslib</p>
|
35
36
|
|
36
|
-
<h2>Usage</h2>
|
37
|
+
<h2>Usage (example irb session)</h2>
|
38
|
+
|
39
|
+
<p>Just do “require ucslib” in your apps. Below is an introspection of some of
|
40
|
+
the capabilities using IRB.</p>
|
41
|
+
|
42
|
+
<p>➜ ucslib git:(master) ✗ irb 1.9.3p194 :001 > require ‘ucslib’</p>
|
43
|
+
|
44
|
+
<pre>=> true</pre>
|
45
|
+
|
46
|
+
<p>1.9.3p194 :002 > auth_json = { :username => ‘admin’, :password =>
|
47
|
+
‘admin’, :ip => ‘172.16.75.137’ }.to_json</p>
|
48
|
+
|
49
|
+
<pre>=> "{\"username\":\"admin\",\"password\":\"admin\",\"ip\":\"172.16.75.137\"}"</pre>
|
50
|
+
|
51
|
+
<p>1.9.3p194 :003 > ucs_session = UCSToken.new</p>
|
52
|
+
|
53
|
+
<pre>=> #<UCSToken:0x007ff4d92062c0></pre>
|
54
|
+
|
55
|
+
<p>1.9.3p194 :004 > token_json = ucs_session.get_token(auth_json)</p>
|
56
|
+
|
57
|
+
<pre>=> "{\"cookie\":\"1336941096/ea496248-d200-4a10-8e46-c73b59971864\",\"username\":\"admin\",\"password\":\"admin\",\"ip\":\"172.16.75.137\"}"</pre>
|
58
|
+
|
59
|
+
<p>1.9.3p194 :005 > ucs_inventory = UCSInventory.new</p>
|
60
|
+
|
61
|
+
<pre>=> #<UCSInventory:0x007ff4d92cd8c0></pre>
|
62
|
+
|
63
|
+
<p>1.9.3p194 :006 > ucs_provision = <a
|
64
|
+
href="UCSProvision.html#method-c-new">UCSProvision.new(token_json)</a></p>
|
65
|
+
|
66
|
+
<pre>=> #<UCSProvision:0x007ff4d92c0378 @cookie="1336941096/ea496248-d200-4a10-8e46-c73b59971864", @url="https://172.16.75.137/nuova"></pre>
|
67
|
+
|
68
|
+
<p>1.9.3p194 :007 > xml_dump = ucs_inventory.discover(token_json)</p>
|
69
|
+
|
70
|
+
<p>1.9.3p194 :008 > ucs_inventory.methods</p>
|
71
|
+
|
72
|
+
<pre>=> [:discover, :list_blades, :list_vsans, :list_vlans, :list_cpus, :list_memory, :list_service_profiles, :list_running_firmware, :to_json, :nil?, :===, :=~, :!~, :eql?, :hash, :<=>, :class, :singleton_class, :clone, :dup, :initialize_dup, :initialize_clone, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :to_s, :inspect, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :instance_of?, :kind_of?, :is_a?, :tap, :send, :public_send, :respond_to?, :respond_to_missing?, :extend, :display, :method, :public_method, :define_singleton_method, :object_id, :to_enum, :enum_for, :==, :equal?, :!, :!=, :instance_eval, :instance_exec, :__send__, :__id__]</pre>
|
73
|
+
|
74
|
+
<p>1.9.3p194 :009 ></p>
|
75
|
+
|
76
|
+
<p>1.9.3p194 :009 > ucs_inventory.list_blades(xml_dump) Blade : 1/5 model:
|
77
|
+
UCSB-B200-M3 with serial: 1049 is powered: off Blade : 1/6 model:
|
78
|
+
N20-B6625-1 with serial: 1053 is powered: off Blade : 1/1 model:
|
79
|
+
N20-B6620-1 with serial: 1045 is powered: on Blade : 1/7 model: N20-B6740-2
|
80
|
+
with serial: 1052 is powered: off Blade : 1/2 model: N20-B6620-1 with
|
81
|
+
serial: 1054 is powered: off Blade : 1/4 model: N20-B6620-1 with serial:
|
82
|
+
1051 is powered: off Blade : 1/3 model: N20-B6620-1 with serial: 1055 is
|
83
|
+
powered: off</p>
|
84
|
+
|
85
|
+
<pre>=> 0</pre>
|
86
|
+
|
87
|
+
<p>1.9.3p194 :010 ></p>
|
88
|
+
|
89
|
+
<p>1.9.3p194 :010 > vlan_json = { :vlan_id => ‘200’, :vlan_name =>
|
90
|
+
‘OpenStack-Mgmt’ }.to_json</p>
|
91
|
+
|
92
|
+
<pre>=> "{\"vlan_id\":\"200\",\"vlan_name\":\"OpenStack-Mgmt\"}"</pre>
|
93
|
+
|
94
|
+
<p>1.9.3p194 :011 > ucs_provision.methods</p>
|
95
|
+
|
96
|
+
<pre>=> [:set_power_policy, :set_chassis_discovery_policy, :set_time_zone, :set_ntp, :create_server_port, :create_network_uplink_port, :create_fc_uplink_port, :create_port_channel, :create_org, :set_local_disk_policy, :create_local_boot_policy, :create_pxe_boot_policy, :create_san_boot_policy, :create_management_ip_pool, :create_vlan, :create_mac_pool, :create_vnic_template, :create_vsan, :create_wwnn_pool, :create_wwpn_pool, :create_vhba_template, :create_uuid_pool, :create_service_profile_template, :create_service_profiles_from_template, :create_service_profiles, :to_json, :nil?, :===, :=~, :!~, :eql?, :hash, :<=>, :class, :singleton_class, :clone, :dup, :initialize_dup, :initialize_clone, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :to_s, :inspect, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :instance_of?, :kind_of?, :is_a?, :tap, :send, :public_send, :respond_to?, :respond_to_missing?, :extend, :display, :method, :public_method, :define_singleton_method, :object_id, :to_enum, :enum_for, :==, :equal?, :!, :!=, :instance_eval, :instance_exec, :__send__, :__id__]</pre>
|
97
|
+
|
98
|
+
<p>1.9.3p194 :012 ></p>
|
99
|
+
|
100
|
+
<p>1.9.3p194 :012 > ucs_provision.create_vlan(vlan_json)</p>
|
101
|
+
|
102
|
+
<pre>=> " <configConfMos cookie=\"1336941096/ea496248-d200-4a10-8e46-c73b59971864\" response=\"yes\"> <outConfigs> <pair key=\"fabric/lan/net-OpenStack-Mgmt\"> <fabricVlan childAction=\"deleteNonPresent\" defaultNet=\"no\" dn=\"fabric/lan/net-OpenStack-Mgmt\" epDn=\"\" id=\"200\" ifRole=\"network\" ifType=\"virtual\" locale=\"external\" name=\"OpenStack-Mgmt\" operState=\"ok\" peerDn=\"\" pubNwDn=\"\" pubNwId=\"0\" pubNwName=\"\" sharing=\"none\" status=\"created\" switchId=\"dual\" transport=\"ether\" type=\"lan\"/> </pair> </outConfigs> </configConfMos>"</pre>
|
103
|
+
|
104
|
+
<p>1.9.3p194 :013 ></p>
|
105
|
+
|
106
|
+
<p>1.9.3p194 :015 > xml_dump = ucs_inventory.discover(token_json)</p>
|
107
|
+
|
108
|
+
<p>1.9.3p194 :015 > ucs_inventory.list_vlans(xml_dump) VLAN: 1 with name:
|
109
|
+
default VLAN: 1 with name: default VLAN: 5 with name: human-resource VLAN:
|
110
|
+
1 with name: default VLAN: 3 with name: finance VLAN: 5 with name:
|
111
|
+
human-resource VLAN: 1 with name: default VLAN: 3 with name: finance VLAN:
|
112
|
+
100 with name: Tenant-1 VLAN: 200 with name: OpenStack-Mgmt</p>
|
113
|
+
|
114
|
+
<pre>=> 0</pre>
|
115
|
+
|
116
|
+
<p>1.9.3p194 :016 ></p>
|
37
117
|
|
38
118
|
<h2>Features</h2>
|
39
119
|
<ol><li>
|
@@ -43,6 +123,8 @@ toolchain - Puppet or Chef and others - for deployment automation
|
|
43
123
|
</li></ol>
|
44
124
|
|
45
125
|
<h2>ToDo</h2>
|
126
|
+
|
127
|
+
<p>Besides Documentation, Documentation, Documentation!</p>
|
46
128
|
<ol><li>
|
47
129
|
<p>Firmware Management</p>
|
48
130
|
</li><li>
|
@@ -61,8 +143,6 @@ implemented or the bug hasn’t been fixed yet.</p>
|
|
61
143
|
<p>Check out the issue tracker to make sure someone already hasn’t requested
|
62
144
|
it and/or contributed it.</p>
|
63
145
|
</li><li>
|
64
|
-
<p>Fork the project.</p>
|
65
|
-
</li><li>
|
66
146
|
<p>Start a feature/bugfix branch.</p>
|
67
147
|
</li><li>
|
68
148
|
<p>Commit and push until you are happy with your contribution.</p>
|
data/lib/ucslib/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ucslib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-05-13 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
16
|
-
requirement: &
|
16
|
+
requirement: &70163768824620 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70163768824620
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rest-client
|
27
|
-
requirement: &
|
27
|
+
requirement: &70163768824020 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70163768824020
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: json
|
38
|
-
requirement: &
|
38
|
+
requirement: &70163768823600 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70163768823600
|
47
47
|
description: RUby UCS Manager API abstraction to build automation tools
|
48
48
|
email:
|
49
49
|
- murali.raju@appliv.com
|