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

napalm3 - overall structure and high-level items/goals #926

Closed
ktbyers opened this issue Feb 13, 2019 · 7 comments
Closed

napalm3 - overall structure and high-level items/goals #926

ktbyers opened this issue Feb 13, 2019 · 7 comments

Comments

@ktbyers
Copy link
Contributor

ktbyers commented Feb 13, 2019

Definite

  • Eliminate Python2 support

Maybe

  • Should we change the structural relationship between the napalm-base driver and vendor-specific driver (interface pattern (ABC), adapter pattern).

napalm-automation/napalm-ng#2

  • Should we implement type-hinting internally to the napalm code base and mandate Python 3.6 or greater.
@jobec
Copy link
Contributor

jobec commented Feb 13, 2019

  • abstraction of all returned data (cfr the LLDP capabilities) where needed. The goal being that users have to bother about the vendor/model as less as possible.
  • maybe: return instances of classes instead of dictionaries in dictionaries in dictionaries, ...
  • road maps & release cycles
  • maybe: extension points/callbacks, for example to influence the driver selection, initial commands sent, custom password things (like getting from a vault).

@luqasz
Copy link
Contributor

luqasz commented Mar 2, 2019

  • I am for python3.6 or greater. It will be easier to implement async and do yield from
  • We can introduce ipaddress for native ip representation, routes, etc.
  • Roadmap will clarify things and give a good view of our plans.

@ktbyers
Copy link
Contributor Author

ktbyers commented Mar 5, 2019

Merge nxapi-plumbing and pyiosxr directly into NAPALM repository to simplify the maintenance and release process of these two dependencies.

@ktbyers
Copy link
Contributor Author

ktbyers commented Mar 20, 2019

Rationalize ping behavior. The ping returned data structure should probably be restructured to be clearer about ping failures. Platforms should be consistent on the ping behavior:

Related:
#946

@ktbyers
Copy link
Contributor Author

ktbyers commented Mar 22, 2019

Eliminate get_firewall_policies() method.

@luqasz
Copy link
Contributor

luqasz commented Sep 24, 2019

Python 2.7 is EOL by the end of 2020, which is soon. Is there any plan to support 2.7 for some time ?

@ktbyers
Copy link
Contributor Author

ktbyers commented Sep 24, 2019

No, I think the plan is to EOL PY2.7 support and move to require >=PY3.6.

@mirceaulinic can chime in if he has different views on this, however (as I haven't really coordinated/discussed it with him).

@ktbyers ktbyers unpinned this issue Oct 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants