Skip to content

Tools on the jumphost

Mark Sibering edited this page Jul 15, 2021 · 7 revisions

The NetCICD Agent is the jumphost in the environment. The idea of a jumphost is to isolate multiple labs from each other: the jumphost is the only link to the outside world in a lab. As a result all tools used in the lab that need external connectivity run on the jumphost.

On the jumphost, the required tooling is (or can be) installed to deploy and test the configuration. The following tooling is installed by default:

  • git
  • Ansible
  • Maven
  • Java
  • OpenSSH
  • OpenSSL
  • python3
  • rsyslog

In order to manage the lab, you can login to the jumphost and do your thing. When started from the CICD Toolbox, the jumphost connects back to Jenkins.

Ansible

The jumphost has the default Alpine Ansible installed.

Jenkins

When started from the CICD Toolbox, agent.jar is installed in the home directory of the user.

Syslog

The juymphost has rsyslog installed, so that all systems in the lab can log to the jumphost. This is done to quickly validate if created logs are sent and syntactically correct.

Advanced Netconf Exlorer

The Cisco ANX used to be part of the VIRL version of NetCICD. It seems however that this toolkit is no longer maintained and as such it no longer builds due to a java version error.

As a result ANX is run as a Docker Container inside the jumphost. In order to pull the container, use the Nexus repository from the CICD Toolbox as a curated repo. It is installed by default if you run the toolbox. To use Nexus:

docker login nexus:8181 using your preferred cerdentials (netcicd/netcicd will do if you do not care fore security)

docker pull nexus:8181/netarch/netcicd:anx pulls the repo.

docker run --name anx -d -p 9269:8080 netarch/netcicd:anx

ANX can be reached on localhost:9269 in the VNC on the jumphost inside CML.

Be aware that you need to configure the nodes in the lab for Netconf in order to use the tool. The prepare portion of the NetCICD toolbox will do this. You can prepare the nodes by excuting:

ansible-playbook -i vars/stage-<stage name> prepare.yml

Clone this wiki locally