cisco_node_utils 2.0.2 → 2.1.0

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.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -0
  3. data/lib/cisco_node_utils/bfd_global.rb +4 -0
  4. data/lib/cisco_node_utils/cisco_cmn_utils.rb +25 -0
  5. data/lib/cisco_node_utils/cmd_ref/interface.yaml +18 -18
  6. data/lib/cisco_node_utils/cmd_ref/interface_channel_group.yaml +4 -1
  7. data/lib/cisco_node_utils/cmd_ref/interface_evpn_multisite.yaml +1 -1
  8. data/lib/cisco_node_utils/cmd_ref/interface_ospf.yaml +17 -15
  9. data/lib/cisco_node_utils/interface.rb +117 -118
  10. data/lib/cisco_node_utils/interface_channel_group.rb +17 -8
  11. data/lib/cisco_node_utils/interface_evpn_multisite.rb +15 -6
  12. data/lib/cisco_node_utils/interface_ospf.rb +126 -102
  13. data/lib/cisco_node_utils/itd_service.rb +8 -0
  14. data/lib/cisco_node_utils/node.rb +0 -1
  15. data/lib/cisco_node_utils/platform.rb +16 -32
  16. data/lib/cisco_node_utils/version.rb +1 -1
  17. data/lib/cisco_node_utils/vlan.rb +1 -2
  18. data/lib/cisco_node_utils/vxlan_vtep.rb +1 -1
  19. data/tests/test_interface.rb +74 -13
  20. data/tests/test_interface_bdi.rb +2 -2
  21. data/tests/test_interface_channel_group.rb +24 -17
  22. data/tests/test_interface_evpn_multisite.rb +35 -0
  23. data/tests/test_interface_ospf.rb +71 -3
  24. data/tests/test_itd_service.rb +16 -4
  25. data/tests/test_node_ext.rb +4 -1
  26. data/tests/test_portchannel_global.rb +3 -0
  27. data/tests/test_router_ospf_vrf.rb +2 -34
  28. data/tests/test_stp_global.rb +4 -0
  29. metadata +3 -6
  30. data/lib/cisco_node_utils/cmd_ref/DEPRECATED.yaml +0 -118
  31. data/lib/cisco_node_utils/interface_DEPRECATED.rb +0 -518
  32. data/lib/cisco_node_utils/vlan_DEPRECATED.rb +0 -108
@@ -1,108 +0,0 @@
1
- # rubocop: disable Style/FileName
2
- #
3
- # Copyright (c) 2016 Cisco and/or its affiliates.
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
- ###############################################################################
17
- #
18
- # WARNING! WARNING! WARNING!
19
- #
20
- # This file contains deprecated methods that will be removed with version 2.0.0
21
- #
22
- ###############################################################################
23
-
24
- require_relative 'node_util'
25
- require 'logger'
26
-
27
- module Cisco
28
- # Vlan - node utility class for VLAN configuration management
29
- class VlanDeprecated < NodeUtil
30
- def deprecation_warning(method, new_prop=nil)
31
- if new_prop.nil?
32
- new_prop = ''
33
- else
34
- new_prop = "The new property name is '#{new_prop}'"
35
- end
36
-
37
- warn "
38
- #########################################################################
39
- WARNING: Method '#{method.to_s.delete('=')}'
40
- is deprecated and should not be used.
41
- #{new_prop}
42
- #########################################################################
43
- "
44
- end
45
-
46
- def private_vlan_type
47
- return nil unless Feature.private_vlan_enabled?
48
- config_get('DEPRECATED', 'private_vlan_type', id: @vlan_id)
49
- end
50
-
51
- def private_vlan_type=(type)
52
- deprecation_warning(__method__, 'pvlan_type')
53
- Feature.private_vlan_enable
54
- fail TypeError unless type && type.is_a?(String)
55
-
56
- if type == default_private_vlan_type
57
- return if private_vlan_type.empty?
58
- set_args_keys(state: 'no', type: private_vlan_type)
59
- ignore_msg = 'Warning: Private-VLAN CLI removed'
60
- else
61
- set_args_keys(state: '', type: type)
62
- ignore_msg = 'Warning: Private-VLAN CLI entered'
63
- end
64
- result = config_set('DEPRECATED', 'private_vlan_type', @set_args)
65
- cli_error_check(result, ignore_msg)
66
- end
67
-
68
- def default_private_vlan_type
69
- config_get_default('DEPRECATED', 'private_vlan_type')
70
- end
71
-
72
- def private_vlan_association
73
- return nil unless Feature.private_vlan_enabled?
74
- range = config_get('DEPRECATED', 'private_vlan_association', id: @vlan_id)
75
- Utils.normalize_range_array(range)
76
- end
77
-
78
- def private_vlan_association=(range)
79
- deprecation_warning(__method__, 'pvlan_association')
80
- Feature.private_vlan_enable
81
- is = Utils.dash_range_to_elements(private_vlan_association)
82
- should = Utils.dash_range_to_elements(range)
83
- association_delta(is, should)
84
- end
85
-
86
- def default_private_vlan_association
87
- config_get_default('DEPRECATED', 'private_vlan_association')
88
- end
89
-
90
- # --------------------------
91
- # association_delta is a helper function for the private_vlan_association
92
- # property. It walks the delta hash and adds/removes each target private
93
- # vlan.
94
- def association_delta(is, should)
95
- delta_hash = Utils.delta_add_remove(should, is)
96
- Cisco::Logger.debug("association_delta: #{@vlan_id}: #{delta_hash}")
97
- [:add, :remove].each do |action|
98
- delta_hash[action].each do |vlans|
99
- state = (action == :add) ? '' : 'no'
100
- set_args_keys(state: state, vlans: vlans)
101
- result = config_set('DEPRECATED',
102
- 'private_vlan_association', @set_args)
103
- cli_error_check(result)
104
- end
105
- end
106
- end
107
- end # Class
108
- end # Module