Forum Posts

Admin
Aug 12, 2020
In NDNA (Main Forum)
To get around the expired cert, do this: You’ll run into an issue trying to install the diagram generator due to the digital signature expiring… There’s an easy workaround to get it to install successfully. Here’s the workaround to this  Unzip everything first, as opposed to running setup.exe from the zipped up folder. Unblock all files as shown in the link below and in the screenshot See this link https://blogs.msdn.microsoft.com/askie/2009/06/19/how-to-bypass-the-security-warning-unknown-publisher-with-the-checkbox-always-ask-before-opening-this-file/ Just unblocking everything in the install folder: How to unblock setup.exe, the VSTO files, etc….. Cheers!
0
0
49
Admin
Jul 16, 2018
In NDNA (Main Forum)
Question: Does the current OVA/Software Appliance support NGE kex? Not currently, but...... I am working on it. Read on.... The version of Debian I'm running on the OVA is Wheezy with Python 2.7.3 and Paramiko version1.7.7.1-3.1 I tried moving to the latest debian 9 version "stretch" and experienced a new issue, which caused random connection issues, which caused more problems for me, than the issue of not being able to connect to devices requiring the NGE kex. For Cisco devices, this has only presented an issue to me on certain Nexus 9Ks so far. The issue I have seen when moving to the latest version of debian and paramiko (which caused the cure to be worse than the original issue) is: You get an exception like below and you error out randomly connecting to devices: RequirementParseError: Invalid requirement, parse error at "''" I am currently working on a debian 9 (Stretch) box/updated Paramiko version of code to build out a new NDNA appliance I am currently testing a fix for this on debian stretch, but I'm not 100% sure this has fixed it. Results currently look promising. I will update after I have done more thorough testing See below for exception and various changes made: ---------- Exception in thread Thread-10: Traceback (most recent call last):   File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner     self.run()   File "/usr/lib/python2.7/threading.py", line 754, in run     self.__target(*self.__args, **self.__kwargs)   File "DCDP_xml_NXOS_Inventory.py", line 180, in open_network_connection     session.connect(ip, username = username, password = password)   File "/usr/lib/python2.7/dist-packages/paramiko/client.py", line 338, in connect     t.start_client()   File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 493, in start_client     raise e RequirementParseError: Invalid requirement, parse error at "''" ---------- Upon inspecting transport.py in the Paramiko Library on the debian 9 box, line 493 is shown below :         # synchronous, wait for a result         self.completion_event = event = threading.Event()         self.start()         while True:             event.wait(0.1) Changes: 1. I increased the event.wait to 1.5 in transport.py in the paramiko library 2. I changed all NDNA related py scripts "Max threads = 25" to "Max threads = 10" for the thread throttling 3. Under the create_threads() function, I made the followings in bold: (added a 0.2 float time sleep) def create_threads(): threads = [] for ip in iplist: th = threading.Thread(target = write_files, args = (ip,)) th.start() time.sleep(0.2) threads.append(th) If extensive testing shows the issue is resolved, I will build out and make available a debian 9 NDNA OVA.
0
5
104
Admin
Jul 16, 2018
In Network Automation
So, you want to send a different configuration to every device using Python automation, but don't want it to take all day, or all week, or a month? Get the new code located under downloads/advanced automation now! Once you have it, you can start automating complex workflows, where you can use regular NDNA style automation to pull common information about the network. After that, you can: 1. Analyze the information using the GRASP tool-set (Grep, REGEX, AWK, SED Programming) 2. Create your config templates that are unique per device using the configuration templating system created by Perry Blalock, CCIE No. 25841 - You can do this very quickly using jinja2 templates and build all your variables directly in excel (using a csv file) 3. Use my new NDNA style automation script (threading, thread throttling, 64K limit bypass, etc.) that builds a Python dictionary referencing a key:value where the key is the IP and the Value is the name of the config file, reading it from a csv fle. It then does a "for loop" on these variables, all the while still being able to concurrently thread to all devices and write the output to separate config files (NDNA style). This allows you to perform incredibly complex analysis, configuration templating, and unique-configuration-per-device automation rolled-out in a very efficient way.. The automation roll-out script is just above 200 lines of code and will allow you to roll out a unique configuration to hundreds of devices in minutes. Brett M. Spunt, CCIE No. 12745
0
0
322
Admin
Jul 15, 2018
In NDNA (Main Forum)
This post is to clarify why the freeware version of NDNA requests your username and password multiple times during the Site/DataCenter discovery process. The reason for this is due to moving from what was going to be a commercial version to a free version released as open source under the GPL. By doing so, I could not use the original compiled version of code. This version took the username and password credentials when the first Python script was called, and encrypted them, wrote them to a MySQL database, then all additional Python scripts that are called during the discovery process "read" the credentials from MySQL and decrypted the credentials. With open source, this can no longer be done securely, since the user would have access to the key to decrypt the password. The quickest workaround to this was to modify all the code in the scripts that are part of the discovery process (e.g. Python scripts that are called when you run the program DCDP.sh) and have them prompt for username and password using the getpass module (same as the first Python script that is called during discovery) The end result is whenever you run a new discovery on a site/DataCenter, you will be asked for your: 1. username 2. password 3. seed IP Then, a few minutes later, depending on if you have NXOS devices or not, you'll be prompted for your username and password either 4 more times (if only IOS devices are found) or 7 more times (if both NXOS and IOS devices are found) All other parts of running NDNA remain the same, e.g. any "post" discovery automation, will only prompt you one time when you run automation.
0
0
87
Admin
Sep 07, 2017
In NDNA (Main Forum)
This post is an introduction to the NDNA Forum. This forum is provided as a means to discuss, post questions and answers, document procedures, Post information on troubleshooting and exception errors, etc. It's also meant to serve as a common forum for resolving issues, learning more about creative ways to use the program, to report on bugs, etc. Since NDNA is freeware, open source and provided under the GPL, and only provided "as is", we can not provide any implied or real support. To that end, we hope having a forum where people can collaborate and share information with each other, will better serve the people that are using NDNA. In so much as time permits, I will also attempt to post to this forum in response to questions I can quickly answer and help resolve or clarify. Brett M. Spunt, CCIE No. 12745
An Introduction to the NDNA forum content media
0
0
55

Admin

Admin
More actions