cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
13711
Views
29
Helpful
9
Replies

Welcome to RADKit - Lets's get started!

Frederic Detienne
Cisco Employee
Cisco Employee

What is RADKit ?

RADKit stands for Remote Automation Development Kit. It is a tool and a set of python modules (an SDK) allowing you to remotely operate network equipment. It is a a general purpose toolkit with a special focus on day-to-day operations including troubleshooting.

 

RADKit runs out of regular laptop or something as simple as Raspbery Pi. It can also run from a VM or microservice on your most powerful compute units. With a set up time of around 5 minutes, it beats any management station and scales beautifully.

 

Learn more about RADKit at radkit.cisco.com From there you can follow our instructional videos, download the code and get familiar with this fantastic toolkit.

 

RADKit is made for Network Engineers. For people who need to get the job done manually and through automation but have never been served by historical, more pro-developer oriented toolkits or bloated point-and-click management stations. Mind you RADKit is powerful and the hardcore developer will also benefit greatly from our advanced features. Just focus on the task; not on boilerplate code!

 

Should you have questions, feedback, or hit difficulties, let us know here by simply asking questions on our RADKit Cisco Community.

 

Enjoy!

 

- Fred from the RADKit team
9 Replies 9

Is there any videos that teaches you how to troubleshoot with the radkit tool?

Hi Yasser,

For guidance around things like "initial setup" we have built videos on https://radkit.cisco.com/docs/.  For e.g. initial install you will find a video at  https://radkit.cisco.com/docs/pages/setup_client.html.    Is this what you are looking for is or is your question more around how to use it once you have successfully installed it? 

Thanks

Ullie 

Thanks for the response Ullie...much appreciated. Yes, on how to use it to troubleshoot...in one of the videos it also shows how the tool can map out a network with scripts.

Hi Yasser,

this is a very broad topic but you raised to our attention that we need to have more examples. We will very likely create more content over the next few weeks and months (likely around Jan 2023).

In the meantime, if you have access to CiscoLive on-demand video sessions, I have a real example in the first 13 minutes of this presentation:

https://www.ciscolive.com/on-demand/on-demand-library.html?search.event=1654953906132001zSK6&zid=pp&search=detienne#/session/1655479489393001lYR7

There are more examples in the rest of the presentation. Is this the type of video you are looking for ?

- Fred from the RADKit team

dchochan
Level 1
Level 1

Hi Frederic,

I had installed python 3.11.1 on my windows machine and python 3.11.1 is tied to my VS Code. From the compatibility matrix it is said supported python is 3.7 to 3.9 right now.

Now the question is do I need to downgrade my python 3.11.1 to 3.9 to install latest RADKit on windows machine? or RADKit installation will install separate python version without disrupt existing python version. I hope that I do not need to downgrade my python version since it quite bothersome to reconfigure my VS Code.

Last question, does radkit supported on Linux machine?  I would love to install it on seperate VM without disrupt my current Windows machine.

Thank

Hello,

You definitely need to have Python 3.9 for the moment. We hope to support Python 3.11 in the next couple of months, but right now, we are experience a problem with a 3rd party library.

The typical way to deal with multiple Python version, and also the recommended way to install packages, is to use Python virtual environments (env for short). A Python environment is nothing like a VM or a container. It is instead a directory containing everything that Python needs to run (Python binaries, all the necessary modules, etc.). Installing Python modules or tools can be made within an environment. This avoids polluting your global Python and system directories. When you want to start from fresh, or get rid of a library, just delete the environment folder. Likewise, you can have multiple env folders (one folder per env) to install multiple versions of a given tool/SDK/module and switch from one env to another. Envs are isolated from one-another and from the system directories.

A popular tool to manage environments is called "venv". It is Python-native, but it has been seen causing some hard-to-troubleshoot issues, due to incompatible binary libraries (openssl for instance).

For security and complexity-management reasons, RADKit has rather strict dependencies on some libraries.

We like to use Anaconda environments (miniconda to be specific, which is a light version of Anaconda) as a reference point. Conda (the short name for Anaconda, miniconda etc.) is also much more forgiving for new users.

You can explore miniconda from here:

https://docs.conda.io/en/latest/miniconda.html

Also, our team loves Linux over which most of our build pipeline is developed. We support Windows, Mac and Linux. The main (only) hardship with Linux are the many flavors; some distros are more modern than others.

Assuming you have a Linux distribution that support miniconda, and assuming you are ok with miniconda, just install it

If Anaconda / miniconda  or environments in general are completely new to you, please familiarize yourself as it is a good investment. Here is an intro video:

https://www.youtube.com/watch?v=lBXDOY6ZtBg

Just ignore the part that says to "stop using pip"; you can also use pip inside an environment and you will have to do that in practice; the world is not perfect.

Then download the RADKit wheels .tar.gz for Linux (as of today, that would be cisco_radkit_1.4.9_pip_linux.tgz in the download area).

Then follow the instructions from here which should be exactly what you need to get going on Linux + conda + pip :

https://radkit.cisco.com/docs/pages/start_pip_wheels.html#start-pip-wheels

specifically:

# Install miniconda - folow their instructions
# create a directory to unpack the RADKit packages
mkdir radkit_wheels
cd radkit_wheels
# move cisco_radkit_1.4.9_pip_linux.tgz in this directory
# Now unpack the tgz archive. The wheels are in it
tar xzf cisco_radkit_1.4.9_pip_linux.tgz 
# create an environment using conda
conda create -n radkit-1.4.9 python=3.9
# activate the environment
conda activate radkit-1.4.9
# from here onward, anything you pip install will be deployed in this environment
# so lets' install RADKit in it
# pip install -f . means install the wheels found in . which means "the current directory"
# pip will prefer the local file, and will download the rest from the internet
pip install -f . cisco_radkit_service cisco_radkit_client
# You can now delete the radkit_wheels directory.
cd ..
rm -rf radkit_wheels

As long as your shell prompt shows it, your env is active.

From there, use RADKit normally (radkit-client, radkit-network-console, radkit-service, radkit-service-gui, ...), code (import the modules etc.)

If you want to exit the environment (e.g. if you need to access your global python install):

conda deactivate

The RADKit CLI will not be accessible anymore (it won't be in your shell or python path any longer).

At any time, you can get back to the env an use RADKit again:

conda activate radkit-1.4.9

Since pip has its own will and can be difficult, we recommend a fresh install in a fresh environment (you can create as many envs as your disk can take -- that is usually "a lot").

I hope this helps!

 

- Fred from the RADKit team
Follow me on X/Twitter: https://twitter.com/herbertech_ 🌟 Support Our Channel with These Affiliate links! 🌟 🛍️ Amazon: Shop for your favorite products and support the channel at the same time. ▶ https://geni.us/A7LD 💻 Pluralsight: Elevate your tech skills with a free 10-day trial. A world of ...

dchochan
Level 1
Level 1

Hi Frederic, 

Thank you for the great explanation it help me a lot to install it on Linux enviroment using miniconda.

ccie29824
Level 1
Level 1

Great tool

CCIEx3 #29824 JNCIE #2197 VCIX

andriio
Level 1
Level 1

any mean to use system proxy settings for radkit in VDI env?
OAuth failure prevents from enrolling service...