mirror of
				https://github.com/ansible-collections/community.general.git
				synced 2025-10-22 20:13:59 -07:00 
			
		
		
		
	Added support for new Ansible Infra (network_cli plugin, cliconf, module utils cleanup and test) for dellos10 Support t (#34915)
* Support for network_cli plugin and tests * Fixed ansible-test * issues * Fixed Pylint warning * Fixed the sanity test errors * Fix YAMLlinter issue - removed blank spaces * Fixed Python 3 failures * Fixed the PEP8 issue * Fix sanity --test validate-modules * Reverted the changes to the doc fragments
This commit is contained in:
		
					parent
					
						
							
								1f544ed6cc
							
						
					
				
			
			
				commit
				
					
						2f46f8f944
					
				
			
		
					 51 changed files with 22371 additions and 160 deletions
				
			
		
							
								
								
									
										0
									
								
								test/units/modules/network/dellos10/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								test/units/modules/network/dellos10/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										90
									
								
								test/units/modules/network/dellos10/dellos10_module.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								test/units/modules/network/dellos10/dellos10_module.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,90 @@ | |||
| # (c) 2016 Red Hat Inc. | ||||
| # | ||||
| # (c) 2017 Dell EMC. | ||||
| # | ||||
| # This file is part of Ansible | ||||
| # | ||||
| # Ansible is free software: you can redistribute it and/or modify | ||||
| # it under the terms of the GNU General Public License as published by | ||||
| # the Free Software Foundation, either version 3 of the License, or | ||||
| # (at your option) any later version. | ||||
| # | ||||
| # Ansible is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with Ansible.  If not, see <http://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| # Make coding more python3-ish | ||||
| from __future__ import (absolute_import, division, print_function) | ||||
| __metaclass__ = type | ||||
| 
 | ||||
| import os | ||||
| import json | ||||
| 
 | ||||
| from units.modules.utils import AnsibleExitJson, AnsibleFailJson, ModuleTestCase | ||||
| 
 | ||||
| 
 | ||||
| fixture_path = os.path.join(os.path.dirname(__file__), 'fixtures') | ||||
| fixture_data = {} | ||||
| 
 | ||||
| 
 | ||||
| def load_fixture(name): | ||||
|     path = os.path.join(fixture_path, name) | ||||
| 
 | ||||
|     if path in fixture_data: | ||||
|         return fixture_data[path] | ||||
| 
 | ||||
|     with open(path) as f: | ||||
|         data = f.read() | ||||
| 
 | ||||
|     try: | ||||
|         data = json.loads(data) | ||||
|     except: | ||||
|         pass | ||||
| 
 | ||||
|     fixture_data[path] = data | ||||
|     return data | ||||
| 
 | ||||
| 
 | ||||
| class TestDellos10Module(ModuleTestCase): | ||||
| 
 | ||||
|     def execute_module(self, failed=False, changed=False, commands=None, sort=True, defaults=False): | ||||
| 
 | ||||
|         self.load_fixtures(commands) | ||||
| 
 | ||||
|         if failed: | ||||
|             result = self.failed() | ||||
|             self.assertTrue(result['failed'], result) | ||||
|         else: | ||||
|             result = self.changed(changed) | ||||
|             self.assertEqual(result['changed'], changed, result) | ||||
| 
 | ||||
|         if commands is not None: | ||||
|             if sort: | ||||
|                 self.assertEqual(sorted(commands), sorted(result['updates']), result['updates']) | ||||
|             else: | ||||
|                 self.assertEqual(commands, result['updates'], result['updates']) | ||||
| 
 | ||||
|         return result | ||||
| 
 | ||||
|     def failed(self): | ||||
|         with self.assertRaises(AnsibleFailJson) as exc: | ||||
|             self.module.main() | ||||
| 
 | ||||
|         result = exc.exception.args[0] | ||||
|         self.assertTrue(result['failed'], result) | ||||
|         return result | ||||
| 
 | ||||
|     def changed(self, changed=False): | ||||
|         with self.assertRaises(AnsibleExitJson) as exc: | ||||
|             self.module.main() | ||||
| 
 | ||||
|         result = exc.exception.args[0] | ||||
|         self.assertEqual(result['changed'], changed, result) | ||||
|         return result | ||||
| 
 | ||||
|     def load_fixtures(self, commands=None): | ||||
|         pass | ||||
|  | @ -0,0 +1,13 @@ | |||
| ! | ||||
| hostname router | ||||
| ! | ||||
| interface ethernet1/1/2 | ||||
|  ip address 1.2.3.4/24 | ||||
|  description test string | ||||
| ! | ||||
| interface ethernet1/1/3 | ||||
|  ip address 6.7.8.9/24 | ||||
|  description test string | ||||
|  shutdown | ||||
| ! | ||||
| 
 | ||||
|  | @ -0,0 +1,12 @@ | |||
| ! | ||||
| hostname foo | ||||
| ! | ||||
| interface ethernet1/1/2 | ||||
|  no ip address | ||||
| ! | ||||
| interface ethernet1/1/3 | ||||
|  ip address 6.7.8.9/24 | ||||
|  description test string | ||||
|  shutdown | ||||
| ! | ||||
| 
 | ||||
							
								
								
									
										19467
									
								
								test/units/modules/network/dellos10/fixtures/show_interface__display-xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19467
									
								
								test/units/modules/network/dellos10/fixtures/show_interface__display-xml
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -0,0 +1,855 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <rpc-reply> | ||||
|   <bulk> | ||||
|     <data> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/1</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>up</oper-status> | ||||
|         <if-index>17305068</if-index> | ||||
|         <phys-address>14:18:77:09:ae:01</phys-address> | ||||
|         <speed>40000000000</speed> | ||||
|         <auto-negotiation>true</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:01</current-phys-address> | ||||
|         <last-change-time>44</last-change-time> | ||||
|         <last-counter-clear>17570800</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info> | ||||
|           <info> | ||||
|             <rem-lldp-time-mark>330300</rem-lldp-time-mark> | ||||
|             <rem-lldp-index>4</rem-lldp-index> | ||||
|             <dest-mac-addr-index>1</dest-mac-addr-index> | ||||
|             <rem-if-index>17305068</rem-if-index> | ||||
|             <rem-local-port-num>260</rem-local-port-num> | ||||
|             <rem-lldp-chassis-id>FBh3Ca4A | ||||
| </rem-lldp-chassis-id> | ||||
|             <rem-lldp-port-id>ZXRoZXJuZXQxLzEvMw== | ||||
| </rem-lldp-port-id> | ||||
|             <rem-lldp-chassis-id-subtype>mac-address</rem-lldp-chassis-id-subtype> | ||||
|             <rem-lldp-port-subtype>interface-alias</rem-lldp-port-subtype> | ||||
|             <rem-ttl>120</rem-ttl> | ||||
|             <rem-last-update-time>172395</rem-last-update-time> | ||||
|             <rem-info-valid-time>107</rem-info-valid-time> | ||||
|             <rem-system-desc>OS10</rem-system-desc> | ||||
|             <rem-port-desc>ethernet1/1/3</rem-port-desc> | ||||
|             <rem-system-name>os10</rem-system-name> | ||||
|             <rem-port-vlan-id>1</rem-port-vlan-id> | ||||
|             <rem-max-frame-size>1532</rem-max-frame-size> | ||||
|             <rem-agg-link-status>false</rem-agg-link-status> | ||||
|             <rem-sys-cap-supported>router bridge repeater</rem-sys-cap-supported> | ||||
|             <rem-sys-cap-enabled>router bridge repeater</rem-sys-cap-enabled> | ||||
|             <rem-remote-changes>true</rem-remote-changes> | ||||
|             <rem-too-many-neighbors>false</rem-too-many-neighbors> | ||||
|             <rem-dot3-auto-neg-supported>true</rem-dot3-auto-neg-supported> | ||||
|             <rem-dot3-auto-neg-enabled>true</rem-dot3-auto-neg-enabled> | ||||
|             <rem-dot3-auto-neg-adv-cap>b-1000base-t</rem-dot3-auto-neg-adv-cap> | ||||
|           </info> | ||||
|         </lldp-rem-neighbor-info> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/2</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>up</oper-status> | ||||
|         <if-index>17305094</if-index> | ||||
|         <phys-address>14:18:77:09:ae:05</phys-address> | ||||
|         <speed>40000000000</speed> | ||||
|         <auto-negotiation>true</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:05</current-phys-address> | ||||
|         <last-change-time>44</last-change-time> | ||||
|         <last-counter-clear>17570700</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info> | ||||
|           <info> | ||||
|             <rem-lldp-time-mark>330300</rem-lldp-time-mark> | ||||
|             <rem-lldp-index>5</rem-lldp-index> | ||||
|             <dest-mac-addr-index>1</dest-mac-addr-index> | ||||
|             <rem-if-index>17305094</rem-if-index> | ||||
|             <rem-local-port-num>264</rem-local-port-num> | ||||
|             <rem-lldp-chassis-id>FBh3Ca4A | ||||
| </rem-lldp-chassis-id> | ||||
|             <rem-lldp-port-id>ZXRoZXJuZXQxLzEvNA== | ||||
| </rem-lldp-port-id> | ||||
|             <rem-lldp-chassis-id-subtype>mac-address</rem-lldp-chassis-id-subtype> | ||||
|             <rem-lldp-port-subtype>interface-alias</rem-lldp-port-subtype> | ||||
|             <rem-ttl>120</rem-ttl> | ||||
|             <rem-last-update-time>172395</rem-last-update-time> | ||||
|             <rem-info-valid-time>107</rem-info-valid-time> | ||||
|             <rem-system-desc>OS10</rem-system-desc> | ||||
|             <rem-port-desc>ethernet1/1/4</rem-port-desc> | ||||
|             <rem-system-name>os10</rem-system-name> | ||||
|             <rem-port-vlan-id>1</rem-port-vlan-id> | ||||
|             <rem-max-frame-size>1532</rem-max-frame-size> | ||||
|             <rem-agg-link-status>false</rem-agg-link-status> | ||||
|             <rem-sys-cap-supported>router bridge repeater</rem-sys-cap-supported> | ||||
|             <rem-sys-cap-enabled>router bridge repeater</rem-sys-cap-enabled> | ||||
|             <rem-remote-changes>true</rem-remote-changes> | ||||
|             <rem-too-many-neighbors>false</rem-too-many-neighbors> | ||||
|             <rem-dot3-auto-neg-supported>true</rem-dot3-auto-neg-supported> | ||||
|             <rem-dot3-auto-neg-enabled>true</rem-dot3-auto-neg-enabled> | ||||
|             <rem-dot3-auto-neg-adv-cap>b-1000base-t</rem-dot3-auto-neg-adv-cap> | ||||
|           </info> | ||||
|         </lldp-rem-neighbor-info> | ||||
|       </interface> | ||||
|      <interface> | ||||
|         <name>ethernet1/1/3</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>up</oper-status> | ||||
|         <if-index>17305120</if-index> | ||||
|         <phys-address>14:18:77:09:ae:09</phys-address> | ||||
|         <speed>40000000000</speed> | ||||
|         <auto-negotiation>true</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:09</current-phys-address> | ||||
|         <last-change-time>44</last-change-time> | ||||
|         <last-counter-clear>17570700</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info> | ||||
|           <info> | ||||
|             <rem-lldp-time-mark>330300</rem-lldp-time-mark> | ||||
|             <rem-lldp-index>2</rem-lldp-index> | ||||
|             <dest-mac-addr-index>1</dest-mac-addr-index> | ||||
|             <rem-if-index>17305120</rem-if-index> | ||||
|             <rem-local-port-num>268</rem-local-port-num> | ||||
|             <rem-lldp-chassis-id>FBh3Ca4A | ||||
| </rem-lldp-chassis-id> | ||||
|             <rem-lldp-port-id>ZXRoZXJuZXQxLzEvMQ== | ||||
| </rem-lldp-port-id> | ||||
|             <rem-lldp-chassis-id-subtype>mac-address</rem-lldp-chassis-id-subtype> | ||||
|             <rem-lldp-port-subtype>interface-alias</rem-lldp-port-subtype> | ||||
|             <rem-ttl>120</rem-ttl> | ||||
|             <rem-last-update-time>172395</rem-last-update-time> | ||||
|             <rem-info-valid-time>107</rem-info-valid-time> | ||||
|             <rem-system-desc>OS10</rem-system-desc> | ||||
|             <rem-port-desc>ethernet1/1/1</rem-port-desc> | ||||
|             <rem-system-name>os10</rem-system-name> | ||||
|             <rem-port-vlan-id>1</rem-port-vlan-id> | ||||
|             <rem-max-frame-size>1532</rem-max-frame-size> | ||||
|             <rem-agg-link-status>false</rem-agg-link-status> | ||||
|             <rem-sys-cap-supported>router bridge repeater</rem-sys-cap-supported> | ||||
|             <rem-sys-cap-enabled>router bridge repeater</rem-sys-cap-enabled> | ||||
|             <rem-remote-changes>true</rem-remote-changes> | ||||
|             <rem-too-many-neighbors>false</rem-too-many-neighbors> | ||||
|             <rem-dot3-auto-neg-supported>true</rem-dot3-auto-neg-supported> | ||||
|             <rem-dot3-auto-neg-enabled>true</rem-dot3-auto-neg-enabled> | ||||
|             <rem-dot3-auto-neg-adv-cap>b-1000base-t</rem-dot3-auto-neg-adv-cap> | ||||
|           </info> | ||||
|         </lldp-rem-neighbor-info> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/4</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>up</oper-status> | ||||
|         <if-index>17305146</if-index> | ||||
|         <phys-address>14:18:77:09:ae:0d</phys-address> | ||||
|         <speed>40000000000</speed> | ||||
|         <auto-negotiation>true</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:0d</current-phys-address> | ||||
|         <last-change-time>44</last-change-time> | ||||
|         <last-counter-clear>17570700</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info> | ||||
|           <info> | ||||
|             <rem-lldp-time-mark>330300</rem-lldp-time-mark> | ||||
|             <rem-lldp-index>3</rem-lldp-index> | ||||
|             <dest-mac-addr-index>1</dest-mac-addr-index> | ||||
|             <rem-if-index>17305146</rem-if-index> | ||||
|             <rem-local-port-num>272</rem-local-port-num> | ||||
|             <rem-lldp-chassis-id>FBh3Ca4A | ||||
| </rem-lldp-chassis-id> | ||||
|             <rem-lldp-port-id>ZXRoZXJuZXQxLzEvMg== | ||||
| </rem-lldp-port-id> | ||||
|             <rem-lldp-chassis-id-subtype>mac-address</rem-lldp-chassis-id-subtype> | ||||
|             <rem-lldp-port-subtype>interface-alias</rem-lldp-port-subtype> | ||||
|             <rem-ttl>120</rem-ttl> | ||||
|             <rem-last-update-time>172395</rem-last-update-time> | ||||
|             <rem-info-valid-time>107</rem-info-valid-time> | ||||
|             <rem-system-desc>OS10</rem-system-desc> | ||||
|             <rem-port-desc>ethernet1/1/2</rem-port-desc> | ||||
|             <rem-system-name>os10</rem-system-name> | ||||
|             <rem-port-vlan-id>1</rem-port-vlan-id> | ||||
|             <rem-max-frame-size>1532</rem-max-frame-size> | ||||
|             <rem-agg-link-status>false</rem-agg-link-status> | ||||
|             <rem-sys-cap-supported>router bridge repeater</rem-sys-cap-supported> | ||||
|             <rem-sys-cap-enabled>router bridge repeater</rem-sys-cap-enabled> | ||||
|             <rem-remote-changes>true</rem-remote-changes> | ||||
|             <rem-too-many-neighbors>false</rem-too-many-neighbors> | ||||
|             <rem-dot3-auto-neg-supported>true</rem-dot3-auto-neg-supported> | ||||
|             <rem-dot3-auto-neg-enabled>true</rem-dot3-auto-neg-enabled> | ||||
|             <rem-dot3-auto-neg-adv-cap>b-1000base-t</rem-dot3-auto-neg-adv-cap> | ||||
|           </info> | ||||
|         </lldp-rem-neighbor-info> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/5</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305172</if-index> | ||||
|         <phys-address>14:18:77:09:ae:11</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:11</current-phys-address> | ||||
|         <last-change-time>36</last-change-time> | ||||
|         <last-counter-clear>17570700</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/6</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305198</if-index> | ||||
|         <phys-address>14:18:77:09:ae:15</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:15</current-phys-address> | ||||
|         <last-change-time>36</last-change-time> | ||||
|         <last-counter-clear>17570700</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/7</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305224</if-index> | ||||
|         <phys-address>14:18:77:09:ae:19</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:19</current-phys-address> | ||||
|         <last-change-time>36</last-change-time> | ||||
|         <last-counter-clear>17570700</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/8</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305250</if-index> | ||||
|         <phys-address>14:18:77:09:ae:1d</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:1d</current-phys-address> | ||||
|         <last-change-time>36</last-change-time> | ||||
|         <last-counter-clear>17570700</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/9</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305276</if-index> | ||||
|         <phys-address>14:18:77:09:ae:21</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:21</current-phys-address> | ||||
|         <last-change-time>36</last-change-time> | ||||
|         <last-counter-clear>17570700</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/10</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305302</if-index> | ||||
|         <phys-address>14:18:77:09:ae:25</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:25</current-phys-address> | ||||
|         <last-change-time>36</last-change-time> | ||||
|         <last-counter-clear>17570700</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/11</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305328</if-index> | ||||
|         <phys-address>14:18:77:09:ae:29</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:29</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/12</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305354</if-index> | ||||
|         <phys-address>14:18:77:09:ae:2d</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:2d</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/13</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305380</if-index> | ||||
|         <phys-address>14:18:77:09:ae:31</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:31</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/14</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305406</if-index> | ||||
|         <phys-address>14:18:77:09:ae:32</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:32</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/15</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305432</if-index> | ||||
|         <phys-address>14:18:77:09:ae:33</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:33</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/16</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305458</if-index> | ||||
|         <phys-address>14:18:77:09:ae:34</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:34</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/17</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305484</if-index> | ||||
|         <phys-address>14:18:77:09:ae:35</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:35</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/18</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305510</if-index> | ||||
|         <phys-address>14:18:77:09:ae:39</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:39</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/19</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305536</if-index> | ||||
|         <phys-address>14:18:77:09:ae:3d</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:3d</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/20</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305562</if-index> | ||||
|         <phys-address>14:18:77:09:ae:41</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:41</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/21</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305588</if-index> | ||||
|         <phys-address>14:18:77:09:ae:45</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:45</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/22</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305614</if-index> | ||||
|         <phys-address>14:18:77:09:ae:49</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:49</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570600</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/23</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305640</if-index> | ||||
|         <phys-address>14:18:77:09:ae:4d</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:4d</current-phys-address> | ||||
|         <last-change-time>37</last-change-time> | ||||
|         <last-counter-clear>17570500</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/24</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305666</if-index> | ||||
|         <phys-address>14:18:77:09:ae:51</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:51</current-phys-address> | ||||
|         <last-change-time>38</last-change-time> | ||||
|         <last-counter-clear>17570500</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/25</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305692</if-index> | ||||
|         <phys-address>14:18:77:09:ae:55</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:55</current-phys-address> | ||||
|         <last-change-time>38</last-change-time> | ||||
|         <last-counter-clear>17570500</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/26</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305718</if-index> | ||||
|         <phys-address>14:18:77:09:ae:59</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:59</current-phys-address> | ||||
|         <last-change-time>38</last-change-time> | ||||
|         <last-counter-clear>17570500</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/27</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305744</if-index> | ||||
|         <phys-address>14:18:77:09:ae:5d</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:5d</current-phys-address> | ||||
|         <last-change-time>38</last-change-time> | ||||
|         <last-counter-clear>17570500</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/28</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305770</if-index> | ||||
|         <phys-address>14:18:77:09:ae:61</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:61</current-phys-address> | ||||
|         <last-change-time>38</last-change-time> | ||||
|         <last-counter-clear>17570500</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/29</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305796</if-index> | ||||
|         <phys-address>14:18:77:09:ae:65</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:65</current-phys-address> | ||||
|         <last-change-time>38</last-change-time> | ||||
|         <last-counter-clear>17570500</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/30</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305822</if-index> | ||||
|         <phys-address>14:18:77:09:ae:66</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:66</current-phys-address> | ||||
|         <last-change-time>38</last-change-time> | ||||
|         <last-counter-clear>17570500</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/31</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305848</if-index> | ||||
|         <phys-address>14:18:77:09:ae:67</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:67</current-phys-address> | ||||
|         <last-change-time>38</last-change-time> | ||||
|         <last-counter-clear>17570500</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>ethernet1/1/32</name> | ||||
|         <type>ianaift:ethernetCsmacd</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>down</oper-status> | ||||
|         <if-index>17305874</if-index> | ||||
|         <phys-address>14:18:77:09:ae:68</phys-address> | ||||
|         <speed>0</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>40GIGE</supported-speed> | ||||
|         <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <npu-speed>0MBPS</npu-speed> | ||||
|         <current-phys-address>14:18:77:09:ae:68</current-phys-address> | ||||
|         <last-change-time>38</last-change-time> | ||||
|         <last-counter-clear>17570500</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <eee-state>n/a</eee-state> | ||||
|         <lldp-rem-neighbor-info/> | ||||
|       </interface> | ||||
|       <interface> | ||||
|         <name>mgmt1/1/1</name> | ||||
|         <type>base-if:management</type> | ||||
|         <admin-status>up</admin-status> | ||||
|         <oper-status>up</oper-status> | ||||
|         <if-index>35454736</if-index> | ||||
|         <phys-address>00:a0:c9:00:00:00</phys-address> | ||||
|         <speed>1000000000</speed> | ||||
|         <auto-negotiation>false</auto-negotiation> | ||||
|         <supported-speed>10MBPS</supported-speed> | ||||
|         <supported-speed>100MBPS</supported-speed> | ||||
|         <supported-speed>1GIGE</supported-speed> | ||||
|         <supported-autoneg>NOT_SUPPORTED</supported-autoneg> | ||||
|         <fec>not-supported</fec> | ||||
|         <bind-ni-name>default</bind-ni-name> | ||||
|         <current-phys-address>00:a0:c9:00:00:00</current-phys-address> | ||||
|         <last-change-time>38</last-change-time> | ||||
|         <last-counter-clear>17570400</last-counter-clear> | ||||
|         <load-interval>30</load-interval> | ||||
|         <mtu>1532</mtu> | ||||
|         <lldp-rem-neighbor-info> | ||||
|           <info> | ||||
|             <rem-lldp-time-mark>3100</rem-lldp-time-mark> | ||||
|             <rem-lldp-index>1</rem-lldp-index> | ||||
|             <dest-mac-addr-index>1</dest-mac-addr-index> | ||||
|             <rem-if-index>35454736</rem-if-index> | ||||
|             <rem-local-port-num>4</rem-local-port-num> | ||||
|             <rem-lldp-chassis-id>kLEc9C9t | ||||
| </rem-lldp-chassis-id> | ||||
|             <rem-lldp-port-id>VGVuR2lnYWJpdEV0aGVybmV0IDAvMA== | ||||
| </rem-lldp-port-id> | ||||
|             <rem-lldp-chassis-id-subtype>mac-address</rem-lldp-chassis-id-subtype> | ||||
|             <rem-lldp-port-subtype>interface-name</rem-lldp-port-subtype> | ||||
|             <rem-ttl>20</rem-ttl> | ||||
|             <rem-last-update-time>175667</rem-last-update-time> | ||||
|             <rem-info-valid-time>15</rem-info-valid-time> | ||||
|             <rem-system-desc>Dell Real Time Operating System Software. Dell Operating System Version: 2.0. Dell Application Software Version: 9.11(2.0) Copyright (c) 1999-2017Dell Inc. All Rights Reserved.Build Time: Tue Apr 25 21:22:59 2017</rem-system-desc> | ||||
|             <rem-port-desc>TenGigabitEthernet 0/0</rem-port-desc> | ||||
|             <rem-system-name>swlab1-maa-tor-A2</rem-system-name> | ||||
|             <rem-port-vlan-id>148</rem-port-vlan-id> | ||||
|             <rem-max-frame-size>0</rem-max-frame-size> | ||||
|             <rem-agg-link-status>false</rem-agg-link-status> | ||||
|             <rem-sys-cap-supported>router bridge repeater</rem-sys-cap-supported> | ||||
|             <rem-sys-cap-enabled>router bridge repeater</rem-sys-cap-enabled> | ||||
|             <rem-remote-changes>false</rem-remote-changes> | ||||
|             <rem-too-many-neighbors>false</rem-too-many-neighbors> | ||||
|             <rem-dot3-auto-neg-supported>false</rem-dot3-auto-neg-supported> | ||||
|             <rem-dot3-auto-neg-enabled>false</rem-dot3-auto-neg-enabled> | ||||
|             <rem-dot3-auto-neg-adv-cap/> | ||||
|           </info> | ||||
|         </lldp-rem-neighbor-info> | ||||
|       </interface> | ||||
|     </data> | ||||
|     <last-keys> | ||||
|       <name>mgmt1/1/1</name> | ||||
|     </last-keys> | ||||
|   </bulk> | ||||
| </rpc-reply> | ||||
| 
 | ||||
|  | @ -0,0 +1 @@ | |||
| KiB Mem:   8127144 total,  2297272 used,  5829872 free,   137360 buffers | ||||
							
								
								
									
										252
									
								
								test/units/modules/network/dellos10/fixtures/show_running-config
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										252
									
								
								test/units/modules/network/dellos10/fixtures/show_running-config
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,252 @@ | |||
| ! Version 10.4.0E(R1) | ||||
| ! Last configuration change at Jan  11 12:26:08 2018 | ||||
| ! | ||||
| snmp-server contact http://www.dell.com/support | ||||
| snmp-server host 1.1.1.1 traps version 1 c4 udp-port 5 | ||||
| snmp-server host 1.1.1.1 traps version 2c c1 udp-port 4 | ||||
| snmp-server host 2.2.2.2 traps version 1 c3 udp-port 162 | ||||
| ip community-list expanded commex deny aaa | ||||
| ip community-list standard commstd deny internet | ||||
| ip community-list standard commstd permit no-advertise | ||||
| ip as-path access-list accesslist deny abc | ||||
| ip as-path access-list accesslist deny www | ||||
| ip extcommunity-list expanded extcommex deny aaa | ||||
| ip extcommunity-list standard extcommstd deny rt 22:33 | ||||
| ip extcommunity-list standard extcommstd permit soo 22:33 | ||||
| hostname os10 | ||||
| interface breakout 1/1/1 map 40g-1x | ||||
| interface breakout 1/1/2 map 40g-1x | ||||
| interface breakout 1/1/3 map 40g-1x | ||||
| interface breakout 1/1/4 map 40g-1x | ||||
| interface breakout 1/1/5 map 40g-1x | ||||
| interface breakout 1/1/6 map 40g-1x | ||||
| interface breakout 1/1/7 map 40g-1x | ||||
| interface breakout 1/1/8 map 40g-1x | ||||
| interface breakout 1/1/9 map 40g-1x | ||||
| interface breakout 1/1/10 map 40g-1x | ||||
| interface breakout 1/1/11 map 40g-1x | ||||
| interface breakout 1/1/12 map 40g-1x | ||||
| interface breakout 1/1/13 map 40g-1x | ||||
| interface breakout 1/1/14 map 40g-1x | ||||
| interface breakout 1/1/15 map 40g-1x | ||||
| interface breakout 1/1/16 map 40g-1x | ||||
| interface breakout 1/1/17 map 40g-1x | ||||
| interface breakout 1/1/18 map 40g-1x | ||||
| interface breakout 1/1/19 map 40g-1x | ||||
| interface breakout 1/1/20 map 40g-1x | ||||
| interface breakout 1/1/21 map 40g-1x | ||||
| interface breakout 1/1/22 map 40g-1x | ||||
| interface breakout 1/1/23 map 40g-1x | ||||
| interface breakout 1/1/24 map 40g-1x | ||||
| interface breakout 1/1/25 map 40g-1x | ||||
| interface breakout 1/1/26 map 40g-1x | ||||
| interface breakout 1/1/27 map 40g-1x | ||||
| interface breakout 1/1/28 map 40g-1x | ||||
| interface breakout 1/1/29 map 40g-1x | ||||
| interface breakout 1/1/30 map 40g-1x | ||||
| interface breakout 1/1/31 map 40g-1x | ||||
| interface breakout 1/1/32 map 40g-1x | ||||
| username admin password $6$q9QBeYjZ$jfxzVqGhkxX3smxJSH9DDz7/3OJc6m5wjF8nnLD7/VKx8SloIhp4NoGZs0I/UNwh8WVuxwfd9q4pWIgNs5BKH. role sysadmin | ||||
| aaa authentication local | ||||
| iscsi target port 860 | ||||
| iscsi target port 3260 | ||||
| hash-algorithm ecmp xor | ||||
| logging console disable | ||||
| vrrp delay reload 5 | ||||
| vrrp version 3 | ||||
| spanning-tree mode rstp | ||||
| ! | ||||
| interface vlan1 | ||||
|  no shutdown | ||||
| ! | ||||
| interface vlan100 | ||||
|  no shutdown | ||||
| ! | ||||
| interface port-channel12 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
|  vlt-port-channel 13 | ||||
| ! | ||||
| interface ethernet1/1/1 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/2 | ||||
|  no shutdown | ||||
|  no switchport | ||||
| ! | ||||
| interface ethernet1/1/3 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/4 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/5 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/6 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/7 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/8 | ||||
|  no shutdown | ||||
|  no switchport | ||||
| ! | ||||
| interface ethernet1/1/9 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/10 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/11 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/12 | ||||
|  no shutdown | ||||
|  no switchport | ||||
| ! | ||||
| interface ethernet1/1/13 | ||||
|  no shutdown | ||||
|  no switchport | ||||
|  ! | ||||
|  vrrp-group 4 | ||||
|   priority 120 | ||||
|   track 3 priority-cost 25 | ||||
|   virtual-address 4.1.1.1 | ||||
|   virtual-address 4.1.1.2 | ||||
|   advertise-interval centisecs 200 | ||||
|   no preempt | ||||
|  ! | ||||
|  vrrp-ipv6-group 2 | ||||
|   priority 120 | ||||
|   track 3 priority-cost 25 | ||||
|   virtual-address 3001:4828:5808:ffa3::9 | ||||
|   virtual-address fe80::10 | ||||
|   advertise-interval centisecs 200 | ||||
|   no preempt | ||||
| ! | ||||
| interface ethernet1/1/14 | ||||
|  no shutdown | ||||
|  no switchport | ||||
| ! | ||||
| interface ethernet1/1/15 | ||||
|  no shutdown | ||||
|  no switchport | ||||
| ! | ||||
| interface ethernet1/1/16 | ||||
|  no shutdown | ||||
|  no switchport | ||||
| ! | ||||
| interface ethernet1/1/17 | ||||
|  no shutdown | ||||
|  no switchport | ||||
| ! | ||||
| interface ethernet1/1/18 | ||||
|  no shutdown | ||||
|  no switchport | ||||
| ! | ||||
| interface ethernet1/1/19 | ||||
|  no shutdown | ||||
|  no switchport | ||||
| ! | ||||
| interface ethernet1/1/20 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/21 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/22 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/23 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/24 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/25 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/26 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/27 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/28 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/29 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/30 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/31 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface ethernet1/1/32 | ||||
|  no shutdown | ||||
|  switchport access vlan 1 | ||||
| ! | ||||
| interface mgmt1/1/1 | ||||
|  no shutdown | ||||
|  ip address 10.16.148.144/16 | ||||
|  ipv6 address autoconfig | ||||
| ! | ||||
| route-map test permit 1 | ||||
|  match ip address prefix-list testprefix | ||||
|  match ip address testaccess | ||||
|  continue 20 | ||||
|  set comm-list commstd delete | ||||
|  set comm-list commex add | ||||
|  set community internet | ||||
|  set extcommunity rt 22:33 | ||||
|  set extcomm-list extcommstd delete | ||||
|  set extcomm-list extcommex add | ||||
|  set ip next-hop 10.1.1.1 track-id 3 | ||||
|  set local-preference 1200 | ||||
|  set metric + 30 | ||||
|  set metric-type internal | ||||
|  set origin igp | ||||
|  set weight 50 | ||||
| ! | ||||
| route-map test deny 10 | ||||
|  match ip address prefix-list testprefix | ||||
|  match ip address testaccess | ||||
|  set ip next-hop 10.1.1.1 track-id 3 | ||||
| ! | ||||
| support-assist | ||||
| ! | ||||
| policy-map type application policy-iscsi | ||||
| ! | ||||
| class-map type application class-iscsi | ||||
| ! | ||||
| class-map type qos class-trust | ||||
| ! | ||||
| vlt-domain 1 | ||||
|  discovery-interface ethernet1/1/12 | ||||
|  vlt-mac aa:aa:aa:aa:aa:aa | ||||
| 
 | ||||
|  | @ -0,0 +1,194 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <rpc-reply> | ||||
|   <data> | ||||
|     <system> | ||||
|       <node> | ||||
|         <node-id>1</node-id> | ||||
|         <node-mac>14:18:77:09:ae:00</node-mac> | ||||
|         <number-of-mac-addresses>384</number-of-mac-addresses> | ||||
|         <mfg-info> | ||||
|           <vendor-name>DELL</vendor-name> | ||||
|           <product-name>S6010-ON</product-name> | ||||
|           <hw-version>X01</hw-version> | ||||
|           <platform-name>x86_64-dell_s6010_c2538-r0</platform-name> | ||||
|           <ppid>0088</ppid> | ||||
|           <service-tag/> | ||||
|           <service-code/> | ||||
|         </mfg-info> | ||||
|         <unit> | ||||
|           <unit-id>1</unit-id> | ||||
|           <current-unit-model>S6010</current-unit-model> | ||||
|           <provisioned-unit-model>S6010</provisioned-unit-model> | ||||
|           <unit-state>up</unit-state> | ||||
|           <software-version>10.4.0E(R1)</software-version> | ||||
|           <port-info>32x40GbE</port-info> | ||||
|           <mfg-info> | ||||
|             <vendor-name>DELL</vendor-name> | ||||
|             <product-name>S6010-ON</product-name> | ||||
|             <hw-version>X01</hw-version> | ||||
|             <platform-name>x86_64-dell_s6010_c2538-r0</platform-name> | ||||
|             <ppid>0088</ppid> | ||||
|             <part-number>083R0P</part-number> | ||||
|             <service-tag/> | ||||
|             <service-code/> | ||||
|           </mfg-info> | ||||
|           <down-reason>user-triggered</down-reason> | ||||
|           <descr>S6010-ON 32x40GbE QSFP+ Interface Module</descr> | ||||
|           <beacon_led_state>false</beacon_led_state> | ||||
|           <system-identifier-id>1</system-identifier-id> | ||||
|           <firmware> | ||||
|             <firmware-name>BIOS</firmware-name> | ||||
|             <firmware-version>3.26.0.1</firmware-version> | ||||
|           </firmware> | ||||
|           <firmware> | ||||
|             <firmware-name>System CPLD</firmware-name> | ||||
|             <firmware-version>10</firmware-version> | ||||
|           </firmware> | ||||
|           <firmware> | ||||
|             <firmware-name>Master CPLD</firmware-name> | ||||
|             <firmware-version>9</firmware-version> | ||||
|           </firmware> | ||||
|           <firmware> | ||||
|             <firmware-name>Slave CPLD</firmware-name> | ||||
|             <firmware-version>4</firmware-version> | ||||
|           </firmware> | ||||
|         </unit> | ||||
|         <power-supply> | ||||
|           <psu-id>1</psu-id> | ||||
|           <status>fail</status> | ||||
|           <mfg-info/> | ||||
|         </power-supply> | ||||
|         <power-supply> | ||||
|           <psu-id>2</psu-id> | ||||
|           <status>up</status> | ||||
|           <power-type>UNKNOWN</power-type> | ||||
|           <fan-info> | ||||
|             <fan-id>1</fan-id> | ||||
|             <fan-status>fail</fan-status> | ||||
|             <fan-speed-rpm>1920</fan-speed-rpm> | ||||
|           </fan-info> | ||||
|           <air-flow>NORMAL</air-flow> | ||||
|           <mfg-info> | ||||
|             <vendor-name/> | ||||
|             <product-name/> | ||||
|             <hw-version/> | ||||
|             <platform-name/> | ||||
|             <ppid/> | ||||
|             <part-number/> | ||||
|             <service-tag/> | ||||
|             <service-code/> | ||||
|           </mfg-info> | ||||
|         </power-supply> | ||||
|         <fan-tray> | ||||
|           <fan-tray-id>1</fan-tray-id> | ||||
|           <status>up</status> | ||||
|           <fan-info> | ||||
|             <fan-id>1</fan-id> | ||||
|             <fan-status>up</fan-status> | ||||
|             <fan-speed-rpm>22090</fan-speed-rpm> | ||||
|           </fan-info> | ||||
|           <air-flow>NORMAL</air-flow> | ||||
|           <mfg-info> | ||||
|             <vendor-name/> | ||||
|             <product-name/> | ||||
|             <hw-version>F01</hw-version> | ||||
|             <platform-name/> | ||||
|             <ppid>CN123456FAN100589021</ppid> | ||||
|             <part-number>P1FAN1</part-number> | ||||
|             <service-tag/> | ||||
|             <service-code/> | ||||
|           </mfg-info> | ||||
|         </fan-tray> | ||||
|         <fan-tray> | ||||
|           <fan-tray-id>2</fan-tray-id> | ||||
|           <status>up</status> | ||||
|           <fan-info> | ||||
|             <fan-id>1</fan-id> | ||||
|             <fan-status>up</fan-status> | ||||
|             <fan-speed-rpm>22215</fan-speed-rpm> | ||||
|           </fan-info> | ||||
|           <air-flow>NORMAL</air-flow> | ||||
|           <mfg-info> | ||||
|             <vendor-name/> | ||||
|             <product-name/> | ||||
|             <hw-version>F02</hw-version> | ||||
|             <platform-name/> | ||||
|             <ppid>CN123456FAN200589031</ppid> | ||||
|             <part-number>P2FAN2</part-number> | ||||
|             <service-tag/> | ||||
|             <service-code/> | ||||
|           </mfg-info> | ||||
|         </fan-tray> | ||||
|         <fan-tray> | ||||
|           <fan-tray-id>3</fan-tray-id> | ||||
|           <status>up</status> | ||||
|           <fan-info> | ||||
|             <fan-id>1</fan-id> | ||||
|             <fan-status>up</fan-status> | ||||
|             <fan-speed-rpm>22215</fan-speed-rpm> | ||||
|           </fan-info> | ||||
|           <air-flow>NORMAL</air-flow> | ||||
|           <mfg-info> | ||||
|             <vendor-name/> | ||||
|             <product-name/> | ||||
|             <hw-version>F03</hw-version> | ||||
|             <platform-name/> | ||||
|             <ppid>CN123456FAN300589041</ppid> | ||||
|             <part-number>P3FAN3</part-number> | ||||
|             <service-tag/> | ||||
|             <service-code/> | ||||
|           </mfg-info> | ||||
|         </fan-tray> | ||||
|         <fan-tray> | ||||
|           <fan-tray-id>4</fan-tray-id> | ||||
|           <status>up</status> | ||||
|           <fan-info> | ||||
|             <fan-id>1</fan-id> | ||||
|             <fan-status>up</fan-status> | ||||
|             <fan-speed-rpm>22215</fan-speed-rpm> | ||||
|           </fan-info> | ||||
|           <air-flow>NORMAL</air-flow> | ||||
|           <mfg-info> | ||||
|             <vendor-name/> | ||||
|             <product-name/> | ||||
|             <hw-version>F04</hw-version> | ||||
|             <platform-name/> | ||||
|             <ppid>CN123456FAN400589051</ppid> | ||||
|             <part-number>P4FAN4</part-number> | ||||
|             <service-tag/> | ||||
|             <service-code/> | ||||
|           </mfg-info> | ||||
|         </fan-tray> | ||||
|         <fan-tray> | ||||
|           <fan-tray-id>5</fan-tray-id> | ||||
|           <status>up</status> | ||||
|           <fan-info> | ||||
|             <fan-id>1</fan-id> | ||||
|             <fan-status>up</fan-status> | ||||
|             <fan-speed-rpm>21724</fan-speed-rpm> | ||||
|           </fan-info> | ||||
|           <air-flow>NORMAL</air-flow> | ||||
|           <mfg-info> | ||||
|             <vendor-name/> | ||||
|             <product-name/> | ||||
|             <hw-version>F05</hw-version> | ||||
|             <platform-name/> | ||||
|             <ppid>CN123456FAN500589061</ppid> | ||||
|             <part-number>P5FAN5</part-number> | ||||
|             <service-tag/> | ||||
|             <service-code/> | ||||
|           </mfg-info> | ||||
|         </fan-tray> | ||||
|       </node> | ||||
|     </system> | ||||
|     <system-state> | ||||
|       <system-status> | ||||
|         <hostname>os10</hostname> | ||||
|         <uptime>161826</uptime> | ||||
|         <date-time>2018-01-12T13:42:36.20+00:00</date-time> | ||||
|         <boot-datetime>2018-01-10T16:45:30+00:00</boot-datetime> | ||||
|       </system-status> | ||||
|     </system-state> | ||||
|   </data> | ||||
| </rpc-reply> | ||||
| 
 | ||||
|  | @ -0,0 +1,9 @@ | |||
| Dell EMC Networking OS10 Enterprise | ||||
| Copyright (c) 1999-2017 by Dell Inc. All Rights Reserved. | ||||
| OS Version: 10.4.0E(R1) | ||||
| Build Version: 10.4.0E(R1.56) | ||||
| Build Time: 2017-12-19T22:11:00-0800 | ||||
| System Type: S6000-VM | ||||
| Architecture: x86_64 | ||||
| Up Time: 6 days 00:33:35 | ||||
| 
 | ||||
|  | @ -0,0 +1,27 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <rpc-reply> | ||||
|   <data> | ||||
|     <system-state> | ||||
|       <system-status> | ||||
|         <hostname>os10</hostname> | ||||
|         <uptime>162698</uptime> | ||||
|         <date-time>2018-01-12T13:57:08.58+00:00</date-time> | ||||
|         <boot-datetime>2018-01-10T16:45:30+00:00</boot-datetime> | ||||
|       </system-status> | ||||
|     </system-state> | ||||
|     <system-sw-state> | ||||
|       <sw-version> | ||||
|         <sw-version>10.4.0E(R1)</sw-version> | ||||
|         <sw-name>Enterprise</sw-name> | ||||
|         <sw-name-long>Dell EMC Networking OS10 Enterprise</sw-name-long> | ||||
|         <sw-platform>S6010-ON</sw-platform> | ||||
|         <sw-platform-long>Dell EMC OS10 Enterprise Edition Blueprint 1.0.0</sw-platform-long> | ||||
|         <cpu-arch>x86_64</cpu-arch> | ||||
|         <sw-build-date>2017-12-14T23:39:27-0800</sw-build-date> | ||||
|         <sw-build-version>10.4.0E(R1.55)</sw-build-version> | ||||
|         <copyright>Copyright (c) 1999-2017 by Dell Inc. All Rights Reserved.</copyright> | ||||
|       </sw-version> | ||||
|     </system-sw-state> | ||||
|   </data> | ||||
| </rpc-reply> | ||||
| 
 | ||||
							
								
								
									
										110
									
								
								test/units/modules/network/dellos10/test_dellos10_command.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								test/units/modules/network/dellos10/test_dellos10_command.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,110 @@ | |||
| # (c) 2016 Red Hat Inc. | ||||
| # | ||||
| # (c) 2017 Dell EMC. | ||||
| # | ||||
| # This file is part of Ansible | ||||
| # | ||||
| # Ansible is free software: you can redistribute it and/or modify | ||||
| # it under the terms of the GNU General Public License as published by | ||||
| # the Free Software Foundation, either version 3 of the License, or | ||||
| # (at your option) any later version. | ||||
| # | ||||
| # Ansible is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with Ansible.  If not, see <http://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| # Make coding more python3-ish | ||||
| from __future__ import (absolute_import, division, print_function) | ||||
| __metaclass__ = type | ||||
| 
 | ||||
| import json | ||||
| 
 | ||||
| from ansible.compat.tests.mock import patch | ||||
| from ansible.modules.network.dellos10 import dellos10_command | ||||
| from units.modules.utils import set_module_args | ||||
| from .dellos10_module import TestDellos10Module, load_fixture | ||||
| 
 | ||||
| 
 | ||||
| class TestDellos10CommandModule(TestDellos10Module): | ||||
| 
 | ||||
|     module = dellos10_command | ||||
| 
 | ||||
|     def setUp(self): | ||||
|         super(TestDellos10CommandModule, self).setUp() | ||||
| 
 | ||||
|         self.mock_run_commands = patch('ansible.modules.network.dellos10.dellos10_command.run_commands') | ||||
|         self.run_commands = self.mock_run_commands.start() | ||||
| 
 | ||||
|     def tearDown(self): | ||||
|         super(TestDellos10CommandModule, self).tearDown() | ||||
|         self.mock_run_commands.stop() | ||||
| 
 | ||||
|     def load_fixtures(self, commands=None): | ||||
| 
 | ||||
|         def load_from_file(*args, **kwargs): | ||||
|             module, commands = args | ||||
|             output = list() | ||||
| 
 | ||||
|             for item in commands: | ||||
|                 try: | ||||
|                     obj = json.loads(item['command']) | ||||
|                     command = obj['command'] | ||||
|                 except ValueError: | ||||
|                     command = item['command'] | ||||
|                 filename = str(command).replace(' ', '_') | ||||
|                 output.append(load_fixture(filename)) | ||||
|             return output | ||||
| 
 | ||||
|         self.run_commands.side_effect = load_from_file | ||||
| 
 | ||||
|     def test_dellos10_command_simple(self): | ||||
|         set_module_args(dict(commands=['show version'])) | ||||
|         result = self.execute_module() | ||||
|         self.assertEqual(len(result['stdout']), 1) | ||||
|         self.assertTrue(result['stdout'][0].startswith('Dell EMC Networking')) | ||||
| 
 | ||||
|     def test_dellos10_command_multiple(self): | ||||
|         set_module_args(dict(commands=['show version', 'show version'])) | ||||
|         result = self.execute_module() | ||||
|         self.assertEqual(len(result['stdout']), 2) | ||||
|         self.assertTrue(result['stdout'][0].startswith('Dell EMC Networking')) | ||||
| 
 | ||||
|     def test_dellos10_command_wait_for(self): | ||||
|         wait_for = 'result[0] contains "Dell EMC"' | ||||
|         set_module_args(dict(commands=['show version'], wait_for=wait_for)) | ||||
|         self.execute_module() | ||||
| 
 | ||||
|     def test_dellos10_command_wait_for_fails(self): | ||||
|         wait_for = 'result[0] contains "test string"' | ||||
|         set_module_args(dict(commands=['show version'], wait_for=wait_for)) | ||||
|         self.execute_module(failed=True) | ||||
|         self.assertEqual(self.run_commands.call_count, 10) | ||||
| 
 | ||||
|     def test_dellos10_command_retries(self): | ||||
|         wait_for = 'result[0] contains "test string"' | ||||
|         set_module_args(dict(commands=['show version'], wait_for=wait_for, retries=2)) | ||||
|         self.execute_module(failed=True) | ||||
|         self.assertEqual(self.run_commands.call_count, 2) | ||||
| 
 | ||||
|     def test_dellos10_command_match_any(self): | ||||
|         wait_for = ['result[0] contains "Dell EMC"', | ||||
|                     'result[0] contains "test string"'] | ||||
|         set_module_args(dict(commands=['show version'], wait_for=wait_for, match='any')) | ||||
|         self.execute_module() | ||||
| 
 | ||||
|     def test_dellos10_command_match_all(self): | ||||
|         wait_for = ['result[0] contains "Dell EMC"', | ||||
|                     'result[0] contains "OS10 Enterprise"'] | ||||
|         set_module_args(dict(commands=['show version'], wait_for=wait_for, match='all')) | ||||
|         self.execute_module() | ||||
| 
 | ||||
|     def test_dellos10_command_match_all_failure(self): | ||||
|         wait_for = ['result[0] contains "Dell EMC"', | ||||
|                     'result[0] contains "test string"'] | ||||
|         commands = ['show version', 'show version'] | ||||
|         set_module_args(dict(commands=commands, wait_for=wait_for, match='all')) | ||||
|         self.execute_module(failed=True) | ||||
							
								
								
									
										150
									
								
								test/units/modules/network/dellos10/test_dellos10_config.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								test/units/modules/network/dellos10/test_dellos10_config.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,150 @@ | |||
| # | ||||
| # (c) 2016 Red Hat Inc. | ||||
| # | ||||
| # (c) 2017 Dell EMC. | ||||
| # | ||||
| # This file is part of Ansible | ||||
| # | ||||
| # Ansible is free software: you can redistribute it and/or modify | ||||
| # it under the terms of the GNU General Public License as published by | ||||
| # the Free Software Foundation, either version 3 of the License, or | ||||
| # (at your option) any later version. | ||||
| # | ||||
| # Ansible is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with Ansible.  If not, see <http://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| # Make coding more python3-ish | ||||
| from __future__ import (absolute_import, division, print_function) | ||||
| __metaclass__ = type | ||||
| 
 | ||||
| from ansible.compat.tests.mock import patch | ||||
| from ansible.modules.network.dellos10 import dellos10_config | ||||
| from units.modules.utils import set_module_args | ||||
| from .dellos10_module import TestDellos10Module, load_fixture | ||||
| 
 | ||||
| 
 | ||||
| class TestDellos10ConfigModule(TestDellos10Module): | ||||
| 
 | ||||
|     module = dellos10_config | ||||
| 
 | ||||
|     def setUp(self): | ||||
|         super(TestDellos10ConfigModule, self).setUp() | ||||
| 
 | ||||
|         self.mock_get_config = patch('ansible.modules.network.dellos10.dellos10_config.get_config') | ||||
|         self.get_config = self.mock_get_config.start() | ||||
| 
 | ||||
|         self.mock_load_config = patch('ansible.modules.network.dellos10.dellos10_config.load_config') | ||||
|         self.load_config = self.mock_load_config.start() | ||||
| 
 | ||||
|         self.mock_run_commands = patch('ansible.modules.network.dellos10.dellos10_config.run_commands') | ||||
|         self.run_commands = self.mock_run_commands.start() | ||||
| 
 | ||||
|     def tearDown(self): | ||||
|         super(TestDellos10ConfigModule, self).tearDown() | ||||
|         self.mock_get_config.stop() | ||||
|         self.mock_load_config.stop() | ||||
|         self.mock_run_commands.stop() | ||||
| 
 | ||||
|     def load_fixtures(self, commands=None): | ||||
|         config_file = 'dellos10_config_config.cfg' | ||||
|         self.get_config.return_value = load_fixture(config_file) | ||||
|         self.load_config.return_value = None | ||||
| 
 | ||||
|     def test_dellos10_config_unchanged(self): | ||||
|         src = load_fixture('dellos10_config_config.cfg') | ||||
|         set_module_args(dict(src=src)) | ||||
|         self.execute_module() | ||||
| 
 | ||||
|     def test_dellos10_config_src(self): | ||||
|         src = load_fixture('dellos10_config_src.cfg') | ||||
|         set_module_args(dict(src=src)) | ||||
|         commands = ['hostname foo', 'interface ethernet1/1/2', | ||||
|                     'no ip address'] | ||||
|         self.execute_module(changed=True, commands=commands) | ||||
| 
 | ||||
|     def test_dellos10_config_backup(self): | ||||
|         set_module_args(dict(backup=True)) | ||||
|         result = self.execute_module() | ||||
|         self.assertIn('__backup__', result) | ||||
| 
 | ||||
|     def test_dellos10_config_save(self): | ||||
|         set_module_args(dict(save=True)) | ||||
|         self.execute_module(changed=True) | ||||
|         self.assertEqual(self.run_commands.call_count, 1) | ||||
|         self.assertEqual(self.get_config.call_count, 0) | ||||
|         self.assertEqual(self.load_config.call_count, 0) | ||||
|         args = self.run_commands.call_args[0][1] | ||||
|         self.assertDictContainsSubset({'command': 'copy running-config startup-config'}, args[0]) | ||||
| #        self.assertIn('copy running-config startup-config\r', args) | ||||
| 
 | ||||
|     def test_dellos10_config_lines_wo_parents(self): | ||||
|         set_module_args(dict(lines=['hostname foo'])) | ||||
|         commands = ['hostname foo'] | ||||
|         self.execute_module(changed=True, commands=commands) | ||||
| 
 | ||||
|     def test_dellos10_config_lines_w_parents(self): | ||||
|         set_module_args(dict(lines=['shutdown'], parents=['interface ethernet1/1/2'])) | ||||
|         commands = ['interface ethernet1/1/2', 'shutdown'] | ||||
|         self.execute_module(changed=True, commands=commands) | ||||
| 
 | ||||
|     def test_dellos10_config_before(self): | ||||
|         set_module_args(dict(lines=['hostname foo'], before=['snmp-server contact bar'])) | ||||
|         commands = ['snmp-server contact bar', 'hostname foo'] | ||||
|         self.execute_module(changed=True, commands=commands, sort=False) | ||||
| 
 | ||||
|     def test_dellos10_config_after(self): | ||||
|         set_module_args(dict(lines=['hostname foo'], after=['snmp-server contact bar'])) | ||||
|         commands = ['hostname foo', 'snmp-server contact bar'] | ||||
|         self.execute_module(changed=True, commands=commands, sort=False) | ||||
| 
 | ||||
|     def test_dellos10_config_before_after_no_change(self): | ||||
|         set_module_args(dict(lines=['hostname router'], | ||||
|                              before=['snmp-server contact bar'], | ||||
|                              after=['snmp-server location chennai'])) | ||||
|         self.execute_module() | ||||
| 
 | ||||
|     def test_dellos10_config_config(self): | ||||
|         config = 'hostname localhost' | ||||
|         set_module_args(dict(lines=['hostname router'], config=config)) | ||||
|         commands = ['hostname router'] | ||||
|         self.execute_module(changed=True, commands=commands) | ||||
| 
 | ||||
|     def test_dellos10_config_replace_block(self): | ||||
|         lines = ['description test string', 'test string'] | ||||
|         parents = ['interface ethernet1/1/2'] | ||||
|         set_module_args(dict(lines=lines, replace='block', parents=parents)) | ||||
|         commands = parents + lines | ||||
|         self.execute_module(changed=True, commands=commands) | ||||
| 
 | ||||
|     def test_dellos10_config_match_none(self): | ||||
|         lines = ['hostname router'] | ||||
|         set_module_args(dict(lines=lines, match='none')) | ||||
|         self.execute_module(changed=True, commands=lines) | ||||
| 
 | ||||
|     def test_dellos10_config_match_none(self): | ||||
|         lines = ['ip address 1.2.3.4/24', 'description test string'] | ||||
|         parents = ['interface ethernet1/1/2'] | ||||
|         set_module_args(dict(lines=lines, parents=parents, match='none')) | ||||
|         commands = parents + lines | ||||
|         self.execute_module(changed=True, commands=commands, sort=False) | ||||
| 
 | ||||
|     def test_dellos10_config_match_strict(self): | ||||
|         lines = ['ip address 1.2.3.4/24', 'description test string', | ||||
|                  'shutdown'] | ||||
|         parents = ['interface ethernet1/1/2'] | ||||
|         set_module_args(dict(lines=lines, parents=parents, match='strict')) | ||||
|         commands = parents + ['shutdown'] | ||||
|         self.execute_module(changed=True, commands=commands, sort=False) | ||||
| 
 | ||||
|     def test_dellos10_config_match_exact(self): | ||||
|         lines = ['ip address 1.2.3.4/24', 'description test string', | ||||
|                  'shutdown'] | ||||
|         parents = ['interface ethernet1/1/2'] | ||||
|         set_module_args(dict(lines=lines, parents=parents, match='exact')) | ||||
|         commands = parents + lines | ||||
|         self.execute_module(changed=True, commands=commands, sort=False) | ||||
							
								
								
									
										109
									
								
								test/units/modules/network/dellos10/test_dellos10_facts.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								test/units/modules/network/dellos10/test_dellos10_facts.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,109 @@ | |||
| # (c) 2016 Red Hat Inc. | ||||
| # | ||||
| # (c) 2017 Dell EMC. | ||||
| # | ||||
| # This file is part of Ansible | ||||
| # | ||||
| # Ansible is free software: you can redistribute it and/or modify | ||||
| # it under the terms of the GNU General Public License as published by | ||||
| # the Free Software Foundation, either version 3 of the License, or | ||||
| # (at your option) any later version. | ||||
| # | ||||
| # Ansible is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with Ansible.  If not, see <http://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| # Make coding more python3-ish | ||||
| from __future__ import (absolute_import, division, print_function) | ||||
| __metaclass__ = type | ||||
| 
 | ||||
| import json | ||||
| 
 | ||||
| from ansible.compat.tests.mock import patch | ||||
| from units.modules.utils import set_module_args | ||||
| from .dellos10_module import TestDellos10Module, load_fixture | ||||
| from ansible.modules.network.dellos10 import dellos10_facts | ||||
| 
 | ||||
| 
 | ||||
| class TestDellos10Facts(TestDellos10Module): | ||||
| 
 | ||||
|     module = dellos10_facts | ||||
| 
 | ||||
|     def setUp(self): | ||||
|         super(TestDellos10Facts, self).setUp() | ||||
| 
 | ||||
|         self.mock_run_command = patch( | ||||
|             'ansible.modules.network.dellos10.dellos10_facts.run_commands') | ||||
|         self.run_command = self.mock_run_command.start() | ||||
| 
 | ||||
|     def tearDown(self): | ||||
|         super(TestDellos10Facts, self).tearDown() | ||||
| 
 | ||||
|         self.mock_run_command.stop() | ||||
| 
 | ||||
|     def load_fixtures(self, commands=None): | ||||
| 
 | ||||
|         def load_from_file(*args, **kwargs): | ||||
|             module, commands = args | ||||
|             output = list() | ||||
| 
 | ||||
|             for item in commands: | ||||
|                 try: | ||||
|                     obj = json.loads(item) | ||||
|                     command = obj['command'] | ||||
|                 except ValueError: | ||||
|                     command = item | ||||
|                 if '|' in command: | ||||
|                     command = str(command).replace('|', '') | ||||
|                 filename = str(command).replace(' ', '_') | ||||
|                 filename = filename.replace('/', '7') | ||||
|                 output.append(load_fixture(filename)) | ||||
|             return output | ||||
| 
 | ||||
|         self.run_command.side_effect = load_from_file | ||||
| 
 | ||||
|     def test_dellos10_facts_gather_subset_default(self): | ||||
|         set_module_args(dict()) | ||||
|         result = self.execute_module() | ||||
|         ansible_facts = result['ansible_facts'] | ||||
|         self.assertIn('hardware', ansible_facts['ansible_net_gather_subset']) | ||||
|         self.assertIn('default', ansible_facts['ansible_net_gather_subset']) | ||||
|         self.assertIn('interfaces', ansible_facts['ansible_net_gather_subset']) | ||||
|         self.assertEquals('os10', ansible_facts['ansible_net_hostname']) | ||||
|         self.assertIn('ethernet1/1/8', ansible_facts['ansible_net_interfaces'].keys()) | ||||
|         self.assertEquals(7936, ansible_facts['ansible_net_memtotal_mb']) | ||||
|         self.assertEquals(5693, ansible_facts['ansible_net_memfree_mb']) | ||||
| 
 | ||||
|     def test_dellos10_facts_gather_subset_config(self): | ||||
|         set_module_args({'gather_subset': 'config'}) | ||||
|         result = self.execute_module() | ||||
|         ansible_facts = result['ansible_facts'] | ||||
|         self.assertIn('default', ansible_facts['ansible_net_gather_subset']) | ||||
|         self.assertIn('config', ansible_facts['ansible_net_gather_subset']) | ||||
|         self.assertEquals('os10', ansible_facts['ansible_net_hostname']) | ||||
|         self.assertIn('ansible_net_config', ansible_facts) | ||||
| 
 | ||||
|     def test_dellos10_facts_gather_subset_hardware(self): | ||||
|         set_module_args({'gather_subset': 'hardware'}) | ||||
|         result = self.execute_module() | ||||
|         ansible_facts = result['ansible_facts'] | ||||
|         self.assertIn('default', ansible_facts['ansible_net_gather_subset']) | ||||
|         self.assertIn('hardware', ansible_facts['ansible_net_gather_subset']) | ||||
|         self.assertEquals('x86_64', ansible_facts['ansible_net_cpu_arch']) | ||||
|         self.assertEquals(7936, ansible_facts['ansible_net_memtotal_mb']) | ||||
|         self.assertEquals(5693, ansible_facts['ansible_net_memfree_mb']) | ||||
| 
 | ||||
|     def test_dellos10_facts_gather_subset_interfaces(self): | ||||
|         set_module_args({'gather_subset': 'interfaces'}) | ||||
|         result = self.execute_module() | ||||
|         ansible_facts = result['ansible_facts'] | ||||
|         self.assertIn('default', ansible_facts['ansible_net_gather_subset']) | ||||
|         self.assertIn('interfaces', ansible_facts['ansible_net_gather_subset']) | ||||
|         self.assertIn('ethernet1/1/8', ansible_facts['ansible_net_interfaces'].keys()) | ||||
|         self.assertEquals(sorted(['mgmt1/1/1', 'ethernet1/1/4', 'ethernet1/1/2', 'ethernet1/1/3', 'ethernet1/1/1']), | ||||
|                           sorted(list(ansible_facts['ansible_net_neighbors'].keys()))) | ||||
|         self.assertIn('ansible_net_interfaces', ansible_facts) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue