-
Notifications
You must be signed in to change notification settings - Fork 740
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #753 from itdependsnetworks/faq
Fixes #716
- Loading branch information
Showing
2 changed files
with
96 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -335,3 +335,91 @@ Questions | |
For any questions or comments, please feel free to swing by the [networktocode slack channel](https://networktocode.slack.com). | ||
|
||
Sign up [here](http://slack.networktocode.com/) | ||
|
||
|
||
FAQ | ||
--- | ||
|
||
From an outsiders view, some design choices, requirements, and testing procedures can seem arbitrary. The following list of FAQ is intended to | ||
help provide context and better guide users and contributors of ntc-templates. | ||
|
||
_Why is there a requirement to use `Error` in every template?_ | ||
|
||
Ensuring that the textfsm template can account for every line is the only method to ensure that data was not accidentally missed. Take the following example. Initially we account for status to be: | ||
|
||
`Value STATUS (up|down)` | ||
|
||
Given the result of: | ||
``` | ||
Interface Status Protocol Description | ||
Gi0/0/1 admin down down | ||
Gi0/0/2 up up ISP Connection | ||
Gi0/0/3 down down | ||
``` | ||
|
||
The output would miss the G0/0/1 interface, since the `STATUS` of `admin down` not known. If this was a low percentage use case, it can go | ||
undetected, and result in incorrect information being returned. Instead, by ensuring that we fail fast, an `Error` is raised and hopefully | ||
GitHub Issue is put in. | ||
|
||
_Then why isn't `Error` used in all templates?_ | ||
|
||
Initially the controls were not as strong, so many templates were put in until issues like the previous became an issue. | ||
|
||
_Does the project support requests for additional templates or additional data in an existing template?_ | ||
|
||
We are no longer considering additional template requests at this time. The project has existed for over 5 years (initially within ntc-ansible) | ||
and nearly 200 template at this point any additional requests are essentially edge use cases. Meaning, for five years of usage, no one else | ||
has asked for this feature. There is a limited maintainers who primarily use their free time to maintain the project. | ||
|
||
_Are you open to adding maintainers to the project?_ | ||
|
||
Yes, we would consider giving a proven member of the project and community maintainer rights. Please inquiry emailing [email protected]. | ||
|
||
_I simply want to add my template to the project, I do not want to add all of these tests and controls, can I just do so?_ | ||
|
||
Short answer no, from an outsiders point of view the contributor requirements may seem overly complex, however features added by engineers | ||
rarely come back to support them. The burden of support is on the maintainers and a certain level of quality assurance is required for that to | ||
happen. That includes updating the index file appropriately and adding proper raw and expected value files. | ||
|
||
_Why don't you grab all of the data in the template?_ | ||
|
||
There is no intention for ntc-templates to become feature complete, some of the data is less interesting, or can be better understood from | ||
other commands. This is actually an area where the project choose to be loose, as we do not want to over-burden the contributor. If you feel | ||
that the additional data should be added, you are welcome to add the feature, but it would not be considered a bug, and thus not supported by | ||
the maintainers of the this project. | ||
|
||
_Why does the index order matter?_ | ||
|
||
The "greediness" of the template match ensures that there longest matches first. For example, if `show ip ospf` was above `show ip ospf database`, the `show ip ospf` template would be used in both cases. The additional steps are because of general programmatic hygiene. | ||
|
||
_Will you accept my template if I create it?_ | ||
|
||
In most cases, yes. However, there are a few edge cases. For example if requesting to add a `show cdp neighbors` when there is already a `show cdp neighbors details` template created. That is additional complexity added to the project with little value. | ||
|
||
_Why was my issue closed?_ | ||
|
||
The most likely reasons are: | ||
|
||
* Did not follow the Issue creation template. | ||
* Did not provide the data required to act upon the request. | ||
* A prolonged time with no response. | ||
|
||
_What is meant that the is a parsing project, not a data modeling project?_ | ||
|
||
The project intends to parse, meaning post processing is assumed in order to normalize the data. This project does not intend to solve that | ||
problem set. This is often noted in keys being different between the same command on multiple OS's. This was not intentional as at first there was not strict enforcement. That being said, there is no intention to retrofit this use case for the above stated reasons. This use case is | ||
best handled in post processing. | ||
|
||
_I have never submitted a Pull Request before, how do I do so?_ | ||
|
||
This is outside the scope of this project, but this [video](https://www.youtube.com/watch?v=rgbCcBNZcdQ) should provide the instructions on | ||
how to do so. | ||
|
||
_Does this work on windows?_ | ||
|
||
Based on this [PR](https://github.com/networktocode/ntc-templates/pull/672) it should, however this is not a supported option. We are willing | ||
to take in qualified Pull Requests to have the feature, but have no intention of actively supporting. | ||
|
||
_Can you provide general guidance?_ | ||
|
||
This is best handled via real time communication. Feel free to join our slack community (sign up information above) and reach out on the #networktocode channel. Please be aware of timezones, downtimes, and help is performed based on goodwill and timing, and not guaranteed. |