====== Topology Discovery Scripts ====== Author: Eoin Joy\\ \\ When the discovery process is initiated in the EMS, two scripts are needed per technology or user interface to fully create the new system in the IDMS.\\ These scripts together are the Topology Discovery Scripts.\\ Which scripts to be used are determined by the [[ems:technology_discovery|Technology Discovery Scripts]].\\ The Basic Info script is executed first to test the login credentials supplied by the user, and also to give the user basic information like what the controller claims its name or other identifier to be and what version is readily apparent in the controller UI.\\ Upon confirmation and input of the name that will be used in the IDMS for the controller, the Full System script will be executed and all elements will be discovered. ===== Basic Info ===== This script is run initially to discover the basic info about a controller like its name, technology, and version to display to the user. ==== Returned Value ==== //BasicSystemDTO// – An object containing the name, version and technology presented by the controller. ==== Inserted Variables ==== **ipAddress** – //String// – The ipAddress supplied by the user.\\ **cluster** – //Cluster// – The Cluster within which the discovery was initiated.\\ **username** – //String// – The optional username supplied by the user.\\ **password** – //String// – The optional password supplied by the user.\\ **port** – //String// – The optional port supplied by the user. ===== Full System ===== This script constructs a list of all network elements at a given site accessible via the given ip address and port. These network elements should be fully ready to have all EMS functionality performed upon them immediately after discovery. This means that all the remote discovery script configurations (eg. [[ems:alarm_auditor_configuration|alarm auditor]], [[ems:alarm_sync_setting|alarm sync]], [[ems:performance_discovery_setting|performance discovery]] et cetera) should be assigned by the full system script. ==== Returned Value ==== //List< NetworkElement >// – The list of discovered network elements including the controller that were discovered at the given ip address and port. ==== Inserted Variables ==== **technology** – //String// – The technology string retrieved by Basic Info.\\ **version** – //String// – The version string retrieved by Basic Info.\\ **ipAddress** – //String// – The ipAddress string retrieved by Basic Info.\\ **cluster** – //String// – The cluster string retrieved by Basic Info.\\ **controllerName** – //String// – The controller name supplied by the user when they were prompted with the basic info.\\ **port** – //String// – The port string retrieved by Basic Info.\\ **username** – //String// – The username stored with the login credential service for the ip address and port combination.\\ **password** – //String// – The password stored with the login credential service for the ip address and port combination.