XR Docker
The XR Docker image is a docker image, which you can install as a Hawkeye endpoint. You can install the XR Docker image on a platform as an application that is capable of the following:
- Running Node to Node, Mesh, and a limited subset of Real service tests
- Performing scheduled restarts from the Hawkeye Server.
The XR Docker registers as an automatic endpoint to Hawkeye Server.
Hawkeye Server can restart probes on a timed basis. You can restart the probe from Probe Management. When the restart is triggered for the XR Docker, IxChariot and RealServiceManager restarted. These are the two main processes on the XR docker that manage tests. Host VM is not impacted, so routes are not re-initialized.
Base platform requirements
- Linux x86 64 bit OS
- 1 Gb RAM
- 1Gb hard drive
Installation
Complete the following steps to create an XR Docker endpoint where internet connectivity is available for base platform to run the XR Docker (endpoint) and only one IP is being used for the base platform. You can install only one XR Docker container on a single base platform.
Contact Keysight Customer support for more advanced installations of XR Docker, such as, multiple IP (multiple subnetworks) support and unavailability of internet connection for Linux base system to obtain the XR docker image.
- We assume you are familiar with Docker environment before attempting XR Docker installation.
- Contact Keysight Customer support to install XR Docker on a host computer without internet connection.
- For some base platform Linux OS such as Ubuntu, the docker package is referenced as docker.io.
Installation steps
- Install the Docker library and Docker application on the endpoint (Linux) base platform.
- Transfer the XR Docker install script, located on the Hawkeye Server Web GUI download endpoints web page, to the base platform.
- Run the install script to simulate a Hawkeye endpoint. You may have to change permissions on the file.
- The XR Docker endpoint automatically registers with the Hawkeye Server as part of the start up process and registers using the IP of the host platform.
# chmod +x install_xr_docker.sh
Example of installation of XR Docker onto Debian 12 platform
-
Log (ssh) on as root on XR Docker host platform.
- Ensure latest libraries and packages are installed for Debian.
# sudo apt update
# sudo apt upgrade
- Install Docker package and start application.
# sudo apt install docker.io
# sudo systemctl start docker
-
The Docker application on the host computer will not survive a reboot by default. We recommend you consider the following command to configure the Docker application to be persistent and remain functional on rebooting the host computer.
# sudo systemctl enable docker
It is your responsibility to apply a restart policy for the XR Docker to restart following a host computer reboot.
- Transfer the XR Docker image for Hawkeye (located on Hawkeye server - software download web page) to the Debian platform. We recommend you perform this from /tmp directory.
-
Run install script to activate the XR Docker container and create an XR Docker endpoint.
# sudo ./install_xr_docker.sh
You will be prompted to specify the endpoint name and the IP of the Hawkeye Server. The XR Docker endpoint will register with the Hawkeye Server and perform any necessary software upgrade from the server.
-
Confirm XR Docker container (Endpoint) is successfully running with the below command and verify on Hawkeye Server – Probe Management web GUI.
# sudo docker ps
Sample output
| Container ID | Image | Command | Created | Status | Ports | Names |
|---|---|---|---|---|---|---|
| 54f755a4ccb9 | xr_docker_x86_64:latest | /startup.sh | 7 minutes ago | Up 7 minutes | XR-Docker-MC1 |
Log files on the XR Docker container can also be accessed for debugging purposes if directed by Keysight customer support.
Recover XR Docker after power failure
- SSH to the XR_Docker host machine.
# docker ps
If no entries are found, this means XR-docker is not running and you must recover XR Docker.
- Confirm the host machine was previously used as an XR-Docker by running the below command to confirm there is an image loaded and it is the correct version.
# docker images
- Find directory where the XR-Docker installation files were stored by using the find command:
# cd /
# find . -name install_xr_docker.sh
# cd <install directory for XR-Docker installation from find command above>
- Run the installation script again for XR-Docker.
# ./install_xr_docker.sh
- Provide the XR-Docker hostname as seen by Hawkeye Server in Probe Management.
- Provide the Hawkeye Server IP.
- Confirm in Probe Management on the Hawkeye Server that the new XR-Docker name appears and is in a green working status.
Change endpoint name/Hawkeye server of XR Docker
After installing XR Docker, if you want to change its endpoint name and registered Hawkeye Server, you must stop and restart XR Docker to enter the new endpoint name or the new Hawkeye Server IP. Complete the following steps to do this:
- Log (ssh) onto XR Docker host computer.
-
Re-run XR Docker from the directory previously transferred to (ex. /tmp) to set new endpoint name and new Hawkeye Server IP.
# ./install_xr_docker.sh
- Confirm XR Docker registered on Hawkeye Server – Probe Management web GUI.
Remove or uninstall XR Docker
To remove XR Docker from the host platform, use the following commands:
- Log (ssh) onto XR Docker host computer.
-
Run docker ps command to get the container name of your current XR Docker.
# docker ps
Sample output
| Container ID | Image | Command | Created | Status | Ports | Names |
|---|---|---|---|---|---|---|
| 54f755a4ccb9 | xr_docker_x86_64:latest | /startup.sh | 7 minutes ago | Up 7 minutes | XR-Docker-MC1 |
-
Stop the XR docker container.
# docker stop <container ID>
-
Remove docker container from the system.
# docker rm <container ID>
-
Find the image file name.
# docker images
Sample output:
| Repository | Tag | Image ID | Created |
|---|---|---|---|
| xr_docker_x86_64 | latest | 6c209f438d3b | 6 hours ago |
6. Remove the docker image from the host platform.
# docker rmi <image ID>
7. Remove the install script and image tar from the platform (from the directory you transferred the install script to – recommended/tmp):
# rm -rf xr_docker_x86_64.tar install_xr_docker.sh
XR Docker debug tips
-
You can access the log files on the XR Docker container for debugging if directed by Keysight customer support. The XR Docker container can be accessed with a Linux bash shell with the following command:
# docker exec -it <containerid/container name> bash
After you access the container, the following common XR commands are available:
# probeVersion
- The XR Docker runs as a container on a host computer so the IP routing and port restrictions of the host computer apply. If tests are failing due to connectivity reasons, as seen in Hawkeye test results, check the firewall and iptables settings of the host computer.
- If the XR Docker is flagged as Private in Probe Management but it is expected to be Public, check firewall settings of the host computer.
-
If certain real service tests fail or show error on an XR-Docker endpoint but are successful for other endpoints in your network, it can indicate host machine for XR Docker has ports blocked. To identify the issue quickly, run real service test ‘traceroute’ or to use Linux nmap command from the XR-Docker container. Refer to Routing and Ports management for more information.
- If multiple XR Docker endpoints are required to be created for the user, a shortcut of downloading and using a local copy of the XR Docker image can be employed as follows:
- The first installation of an XR Docker endpoint will result in the XR Docker image (.tar) file being downloaded onto a host computer. This TAR file can be copied to the next host computer. Load the XR docker image and then run the install script as follows:
# docker load -i <xr docker tar image>
Then run
# ./install_xr_docker.sh
-
Log files on the XR Docker container can also be accessed for debugging purposes if directed by Keysight customer support. Contact Keysight customer support for detailed instructions.
-
To clean up unnecessary XR docker image:
# docker ps
# docker stop <cntrID>
# docker rm <cntrID>
# docker images
# docker rmi -f <imageID>
-
If the base platform is Ubuntu or similar, it may require commands to be preceded by ‘sudo’ to execute commands with root access.
-
The XR Docker endpoint may fail to show all test results when it is in a large mesh. Specifically, when the XR Docker endpoint is the hub in a hub and spoke mesh. The reason is the Linux host (often a VM) must route messages to the Docker process, which then routes messages to the docker container. These time delays can sometimes cause incomplete results to be gathered from all endpoints before the XR Docker must report all mesh tests results to the Hawkeye Server. Keysight recommends to use a physical XR endpoint for a large hub mesh.
-
Tests running with the XR docker probe, may have higher latencies, delays, and round trip times than other probe types. This is expected as packets are routed from host physical interface (to optional VM), through docker container, the docker container running as the probe. Other probes do not have this overhead of additional routing and waiting for processing due to layers.
-
If HTTPS tests Error with reason “HTTP SERVER DNS RESOLUTION FAILED”, you will need to update /etc/resolv.conf on the host machine to reference a nameserver that can locate the URL in the test. An example line to add to /etc/resolv.conf would be:nameserver 8.8.8.8.