Table of Contents
Getting started
Great, you've downloaded the NetYCE VM and welcome to our automation framework.
(It is assumed you've installed the VM and are able to access it using the browser. If not the case, please check out the VM installation guide)
This guide will explain how to start with NetYCE. First we will make sure you can change the necessary settings to communicate to your nodes, adding those after which we will dive into jobs and templates.
The modeling around this has already been done. This is in the Design
section of the tool.
Spreadsheet
In order to manipulate the database of NetYCE easily, a spreadsheet can be used instead of writing API calls yourself. This provides an easy/lazy way to call the API, called the CSV API. A spreadsheet has been created as a template. The next chapters will use the contents of this spreadsheet.
Download: netyce_yce_nodes.xlsx
Download: netyce_api_cmdb_nodes.xlsx
Color coding
Orange: Values to use the correct service task (no changes required)
Green: Mandatory variables (Make sure they are filled with your variables)
CSV API
The CSV API can be found at Operate > Service config > CSV API
. It is already filled with some explanation and examples on how to use it.
The downloaded spreadsheet already has the correct syntax which can be copied into the text area. There is no need to provide commas or delimiters yourself, this is automatically understood by the tool.
Each line will be an action. You may provide as many lines as desired.
Copy the desired lines into the text form and press next. An overview is given for the lines found and will show which variable has been assigned which value. Press next to continue and adding the information.
But first, let's fill the sheet with information.
Changing credentials
Let us set the username, password and an enable password before we add nodes. These credentials will be used to communicate with the devices.
The credentials are stored in the Domain
. Every node that is linked to the Domain will use these credentials.
This spreadsheet can be used to modify the information, but it is also possible to do this in the GUI.
To do so, open Build > Domain
, select the YCE domain and change Default_enable_secret
on the Management tab, Rme_user
and Rme_passwd
on the Users tab.
Adding nodes
Adding nodes to the NetYCE database is just as easy. Make sure all green columns are filled with your variables and the lines into the CSV API.
Nodename
This will be the hostname of the node.
Vendor_type
This will be the vendor of the node, specifically mentioning the family if needed. A few example, which are also shown as comments in the spreadsheet:
- Cisco_IOS
- Cisco_XE
- Cisco_XR
- HP_C7
- Huawei_S
- Junos
If you are missing a specific vendor, please let us know and we'll make sure you are able to continue to test/use our product.
mgmtip
Provide the IP that you wish to assign to the node.
Deleting nodes
Deleting any node can be done using the GUI as well as the API. To use it from the GUI, go to Build > Main
and select the Client
. Either drill down using the Site
or select the node directly in the bottom.
NOTE Deleting the node only, will not delete the linked Service
. While deleting the service will also delete the node. (Recommended) Please delete the service associated with this node.
Using the API is as easy as pasting the line from the spreadsheet using the desired hostname.
Jobs
Jobs are short for Command jobs
which are used to communicate to one or multiple nodes. Command jobs are available at Operate > Node config > Command jobs
.
Here you can type the hostname directly to add it to the list, or use the clientcode to drill down. Make sure that at least one node is added to the list and go to the next page.
Here you'll see the following:
- a list of nodes, which also shows the Vendor and family
- a list of saved jobs
- a commands section
- a scenario section
- the scheduler section
To push a simple configuration change, you just have to do the following:
- Select the desired node
- fill the desired command(s) in the commands section
- Schedule the task using a date and time or select now
- press schedule
There is no need to worry about if you need to enter the enable or configuration mode or such. This is done for you within our vendor module(s). Of course, the username/password and/or enable password are mandatory to do this. The correct vendor module is chosen based on the information of this specific node as can be seen at the top of the screen.
Templates
Templates can be used in several ways. A few examples:
- To build a tree of templates to generate the complete configuration
- As part of jobs to be vendor agnostic, simplicity and re-usability
- To parse information that is read from the device using show commands or reading the complete configuration, which than can be used to make decisions for changes
A vendor agnostic example explained
Per vendor/family the same template name may exist. This way you may create a 'NTP' template which will hold the configuration lines for each specific vendor/family. By calling the template from the job, using {NTP}, it will find the correct one using the assigned Vendor_type of the specific node it is executing the job on.
This way you have the capability to send out the same job to multiple nodes of different vendors/families, which will all have the correct change as it was designed.
An NTP sub template is provided as an example for Cisco_IOS
Template examples
For several vendors the 'global' sub template has been created as an example. It holds information on several possibilities on how to use it and which variables belong to which section. NOTE: This is not a limited list.
Template in jobs
Templates can be called from within jobs or other templates and it looks like this:
{NTP}
where NTP is the template name.
An example has been added to the stored jobs, called 'NTP'.