Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 3.0.0 #1137

Closed
wants to merge 114 commits into from
Closed

Release 3.0.0 #1137

wants to merge 114 commits into from

Conversation

mirceaulinic
Copy link
Member

No description provided.

Carl Niger and others added 30 commits April 12, 2019 10:47
* fix _RE_BGP_PREFIX and NEIGHBOR_FILTER for 6PE into eos

* add testcase for 6PE version

* Renamed testcase mocked file for regexp syntax change
Hi, i have this situation when ipv6 is turned off:
$ napalm --user oxi --password gdfw23 --vendor nxos  10.143.36.8 call get_interfaces_ip
2019-03-07 15:08:10,226 - napalm - ERROR - method - Failed: 'NoneType' object has no attribute 'get'

================= Traceback =================

Traceback (most recent call last):
  File "/opt/py3.6/bin/napalm", line 10, in <module>
    sys.exit(main())
  File "/opt/py3.6/lib/python3.6/site-packages/napalm/base/clitools/cl_napalm.py", line 309, in main
    run_tests(args)
  File "/opt/py3.6/lib/python3.6/site-packages/napalm/base/clitools/cl_napalm.py", line 292, in run_tests
    call_getter(device, args.method, **method_kwargs)
  File "/opt/py3.6/lib/python3.6/site-packages/napalm/base/clitools/cl_napalm.py", line 31, in wrapper
    r = func(*args, **kwargs)
  File "/opt/py3.6/lib/python3.6/site-packages/napalm/base/clitools/cl_napalm.py", line 256, in call_getter
    r = func(**kwargs)
  File "/opt/py3.6/lib/python3.6/site-packages/napalm/nxos/nxos.py", line 1091, in get_interfaces_ip
    ipv6_command, "TABLE_intf", "ROW_intf"
  File "/opt/py3.6/lib/python3.6/site-packages/napalm/nxos/nxos.py", line 721, in _get_command_table
    return self._get_reply_table(json_output, table_name, row_name)
  File "/opt/py3.6/lib/python3.6/site-packages/napalm/nxos/nxos.py", line 717, in _get_reply_table
    return self._get_table_rows(result, table_name, row_name)
  File "/opt/py3.6/lib/python3.6/site-packages/napalm/nxos/nxos.py", line 706, in _get_table_rows
    _table = parent_table.get(table_name)
AttributeError: 'NoneType' object has no attribute 'get'
When we used to maintain separare NAPALM drivers, we had an issue template
looking like this:
napalm-automation/napalm-junos@110fec4#diff-faa36bc26a21ed93c8de974753b71507.

I was looking today through the issues we currently have open, and
I found some of them a bit chaotic, and hard to understand the context
/ environment the user runs. Additionally, some, e.g., #960, is really
hard to follow, and I've included a note to invite the user to check the
HitGub markdown manual.
Removing the space between the brackets, as it seems like it's confusing the users.
* fix junos issue #1028

* junos add test case for get_network_instances
* The serial number is taken incorrectly, in particular,
the "Processor Board ID" is displayed,
and you need a Chassis -> serialnum:

* Additional safety net for the lack of a serial number in the output.

* black test

* mov function _get_table_rows, _get_reply_table and _get_command_table
from class  NXOSDriver to NXOSDriverBase, because used in NXOSSSHDriver.

* Added verification and conversion from string to json
To fix(?) issue #1041 - #1041
On branch eos-lock-disable-flag
Changes to be committed:
    modified:   napalm/eos/eos.py
* #1025 Work around NXAPI double quoting

The NXAPI on the Nexus 9000 platform seems to be double-quoting the name of inventory items.

Amend the check for the inventory item name to take this into account.

* the output of the N9000 has extra quotes:

show inventory | json
{"TABLE_inv": {"ROW_inv": [{"name": "\"Chassis\"",
"desc": "\"Nexus9000 C92160YC-X chassis\"",.......
Some Cisco Nexus equipment doesn’t have `sys_ver_str`, but has `rr_sys_ver` instead. Use this as a backup.
Bumps [coveralls](https://github.com/coveralls-clients/coveralls-python) from 1.11.1 to 2.0.0.
- [Release notes](https://github.com/coveralls-clients/coveralls-python/releases)
- [Changelog](https://github.com/coveralls-clients/coveralls-python/blob/master/CHANGELOG.md)
- [Commits](TheKevJames/coveralls-python@1.11.1...2.0.0)

Signed-off-by: dependabot-preview[bot] <[email protected]>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Bumps [tox](https://github.com/tox-dev/tox) from 3.14.5 to 3.14.6.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/master/docs/changelog.rst)
- [Commits](tox-dev/tox@3.14.5...3.14.6)

Signed-off-by: dependabot-preview[bot] <[email protected]>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Bumps [ddt](https://github.com/datadriventests/ddt) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/datadriventests/ddt/releases)
- [Commits](datadriventests/ddt@1.3.0...1.3.1)

Signed-off-by: dependabot-preview[bot] <[email protected]>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Bumps [pytest](https://github.com/pytest-dev/pytest) from 5.4.0 to 5.4.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@5.4.0...5.4.1)

Signed-off-by: dependabot-preview[bot] <[email protected]>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Bumps [mock](https://github.com/testing-cabal/mock) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/testing-cabal/mock/releases)
- [Changelog](https://github.com/testing-cabal/mock/blob/master/CHANGELOG.rst)
- [Commits](testing-cabal/mock@4.0.1...4.0.2)

Signed-off-by: dependabot-preview[bot] <[email protected]>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
ggiesen and others added 23 commits April 14, 2020 14:39
…AN (#1150)

* Fix for get_vlans() in nxos_ssh where no interfaces in VLAN

* Fix for get_vlans() in nxos where no interfaces in VLAN

* Fix indent

* Fix indent

* Fix indent

* Adjust mocked data for get_vlans() fix in nxos

* Adjust mocked data for get_vlans() fix in nxos_ssh

* Adjust mocked data for get_vlans() fix in nxos

* Update expected_result.json

* Update expected_result.json

* Update expected_result.json

* Update show_vlan_brief.json

* Update expected_result.json

* Revert "Update show_vlan_brief.json"

This reverts commit a0c1719.

* Revert "Update expected_result.json"

This reverts commit 70bddfb.

* Revert "Update expected_result.json"

This reverts commit b384b35.

* Revert "Update expected_result.json"

This reverts commit 3b2c742.

* Revert "Adjust mocked data for get_vlans() fix in nxos"

This reverts commit a809380.

* Revert "Adjust mocked data for get_vlans() fix in nxos_ssh"

This reverts commit d35a63b.

* Revert "Adjust mocked data for get_vlans() fix in nxos"

This reverts commit 9205be8.

* Add test cases for get_vlans where interface has no VLANs.

* Revert "Update expected_result.json"

This reverts commit 8f986aa.

* Fix for get_vlans() in nxos/nxos_ssh where no interfaces in VLAN

Fix for get_vlans() in nxos where no interfaces in VLAN

Fix indent

Fix indent

Fix indent

Adjust mocked data for get_vlans() fix in nxos

Adjust mocked data for get_vlans() fix in nxos_ssh

Adjust mocked data for get_vlans() fix in nxos

Update expected_result.json

Update expected_result.json

Update expected_result.json

Update show_vlan_brief.json

Update expected_result.json

Revert "Update show_vlan_brief.json"

This reverts commit a0c1719.

Revert "Update expected_result.json"

This reverts commit 70bddfb.

Revert "Update expected_result.json"

This reverts commit b384b35.

Revert "Update expected_result.json"

This reverts commit 3b2c742.

Revert "Adjust mocked data for get_vlans() fix in nxos"

This reverts commit a809380.

Revert "Adjust mocked data for get_vlans() fix in nxos_ssh"

This reverts commit d35a63b.

Revert "Adjust mocked data for get_vlans() fix in nxos"

This reverts commit 9205be8.

Add test cases for get_vlans where interface has no VLANs.

Revert "Update expected_result.json"

This reverts commit 8f986aa.
`rr_sys_ver` reports the system version from before a reboot, not the current version. As the NXAPI seems to lack a straightforward `sys_ver_str` (This is why we’re in this mess in the first place), we’ll need to use the `kickstart_ver_str` instead.

This is also shown to be an issue in the official documentation: https://developer.cisco.com/docs/nx-api-cli-reference-for-the-cisco-nexus-9000-series-platform/#!version-commands/show-version

This fixes #1171
* fixing show interfaces summary for 10/40/100 Gig Interfaces

* fixing some linting

* remove backslash

* try to fix pep8 e128

* fixing pylama checks

* add semicolon

* undo deletion of the first line

* new test data with short interface names

* fixing the fixes

* missed -A

* make black test happy

Co-authored-by: Mircea Ulinic <[email protected]>
* Create NOTICE

* recognized additional contributors in NOTICE file.

Co-authored-by: Mircea Ulinic <[email protected]>
…#996)

* Update to handle Cisco ISR mac address table  with multiple EHWIC modules installed

* Fixed a c/p error when creating this fork - missed a 'continue' line

* Ran black to reformat file

* Added testcase for mac-address-table with multiple EHWIC modules

* Updated format of expected MAC output as per @mirceaulinic's recommendation

Co-authored-by: Brad Ellis <[email protected]>
Co-authored-by: Mircea Ulinic <[email protected]>
* add range for validate

* add range for validate

* run black

* update range to use <-> syntax

Co-authored-by: Mircea Ulinic <[email protected]>
* match even if BGP neighbor information is spread across two lines (occurs often when sh bgp ipv6 uni sum)

* test case input adjusted

* match also hh:mm:ss established time, etc.

* adjust test case for hh:mm:ss established time

* match also hh:mm:ss established time, etc.

* reverted to original test case + added new test neighbor

Co-authored-by: petrm <[email protected]>
Co-authored-by: Mircea Ulinic <[email protected]>
Bumps [tox](https://github.com/tox-dev/tox) from 3.14.6 to 3.15.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/master/docs/changelog.rst)
- [Commits](tox-dev/tox@3.14.6...3.15.0)

Signed-off-by: dependabot-preview[bot] <[email protected]>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
…lts (#1196)

The usual replies look like:

```
mircea@switch> show chassis environment | display xml
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/15.1X49/junos">
    <environment-information xmlns="http://xml.juniper.net/junos/15.1X49/junos-chassis">
    ...
    </environment-information>
</rpc-reply>
```

On SRX multi-node devices, the reply is encapsulated under the
``<multi-routing-engine-results><multi-routing-engine-item>`` tags,
e.g.,

```
mircea@srx> show chassis environment | display xml
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/15.1X49/junos">
    <multi-routing-engine-results>
        <multi-routing-engine-item>
            <re-name>node0</re-name>
            <environment-information xmlns="http://xml.juniper.net/junos/15.1X49/junos-chassis">
            ...
            </environment-information>
        </multi-routing-engine-item>
    </multi-routing-engine-results>
</rpc-reply>
```

The same goes for other RPC calls such as
``get-route-engine-information`` or
``get-temperature-threshold-information``.

Fixes #1183. Partially, at least, as the ``get_environment`` structure
doesn't currently permit a multi-node structure, so on SRX clusters it
will only return the details for the primary node.
* Implement get_config sanitized

Adds another keyword argument to the get_config method, in order to
filter out various sensitive details such as secrets, passwords, etc.

Also corrects the test for Junos which weren't testing anything
actually.

* Sanitize snmp-server user sections seen on NXOS
* Add pyeapi.Node shim to handle CLI translation

Create a new Node class that checks EOS versions for forward and
backward compatible command translation for FN-0039, along with unit
tests for version detection and translation

* Use json version instead of text

Co-authored-by: Alexey Kolobynin <[email protected]>
Co-authored-by: Mircea Ulinic <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.