ucslib 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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 consumed by DevOps
84
- toolchain - Puppet or Chef and others - for deployment automation
85
- (OpenStack, Hadoop or even MaaS (Metal as Service) Use Cases).</p>
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 &gt; require ‘ucslib’</p>
98
+
99
+ <pre>=&gt; true</pre>
100
+
101
+ <p>1.9.3p194 :002 &gt; auth_json = { :username =&gt; ‘admin’, :password =&gt;
102
+ ‘admin’, :ip =&gt; ‘172.16.75.137’ }.to_json</p>
103
+
104
+ <pre>=&gt; &quot;{\&quot;username\&quot;:\&quot;admin\&quot;,\&quot;password\&quot;:\&quot;admin\&quot;,\&quot;ip\&quot;:\&quot;172.16.75.137\&quot;}&quot;</pre>
105
+
106
+ <p>1.9.3p194 :003 &gt; ucs_session = UCSToken.new</p>
107
+
108
+ <pre>=&gt; #&lt;UCSToken:0x007ff4d92062c0&gt;</pre>
109
+
110
+ <p>1.9.3p194 :004 &gt; token_json = ucs_session.get_token(auth_json)</p>
111
+
112
+ <pre>=&gt; &quot;{\&quot;cookie\&quot;:\&quot;1336941096/ea496248-d200-4a10-8e46-c73b59971864\&quot;,\&quot;username\&quot;:\&quot;admin\&quot;,\&quot;password\&quot;:\&quot;admin\&quot;,\&quot;ip\&quot;:\&quot;172.16.75.137\&quot;}&quot;</pre>
113
+
114
+ <p>1.9.3p194 :005 &gt; ucs_inventory = UCSInventory.new</p>
115
+
116
+ <pre>=&gt; #&lt;UCSInventory:0x007ff4d92cd8c0&gt;</pre>
117
+
118
+ <p>1.9.3p194 :006 &gt; ucs_provision = <a
119
+ href="UCSProvision.html#method-c-new">UCSProvision.new(token_json)</a></p>
120
+
121
+ <pre>=&gt; #&lt;UCSProvision:0x007ff4d92c0378 @cookie=&quot;1336941096/ea496248-d200-4a10-8e46-c73b59971864&quot;, @url=&quot;https://172.16.75.137/nuova&quot;&gt;</pre>
122
+
123
+ <p>1.9.3p194 :007 &gt; xml_dump = ucs_inventory.discover(token_json)</p>
124
+
125
+ <p>1.9.3p194 :008 &gt; ucs_inventory.methods</p>
126
+
127
+ <pre>=&gt; [:discover, :list_blades, :list_vsans, :list_vlans, :list_cpus, :list_memory, :list_service_profiles, :list_running_firmware, :to_json, :nil?, :===, :=~, :!~, :eql?, :hash, :&lt;=&gt;, :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 &gt;</p>
130
+
131
+ <p>1.9.3p194 :009 &gt; 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>=&gt; 0</pre>
141
+
142
+ <p>1.9.3p194 :010 &gt;</p>
143
+
144
+ <p>1.9.3p194 :010 &gt; vlan_json = { :vlan_id =&gt; ‘200’, :vlan_name =&gt;
145
+ ‘OpenStack-Mgmt’ }.to_json</p>
146
+
147
+ <pre>=&gt; &quot;{\&quot;vlan_id\&quot;:\&quot;200\&quot;,\&quot;vlan_name\&quot;:\&quot;OpenStack-Mgmt\&quot;}&quot;</pre>
148
+
149
+ <p>1.9.3p194 :011 &gt; ucs_provision.methods</p>
150
+
151
+ <pre>=&gt; [: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, :&lt;=&gt;, :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 &gt;</p>
154
+
155
+ <p>1.9.3p194 :012 &gt; ucs_provision.create_vlan(vlan_json)</p>
156
+
157
+ <pre>=&gt; &quot; &lt;configConfMos cookie=\&quot;1336941096/ea496248-d200-4a10-8e46-c73b59971864\&quot; response=\&quot;yes\&quot;&gt; &lt;outConfigs&gt; &lt;pair key=\&quot;fabric/lan/net-OpenStack-Mgmt\&quot;&gt; &lt;fabricVlan childAction=\&quot;deleteNonPresent\&quot; defaultNet=\&quot;no\&quot; dn=\&quot;fabric/lan/net-OpenStack-Mgmt\&quot; epDn=\&quot;\&quot; id=\&quot;200\&quot; ifRole=\&quot;network\&quot; ifType=\&quot;virtual\&quot; locale=\&quot;external\&quot; name=\&quot;OpenStack-Mgmt\&quot; operState=\&quot;ok\&quot; peerDn=\&quot;\&quot; pubNwDn=\&quot;\&quot; pubNwId=\&quot;0\&quot; pubNwName=\&quot;\&quot; sharing=\&quot;none\&quot; status=\&quot;created\&quot; switchId=\&quot;dual\&quot; transport=\&quot;ether\&quot; type=\&quot;lan\&quot;/&gt; &lt;/pair&gt; &lt;/outConfigs&gt; &lt;/configConfMos&gt;&quot;</pre>
158
+
159
+ <p>1.9.3p194 :013 &gt;</p>
160
+
161
+ <p>1.9.3p194 :015 &gt; xml_dump = ucs_inventory.discover(token_json)</p>
162
+
163
+ <p>1.9.3p194 :015 &gt; 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>=&gt; 0</pre>
170
+
171
+ <p>1.9.3p194 :016 &gt;</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">&gt;</span> <span class="ruby-identifier">username</span>, <span class="ruby-string">'inPassword'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">password</span>)
181
- <span class="ruby-keyword">end</span>
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">&gt;</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">&quot;#{JSON.parse(tokenjson).values[0]}&quot;</span>
233
- <span class="ruby-identifier">ip</span> = <span class="ruby-node">&quot;#{JSON.parse(tokenjson).values[3]}&quot;</span>
232
+ <span class="ruby-identifier">cookie</span> = <span class="ruby-node">&quot;#{JSON.parse(tokenjson)['cookie']}&quot;</span>
233
+ <span class="ruby-identifier">ip</span> = <span class="ruby-node">&quot;#{JSON.parse(tokenjson)['ip']}&quot;</span>
234
234
  <span class="ruby-identifier">url</span> = <span class="ruby-node">&quot;https://#{ip}/nuova&quot;</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-identifier">ucsResponse</span> = <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">&gt;</span> <span class="ruby-string">'text/xml'</span>).<span class="ruby-identifier">body</span>
243
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">ucsResponse</span>
244
- <span class="ruby-identifier">puts</span> <span class="ruby-string">'Sucessfully logged out.'</span>
245
- <span class="ruby-keyword">else</span>
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">&gt;</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">&gt;</span> <span class="ruby-identifier">e</span>
245
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Error #{e}&quot;</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 15:57:51 -0400
2
- README.rdoc Sun, 13 May 2012 15:57:18 -0400
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 15:51:38 -0400
5
- lib/ucslib/session.rb Sun, 13 May 2012 13:23:49 -0400
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 consumed by DevOps
29
- toolchain - Puppet or Chef and others - for deployment automation
30
- (OpenStack, Hadoop or even MaaS (Metal as Service) Use Cases).</p>
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 &gt; require ‘ucslib’</p>
43
+
44
+ <pre>=&gt; true</pre>
45
+
46
+ <p>1.9.3p194 :002 &gt; auth_json = { :username =&gt; ‘admin’, :password =&gt;
47
+ ‘admin’, :ip =&gt; ‘172.16.75.137’ }.to_json</p>
48
+
49
+ <pre>=&gt; &quot;{\&quot;username\&quot;:\&quot;admin\&quot;,\&quot;password\&quot;:\&quot;admin\&quot;,\&quot;ip\&quot;:\&quot;172.16.75.137\&quot;}&quot;</pre>
50
+
51
+ <p>1.9.3p194 :003 &gt; ucs_session = UCSToken.new</p>
52
+
53
+ <pre>=&gt; #&lt;UCSToken:0x007ff4d92062c0&gt;</pre>
54
+
55
+ <p>1.9.3p194 :004 &gt; token_json = ucs_session.get_token(auth_json)</p>
56
+
57
+ <pre>=&gt; &quot;{\&quot;cookie\&quot;:\&quot;1336941096/ea496248-d200-4a10-8e46-c73b59971864\&quot;,\&quot;username\&quot;:\&quot;admin\&quot;,\&quot;password\&quot;:\&quot;admin\&quot;,\&quot;ip\&quot;:\&quot;172.16.75.137\&quot;}&quot;</pre>
58
+
59
+ <p>1.9.3p194 :005 &gt; ucs_inventory = UCSInventory.new</p>
60
+
61
+ <pre>=&gt; #&lt;UCSInventory:0x007ff4d92cd8c0&gt;</pre>
62
+
63
+ <p>1.9.3p194 :006 &gt; ucs_provision = <a
64
+ href="UCSProvision.html#method-c-new">UCSProvision.new(token_json)</a></p>
65
+
66
+ <pre>=&gt; #&lt;UCSProvision:0x007ff4d92c0378 @cookie=&quot;1336941096/ea496248-d200-4a10-8e46-c73b59971864&quot;, @url=&quot;https://172.16.75.137/nuova&quot;&gt;</pre>
67
+
68
+ <p>1.9.3p194 :007 &gt; xml_dump = ucs_inventory.discover(token_json)</p>
69
+
70
+ <p>1.9.3p194 :008 &gt; ucs_inventory.methods</p>
71
+
72
+ <pre>=&gt; [:discover, :list_blades, :list_vsans, :list_vlans, :list_cpus, :list_memory, :list_service_profiles, :list_running_firmware, :to_json, :nil?, :===, :=~, :!~, :eql?, :hash, :&lt;=&gt;, :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 &gt;</p>
75
+
76
+ <p>1.9.3p194 :009 &gt; 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>=&gt; 0</pre>
86
+
87
+ <p>1.9.3p194 :010 &gt;</p>
88
+
89
+ <p>1.9.3p194 :010 &gt; vlan_json = { :vlan_id =&gt; ‘200’, :vlan_name =&gt;
90
+ ‘OpenStack-Mgmt’ }.to_json</p>
91
+
92
+ <pre>=&gt; &quot;{\&quot;vlan_id\&quot;:\&quot;200\&quot;,\&quot;vlan_name\&quot;:\&quot;OpenStack-Mgmt\&quot;}&quot;</pre>
93
+
94
+ <p>1.9.3p194 :011 &gt; ucs_provision.methods</p>
95
+
96
+ <pre>=&gt; [: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, :&lt;=&gt;, :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 &gt;</p>
99
+
100
+ <p>1.9.3p194 :012 &gt; ucs_provision.create_vlan(vlan_json)</p>
101
+
102
+ <pre>=&gt; &quot; &lt;configConfMos cookie=\&quot;1336941096/ea496248-d200-4a10-8e46-c73b59971864\&quot; response=\&quot;yes\&quot;&gt; &lt;outConfigs&gt; &lt;pair key=\&quot;fabric/lan/net-OpenStack-Mgmt\&quot;&gt; &lt;fabricVlan childAction=\&quot;deleteNonPresent\&quot; defaultNet=\&quot;no\&quot; dn=\&quot;fabric/lan/net-OpenStack-Mgmt\&quot; epDn=\&quot;\&quot; id=\&quot;200\&quot; ifRole=\&quot;network\&quot; ifType=\&quot;virtual\&quot; locale=\&quot;external\&quot; name=\&quot;OpenStack-Mgmt\&quot; operState=\&quot;ok\&quot; peerDn=\&quot;\&quot; pubNwDn=\&quot;\&quot; pubNwId=\&quot;0\&quot; pubNwName=\&quot;\&quot; sharing=\&quot;none\&quot; status=\&quot;created\&quot; switchId=\&quot;dual\&quot; transport=\&quot;ether\&quot; type=\&quot;lan\&quot;/&gt; &lt;/pair&gt; &lt;/outConfigs&gt; &lt;/configConfMos&gt;&quot;</pre>
103
+
104
+ <p>1.9.3p194 :013 &gt;</p>
105
+
106
+ <p>1.9.3p194 :015 &gt; xml_dump = ucs_inventory.discover(token_json)</p>
107
+
108
+ <p>1.9.3p194 :015 &gt; 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>=&gt; 0</pre>
115
+
116
+ <p>1.9.3p194 :016 &gt;</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>
@@ -24,7 +24,7 @@
24
24
  <div id="metadata">
25
25
  <dl>
26
26
  <dt class="modified-date">Last Modified</dt>
27
- <dd class="modified-date">2012-05-13 15:51:38 -0400</dd>
27
+ <dd class="modified-date">2012-05-13 16:19:41 -0400</dd>
28
28
 
29
29
 
30
30
  <dt class="requires">Requires</dt>
@@ -24,7 +24,7 @@
24
24
  <div id="metadata">
25
25
  <dl>
26
26
  <dt class="modified-date">Last Modified</dt>
27
- <dd class="modified-date">2012-05-13 13:23:49 -0400</dd>
27
+ <dd class="modified-date">2012-05-13 16:19:37 -0400</dd>
28
28
 
29
29
 
30
30
  <dt class="requires">Requires</dt>
@@ -16,5 +16,5 @@
16
16
  #
17
17
 
18
18
  module Ucslib
19
- VERSION = "0.0.2"
19
+ VERSION = "0.0.3"
20
20
  end
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.2
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: &70183491062120 !ruby/object:Gem::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: *70183491062120
24
+ version_requirements: *70163768824620
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rest-client
27
- requirement: &70183491061540 !ruby/object:Gem::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: *70183491061540
35
+ version_requirements: *70163768824020
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: json
38
- requirement: &70183491061100 !ruby/object:Gem::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: *70183491061100
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