Class: Cisco::Vpc
Overview
Vpc - node utility class for VTP configuration management
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from NodeUtil
client, #client, config_get, #config_get, #config_get_default, config_get_default, config_set, #config_set, #get, #ios_xr?, #nexus?, #node, node, platform, #platform, supports?, #supports?
Constructor Details
#initialize(domain_id, instantiate = true) ⇒ Vpc
30
31
32
33
34
|
# File 'lib/cisco_node_utils/vpc.rb', line 30
def initialize(domain_id, instantiate=true)
@domain = domain_id
create if instantiate
end
|
Instance Attribute Details
#domain ⇒ Object
Returns the value of attribute domain.
28
29
30
|
# File 'lib/cisco_node_utils/vpc.rb', line 28
def domain
@domain
end
|
Class Method Details
.domains ⇒ Object
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/cisco_node_utils/vpc.rb', line 36
def self.domains
hash = {}
my_domain = config_get('vpc', 'domain')
hash[my_domain] = Vpc.new(my_domain, false) unless my_domain.nil?
hash
rescue Cisco::CliError => e
raise unless e.clierror =~ /Syntax error/
return {}
end
|
.enabled ⇒ Object
47
48
49
50
51
52
53
|
# File 'lib/cisco_node_utils/vpc.rb', line 47
def self.enabled
config_get('vpc', 'feature')
rescue Cisco::CliError => e
raise unless e.clierror =~ /Syntax error/
return false
end
|
Instance Method Details
#arp_synchronize ⇒ Object
308
309
310
|
# File 'lib/cisco_node_utils/vpc.rb', line 308
def arp_synchronize
config_get('vpc', 'arp_synchronize')
end
|
#arp_synchronize=(val) ⇒ Object
312
313
314
315
|
# File 'lib/cisco_node_utils/vpc.rb', line 312
def arp_synchronize=(val)
set_args_keys(state: val ? '' : 'no')
config_set('vpc', 'arp_synchronize', @set_args)
end
|
#auto_recovery ⇒ Object
84
85
86
87
|
# File 'lib/cisco_node_utils/vpc.rb', line 84
def auto_recovery
val = config_get('vpc', 'auto_recovery')
val.nil? ? false : val
end
|
#auto_recovery=(val) ⇒ Object
89
90
91
92
|
# File 'lib/cisco_node_utils/vpc.rb', line 89
def auto_recovery=(val)
set_args_keys(state: val ? '' : 'no')
config_set('vpc', 'auto_recovery', @set_args)
end
|
#auto_recovery_reload_delay ⇒ Object
98
99
100
|
# File 'lib/cisco_node_utils/vpc.rb', line 98
def auto_recovery_reload_delay
config_get('vpc', 'auto_recovery_reload_delay')
end
|
#auto_recovery_reload_delay=(val) ⇒ Object
102
103
104
105
|
# File 'lib/cisco_node_utils/vpc.rb', line 102
def auto_recovery_reload_delay=(val)
set_args_keys(delay: val)
config_set('vpc', 'auto_recovery_reload_delay', @set_args)
end
|
#create ⇒ Object
55
56
57
58
|
# File 'lib/cisco_node_utils/vpc.rb', line 55
def create
enable unless Vpc.enabled
config_set('vpc', 'domain', state: '', domain: @domain)
end
|
#default_arp_synchronize ⇒ Object
334
335
336
|
# File 'lib/cisco_node_utils/vpc.rb', line 334
def default_arp_synchronize
config_get_default('vpc', 'arp_synchronize')
end
|
#default_auto_recovery ⇒ Object
94
95
96
|
# File 'lib/cisco_node_utils/vpc.rb', line 94
def default_auto_recovery
config_get_default('vpc', 'auto_recovery')
end
|
#default_auto_recovery_reload_delay ⇒ Object
107
108
109
|
# File 'lib/cisco_node_utils/vpc.rb', line 107
def default_auto_recovery_reload_delay
config_get_default('vpc', 'auto_recovery_reload_delay')
end
|
#default_delay_restore ⇒ Object
120
121
122
|
# File 'lib/cisco_node_utils/vpc.rb', line 120
def default_delay_restore
config_get_default('vpc', 'delay_restore')
end
|
#default_delay_restore_interface_vlan ⇒ Object
133
134
135
|
# File 'lib/cisco_node_utils/vpc.rb', line 133
def default_delay_restore_interface_vlan
config_get_default('vpc', 'delay_restore_interface_vlan')
end
|
#default_dual_active_exclude_interface_vlan_bridge_domain ⇒ Object
147
148
149
150
|
# File 'lib/cisco_node_utils/vpc.rb', line 147
def default_dual_active_exclude_interface_vlan_bridge_domain
config_get_default('vpc',
'dual_active_exclude_interface_vlan_bridge_domain')
end
|
#default_fabricpath_emulated_switch_id ⇒ Object
163
164
165
|
# File 'lib/cisco_node_utils/vpc.rb', line 163
def default_fabricpath_emulated_switch_id
config_get_default('vpc', 'fabricpath_emulated_switch_id')
end
|
#default_fabricpath_multicast_load_balance ⇒ Object
180
181
182
|
# File 'lib/cisco_node_utils/vpc.rb', line 180
def default_fabricpath_multicast_load_balance
config_get_default('vpc', 'fabricpath_multicast_load_balance')
end
|
#default_graceful_consistency_check ⇒ Object
194
195
196
|
# File 'lib/cisco_node_utils/vpc.rb', line 194
def default_graceful_consistency_check
config_get_default('vpc', 'graceful_consistency_check')
end
|
#default_layer3_peer_routing ⇒ Object
210
211
212
|
# File 'lib/cisco_node_utils/vpc.rb', line 210
def default_layer3_peer_routing
config_get_default('vpc', 'layer3_peer_routing')
end
|
#default_nd_synchronize ⇒ Object
338
339
340
|
# File 'lib/cisco_node_utils/vpc.rb', line 338
def default_nd_synchronize
config_get_default('vpc', 'nd_synchronize')
end
|
#default_peer_gateway ⇒ Object
326
327
328
|
# File 'lib/cisco_node_utils/vpc.rb', line 326
def default_peer_gateway
config_get_default('vpc', 'peer_gateway')
end
|
#default_peer_gateway_exclude_bridge_domain ⇒ Object
351
352
353
|
# File 'lib/cisco_node_utils/vpc.rb', line 351
def default_peer_gateway_exclude_bridge_domain
config_get_default('vpc', 'peer_gateway_exclude_bridge_domain')
end
|
#default_peer_gateway_exclude_vlan ⇒ Object
364
365
366
|
# File 'lib/cisco_node_utils/vpc.rb', line 364
def default_peer_gateway_exclude_vlan
config_get_default('vpc', 'peer_gateway_exclude_vlan')
end
|
#default_peer_keepalive_dest ⇒ Object
219
220
221
|
# File 'lib/cisco_node_utils/vpc.rb', line 219
def default_peer_keepalive_dest
config_get_default('vpc', 'peer_keepalive_dest')
end
|
#default_peer_keepalive_hold_timeout ⇒ Object
227
228
229
|
# File 'lib/cisco_node_utils/vpc.rb', line 227
def default_peer_keepalive_hold_timeout
config_get_default('vpc', 'peer_keepalive_hold_timeout')
end
|
#default_peer_keepalive_interval ⇒ Object
235
236
237
|
# File 'lib/cisco_node_utils/vpc.rb', line 235
def default_peer_keepalive_interval
config_get_default('vpc', 'peer_keepalive_interval')
end
|
#default_peer_keepalive_interval_timeout ⇒ Object
243
244
245
|
# File 'lib/cisco_node_utils/vpc.rb', line 243
def default_peer_keepalive_interval_timeout
config_get_default('vpc', 'peer_keepalive_timeout')
end
|
#default_peer_keepalive_precedence ⇒ Object
251
252
253
|
# File 'lib/cisco_node_utils/vpc.rb', line 251
def default_peer_keepalive_precedence
config_get_default('vpc', 'peer_keepalive_precedence')
end
|
#default_peer_keepalive_src ⇒ Object
259
260
261
|
# File 'lib/cisco_node_utils/vpc.rb', line 259
def default_peer_keepalive_src
config_get_default('vpc', 'peer_keepalive_src')
end
|
#default_peer_keepalive_udp_port ⇒ Object
267
268
269
|
# File 'lib/cisco_node_utils/vpc.rb', line 267
def default_peer_keepalive_udp_port
config_get_default('vpc', 'peer_keepalive_udp_port')
end
|
#default_peer_keepalive_vrf ⇒ Object
275
276
277
|
# File 'lib/cisco_node_utils/vpc.rb', line 275
def default_peer_keepalive_vrf
config_get_default('vpc', 'peer_keepalive_vrf')
end
|
#default_peer_switch ⇒ Object
330
331
332
|
# File 'lib/cisco_node_utils/vpc.rb', line 330
def default_peer_switch
config_get_default('vpc', 'peer_switch')
end
|
#default_port_channel_limit ⇒ Object
381
382
383
|
# File 'lib/cisco_node_utils/vpc.rb', line 381
def default_port_channel_limit
config_get_default('vpc', 'port_channel_limit')
end
|
#default_role_priority ⇒ Object
394
395
396
|
# File 'lib/cisco_node_utils/vpc.rb', line 394
def default_role_priority
config_get_default('vpc', 'role_priority')
end
|
#default_self_isolation ⇒ Object
408
409
410
|
# File 'lib/cisco_node_utils/vpc.rb', line 408
def default_self_isolation
config_get_default('vpc', 'self_isolation')
end
|
#default_shutdown ⇒ Object
421
422
423
|
# File 'lib/cisco_node_utils/vpc.rb', line 421
def default_shutdown
config_get_default('vpc', 'shutdown')
end
|
#default_system_mac ⇒ Object
434
435
436
|
# File 'lib/cisco_node_utils/vpc.rb', line 434
def default_system_mac
config_get_default('vpc', 'system_mac')
end
|
#default_system_priority ⇒ Object
447
448
449
|
# File 'lib/cisco_node_utils/vpc.rb', line 447
def default_system_priority
config_get_default('vpc', 'system_priority')
end
|
#default_track ⇒ Object
465
466
467
|
# File 'lib/cisco_node_utils/vpc.rb', line 465
def default_track
config_get_default('vpc', 'track')
end
|
#delay_restore ⇒ Object
111
112
113
|
# File 'lib/cisco_node_utils/vpc.rb', line 111
def delay_restore
config_get('vpc', 'delay_restore')
end
|
#delay_restore=(delay) ⇒ Object
115
116
117
118
|
# File 'lib/cisco_node_utils/vpc.rb', line 115
def delay_restore=(delay)
set_args_keys(delay: delay)
config_set('vpc', 'delay_restore', @set_args)
end
|
#delay_restore_interface_vlan ⇒ Object
124
125
126
|
# File 'lib/cisco_node_utils/vpc.rb', line 124
def delay_restore_interface_vlan
config_get('vpc', 'delay_restore_interface_vlan')
end
|
#delay_restore_interface_vlan=(delay) ⇒ Object
128
129
130
131
|
# File 'lib/cisco_node_utils/vpc.rb', line 128
def delay_restore_interface_vlan=(delay)
set_args_keys(delay: delay)
config_set('vpc', 'delay_restore_interface_vlan', @set_args)
end
|
#destroy ⇒ Object
60
61
62
|
# File 'lib/cisco_node_utils/vpc.rb', line 60
def destroy
config_set('vpc', 'feature', state: 'no')
end
|
#dual_active_exclude_interface_vlan_bridge_domain ⇒ Object
137
138
139
|
# File 'lib/cisco_node_utils/vpc.rb', line 137
def dual_active_exclude_interface_vlan_bridge_domain
config_get('vpc', 'dual_active_exclude_interface_vlan_bridge_domain')
end
|
#dual_active_exclude_interface_vlan_bridge_domain=(val) ⇒ Object
141
142
143
144
145
|
# File 'lib/cisco_node_utils/vpc.rb', line 141
def dual_active_exclude_interface_vlan_bridge_domain=(val)
set_args_keys(state: val ? '' : 'no', range: val)
config_set('vpc', 'dual_active_exclude_interface_vlan_bridge_domain',
@set_args)
end
|
#enable ⇒ Object
64
65
66
|
# File 'lib/cisco_node_utils/vpc.rb', line 64
def enable
config_set('vpc', 'feature', state: '')
end
|
#fabricpath_emulated_switch_id ⇒ Object
152
153
154
|
# File 'lib/cisco_node_utils/vpc.rb', line 152
def fabricpath_emulated_switch_id
config_get('vpc', 'fabricpath_emulated_switch_id')
end
|
#fabricpath_emulated_switch_id=(switch_id) ⇒ Object
156
157
158
159
160
161
|
# File 'lib/cisco_node_utils/vpc.rb', line 156
def fabricpath_emulated_switch_id=(switch_id)
FabricpathGlobal.fabricpath_enable
set_args_keys(state: switch_id ? '' : 'no',
swid: switch_id ? switch_id : '')
config_set('vpc', 'fabricpath_emulated_switch_id', @set_args)
end
|
#fabricpath_multicast_load_balance ⇒ Object
Note: fabricpath_multicast_load_balance also requires fabricpath_emulated_switch_id before it will be functional but it will config & nvgen independently.
170
171
172
|
# File 'lib/cisco_node_utils/vpc.rb', line 170
def fabricpath_multicast_load_balance
config_get('vpc', 'fabricpath_multicast_load_balance')
end
|
#fabricpath_multicast_load_balance=(state) ⇒ Object
174
175
176
177
178
|
# File 'lib/cisco_node_utils/vpc.rb', line 174
def fabricpath_multicast_load_balance=(state)
FabricpathGlobal.fabricpath_enable
set_args_keys(state: state ? '' : 'no')
config_set('vpc', 'fabricpath_multicast_load_balance', @set_args)
end
|
#graceful_consistency_check ⇒ Object
184
185
186
187
|
# File 'lib/cisco_node_utils/vpc.rb', line 184
def graceful_consistency_check
val = config_get('vpc', 'graceful_consistency_check')
val.nil? ? false : val
end
|
#graceful_consistency_check=(val) ⇒ Object
189
190
191
192
|
# File 'lib/cisco_node_utils/vpc.rb', line 189
def graceful_consistency_check=(val)
set_args_keys(state: val ? '' : 'no')
config_set('vpc', 'graceful_consistency_check', @set_args)
end
|
#layer3_peer_routing ⇒ Object
198
199
200
|
# File 'lib/cisco_node_utils/vpc.rb', line 198
def layer3_peer_routing
config_get('vpc', 'layer3_peer_routing')
end
|
#layer3_peer_routing=(val) ⇒ Object
202
203
204
205
206
207
208
|
# File 'lib/cisco_node_utils/vpc.rb', line 202
def layer3_peer_routing=(val)
return if val == layer3_peer_routing
set_args_keys(state: val ? '' : 'no')
self.peer_gateway = true if !peer_gateway && val
config_set('vpc', 'layer3_peer_routing', @set_args)
end
|
#nd_synchronize ⇒ Object
317
318
319
|
# File 'lib/cisco_node_utils/vpc.rb', line 317
def nd_synchronize
config_get('vpc', 'nd_synchronize')
end
|
#nd_synchronize=(val) ⇒ Object
321
322
323
324
|
# File 'lib/cisco_node_utils/vpc.rb', line 321
def nd_synchronize=(val)
set_args_keys(state: val ? '' : 'no')
config_set('vpc', 'nd_synchronize', @set_args)
end
|
#peer_gateway ⇒ Object
288
289
290
|
# File 'lib/cisco_node_utils/vpc.rb', line 288
def peer_gateway
config_get('vpc', 'peer_gateway')
end
|
#peer_gateway=(val) ⇒ Object
292
293
294
295
296
297
|
# File 'lib/cisco_node_utils/vpc.rb', line 292
def peer_gateway=(val)
set_args_keys(state: val ? '' : 'no')
self.layer3_peer_routing = false if !val && layer3_peer_routing
config_set('vpc', 'peer_gateway', @set_args)
end
|
#peer_gateway_exclude_bridge_domain ⇒ Object
342
343
344
|
# File 'lib/cisco_node_utils/vpc.rb', line 342
def peer_gateway_exclude_bridge_domain
config_get('vpc', 'peer_gateway_exclude_bridge_domain')
end
|
#peer_gateway_exclude_bridge_domain=(val) ⇒ Object
346
347
348
349
|
# File 'lib/cisco_node_utils/vpc.rb', line 346
def peer_gateway_exclude_bridge_domain=(val)
set_args_keys(state: val ? '' : 'no', range: val)
config_set('vpc', 'peer_gateway_exclude_bridge_domain', @set_args)
end
|
#peer_gateway_exclude_vlan ⇒ Object
355
356
357
|
# File 'lib/cisco_node_utils/vpc.rb', line 355
def peer_gateway_exclude_vlan
config_get('vpc', 'peer_gateway_exclude_vlan')
end
|
#peer_gateway_exclude_vlan=(val) ⇒ Object
359
360
361
362
|
# File 'lib/cisco_node_utils/vpc.rb', line 359
def peer_gateway_exclude_vlan=(val)
set_args_keys(state: val ? '' : 'no', range: val)
config_set('vpc', 'peer_gateway_exclude_vlan', @set_args)
end
|
#peer_keepalive_dest ⇒ Object
215
216
217
|
# File 'lib/cisco_node_utils/vpc.rb', line 215
def peer_keepalive_dest
config_get('vpc', 'peer_keepalive_dest')
end
|
#peer_keepalive_hold_timeout ⇒ Object
223
224
225
|
# File 'lib/cisco_node_utils/vpc.rb', line 223
def peer_keepalive_hold_timeout
config_get('vpc', 'peer_keepalive_hold_timeout')
end
|
#peer_keepalive_interval ⇒ Object
231
232
233
|
# File 'lib/cisco_node_utils/vpc.rb', line 231
def peer_keepalive_interval
config_get('vpc', 'peer_keepalive_interval')
end
|
#peer_keepalive_interval_timeout ⇒ Object
239
240
241
|
# File 'lib/cisco_node_utils/vpc.rb', line 239
def peer_keepalive_interval_timeout
config_get('vpc', 'peer_keepalive_timeout')
end
|
#peer_keepalive_precedence ⇒ Object
247
248
249
|
# File 'lib/cisco_node_utils/vpc.rb', line 247
def peer_keepalive_precedence
config_get('vpc', 'peer_keepalive_precedence')
end
|
#peer_keepalive_set(dest, src, udp_port, vrf, interval, timeout, prec, hold_timeout) ⇒ Object
280
281
282
283
284
285
286
|
# File 'lib/cisco_node_utils/vpc.rb', line 280
def peer_keepalive_set(dest, src, udp_port, vrf, interval, timeout,
prec, hold_timeout)
set_args_keys(dest: dest, src: src, port_num: udp_port, vrf: vrf,
interval: interval, timeout: timeout,
precedence: prec, hold_timeout: hold_timeout)
config_set('vpc', 'peer_keepalive_set', @set_args)
end
|
#peer_keepalive_src ⇒ Object
255
256
257
|
# File 'lib/cisco_node_utils/vpc.rb', line 255
def peer_keepalive_src
config_get('vpc', 'peer_keepalive_src')
end
|
#peer_keepalive_udp_port ⇒ Object
263
264
265
|
# File 'lib/cisco_node_utils/vpc.rb', line 263
def peer_keepalive_udp_port
config_get('vpc', 'peer_keepalive_udp_port')
end
|
#peer_keepalive_vrf ⇒ Object
271
272
273
|
# File 'lib/cisco_node_utils/vpc.rb', line 271
def peer_keepalive_vrf
config_get('vpc', 'peer_keepalive_vrf')
end
|
#peer_switch ⇒ Object
299
300
301
|
# File 'lib/cisco_node_utils/vpc.rb', line 299
def peer_switch
config_get('vpc', 'peer_switch')
end
|
#peer_switch=(val) ⇒ Object
303
304
305
306
|
# File 'lib/cisco_node_utils/vpc.rb', line 303
def peer_switch=(val)
set_args_keys(state: val ? '' : 'no')
config_set('vpc', 'peer_switch', @set_args)
end
|
#port_channel_limit ⇒ Object
368
369
370
371
|
# File 'lib/cisco_node_utils/vpc.rb', line 368
def port_channel_limit
val = config_get('vpc', 'port_channel_limit')
val.nil? ? false : val
end
|
#port_channel_limit=(val) ⇒ Object
373
374
375
376
377
378
379
|
# File 'lib/cisco_node_utils/vpc.rb', line 373
def port_channel_limit=(val)
set_args_keys(state: val ? '' : 'no')
fail 'fabricpath_switch_id configuration is required in the vPC domain' if
!fabricpath_emulated_switch_id && !val
config_set('vpc', 'port_channel_limit', @set_args)
end
|
#role_priority ⇒ Object
385
386
387
|
# File 'lib/cisco_node_utils/vpc.rb', line 385
def role_priority
config_get('vpc', 'role_priority')
end
|
#role_priority=(priority) ⇒ Object
389
390
391
392
|
# File 'lib/cisco_node_utils/vpc.rb', line 389
def role_priority=(priority)
set_args_keys(priority: priority)
config_set('vpc', 'role_priority', @set_args)
end
|
#self_isolation ⇒ Object
398
399
400
401
|
# File 'lib/cisco_node_utils/vpc.rb', line 398
def self_isolation
val = config_get('vpc', 'self_isolation')
val.nil? ? false : val
end
|
#self_isolation=(val) ⇒ Object
403
404
405
406
|
# File 'lib/cisco_node_utils/vpc.rb', line 403
def self_isolation=(val)
set_args_keys(state: val ? '' : 'no')
config_set('vpc', 'self_isolation', @set_args)
end
|
#set_args_keys(hash = {}) ⇒ Object
rubocop:disable Style/AccessorMethodName
74
75
76
77
|
# File 'lib/cisco_node_utils/vpc.rb', line 74
def set_args_keys(hash={})
set_args_keys_default
@set_args = @get_args.merge!(hash) unless hash.empty?
end
|
#set_args_keys_default ⇒ Object
68
69
70
71
|
# File 'lib/cisco_node_utils/vpc.rb', line 68
def set_args_keys_default
keys = { domain: @domain }
@get_args = @set_args = keys
end
|
#shutdown ⇒ Object
412
413
414
|
# File 'lib/cisco_node_utils/vpc.rb', line 412
def shutdown
config_get('vpc', 'shutdown')
end
|
#shutdown=(val) ⇒ Object
416
417
418
419
|
# File 'lib/cisco_node_utils/vpc.rb', line 416
def shutdown=(val)
set_args_keys(state: val ? '' : 'no')
config_set('vpc', 'shutdown', @set_args)
end
|
#system_mac ⇒ Object
425
426
427
|
# File 'lib/cisco_node_utils/vpc.rb', line 425
def system_mac
config_get('vpc', 'system_mac')
end
|
#system_mac=(mac_addr) ⇒ Object
429
430
431
432
|
# File 'lib/cisco_node_utils/vpc.rb', line 429
def system_mac=(mac_addr)
set_args_keys(state: mac_addr.empty? ? 'no' : '', mac_addr: mac_addr)
config_set('vpc', 'system_mac', @set_args)
end
|
#system_priority ⇒ Object
438
439
440
|
# File 'lib/cisco_node_utils/vpc.rb', line 438
def system_priority
config_get('vpc', 'system_priority')
end
|
#system_priority=(priority) ⇒ Object
442
443
444
445
|
# File 'lib/cisco_node_utils/vpc.rb', line 442
def system_priority=(priority)
set_args_keys(priority: priority)
config_set('vpc', 'system_priority', @set_args)
end
|
#track ⇒ Object
451
452
453
|
# File 'lib/cisco_node_utils/vpc.rb', line 451
def track
config_get('vpc', 'track')
end
|
#track=(val) ⇒ Object
455
456
457
458
459
460
461
462
463
|
# File 'lib/cisco_node_utils/vpc.rb', line 455
def track=(val)
unless val.nil?
fail ArgumentError, 'track must be an Integer' unless
val.is_a?(Integer)
end
set_args_keys(state: (val == track) ? 'no' : '', val: val)
config_set('vpc', 'track', @set_args)
end
|