Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?


IP PoolBot Installation

IP PoolBot Installation Overview

IP PoolBot monitors the state of address pools on MX Series routers acting as broadband network gateways (BNGs) in the network. When the free address utilization drops below a specified threshold on a BNG under management, IP PoolBot adds unused prefixes to the address pool. IP PoolBot improves the efficiency of address utilization and avoids the overhead and complexity of manual monitoring and provisioning. IP PoolBot can optionally reclaim underutilized pools for redistribution of prefixes.

IP PoolBot is a cloud-native application. It is automated, centralized, and container-based. It works with Contrail HealthBot to improve the efficiency of your network operations. You can deploy IP PoolBot on any hardware that meets the requirements.

This chapter describes how to install IP PoolBot. It is intended for network operators and administrators who install, configure, and manage the network infrastructure. It specifically explains:

  • IP PoolBot hardware and software requirements

  • How to download and install IP PoolBot

  • How to adjust IP PoolBot setup parameters

IP PoolBot Installation Requirements

IP PoolBot requires the following hardware and software components on the host machine.

IP PoolBot Hardware Requirements

You can install IP PoolBot on a physical machine or on a virtual machine. Confirm that your equipment meets the following minimum requirements.

Proof-of-concept (POC) system:

  • RAM: 32 GB

  • Disk space: 10 GB or more in /var/local

  • CPU cores: 6; hyperthreading is desirable

Production system:

  • RAM: 512 GB

  • Disk space: 2 TB SSD

  • CPU cores: 64 or 128 with hyperthreading support (64x2)

IP PoolBot Software Requirements

Confirm that the following software with the listed versions is installed.

  • Either of the following for your IP PoolBot host machine:

    • Ubuntu version 18.04 LTS; we recommend installing Ubuntu as one large disk partition

    • Red Hat Enterprise Linux (RHEL) 7.7 or higher

    • If you use multiple partitions, IP PoolBot data is written to the /var/local directory.

  • Docker version 18.09.9 or greater

  • Kubernetes v1.16.x

  • HealthBot version 2.0.2


    HealthBot must be running before you install IP PoolBot. See Contrail HealthBot Installation Guide for information about installing and setting up HealthBot.


    IP PoolBot supports only a single instance of HealthBot.

Operator-Provisioned Kubernetes Objects

You must provision the following Kubernetes objects that IP PoolBot requires:

  • A persistent volume of 5 GiB or larger for the IP PoolBot database to store snapshots and transaction logs to provide persistent recovery. The persistent volume must have read-write-many (RWX) access.

    Best Practice:

    We recommend that you provide 10 GiB for the database persistent volume.

  • A persistent volume of 100 MiB or larger for IP PoolBot to store dynamic configuration files for configuration recovery. The persistent volume must have read-write-many (RWX) access.

  • Docker and the local Docker image store. A private Docker registry is required to make container images available to the worker nodes in a cluster.

Although it is not required, it is very useful to provide a centralized logging facility at the operator layer to capture logs from multiple restarts for a given pod. Kubernetes by default retains logs for only one previous incarnation.

You can choose which volume plug-in to use for the persistent volume. However, the plug-in must support ReadWriteMany (RWX) access, because both the master nodes and the worker nodes will write to the persistentVolumeClaim.

You can also choose whether to set the reclaim policy for the persistent volumes appropriate to your overall storage management strategy. Claims against these persistent volumes will be withdrawn only when you uninstall IP PoolBot.

Network Device Requirements

A Juniper Networks MX Series router or vMX running Junos OS Release 18.3R3 or later.

Additional Requirements

Confirm all of the following:

  • The IP PoolBot server has access to the Internet during installation.

  • You have a user account with permissions to download the IP PoolBot software package.

  • You know the IP address of the HealthBot server.

  • You have login credentials for the HealthBot user interface with sufficient access to install updates to the HealthBot installation.

  • HealthBot is running.

How to Install IP PoolBot

Before you begin, confirm that you have met the hardware and software requirements for the IP PoolBot installation.

You can download the IP PoolBot software package as either of the following:

  • Debian (.deb) package file for installation on Ubuntu

  • RPM (.rpm) package file for installation on RHEL

The Debian and RPM package managers create the /var/local/poolbot directory as part of the installation process. The package manager installs the contents of the IP PoolBot package in this directory. The package manager also installs any external module dependencies that are necessary for the operation of IP PoolBot.

The general workflow for installing IP PoolBot on Ubuntu and RHEL is shown in Figure 1.

Figure 1: Installation Workflow - IP PoolBot on Ubuntu and RHELInstallation Workflow - IP PoolBot on Ubuntu and RHEL

Part 1 - PREPARE

  1. Ensure that the Linux package lists on your host system are current.
    • Ubuntu

    • RHEL

  2. (Optional) If needed, install the newest versions of all currently installed packages.
    • Ubuntu

    • RHEL

  3. Install the wget package. You use this tool later to download the IP PoolBot software package.

    wget is one way to download the software package, but it is not required. You can use any valid method to download the package.

    • Ubuntu

    • RHEL


  1. Download the IP PoolBot package from the Juniper Networks software download page to a temporary directory (like /var/tmp) on the server.

    • Ubuntu

    • RHEL


    You can also download the IP PoolBot package locally and push it to the IP PoolBot server, if you prefer.

Part 3 - INSTALL

  1. Install the .deb package with the following format:

    • Ubuntu

    • RHEL

    The installer checks whether prerequisite software is installed on your host device during this step. If the installer discovers any required software is missing, it prompts you before installing those missing software packages.

    For example:

  2. Run setup to configure your installation.

    • If you are installing IP PoolBot on the same system where HealthBot is installed:

    • If you are installing IP PoolBot on a different system than where HealthBot is installed:


      healthbot-ip-address is the IP address or fully qualified domain name of the HealthBot host.

    • To skip modifications to the HealthBot configuration that affect IP PoolBot:

      This option is useful when you are upgrading your version of IP PoolBot and you have previously modified HealthBot support for IP PoolBot to suit your needs.

    The setup command does all of the following:

    • Checks the run-time environment compatibility for IP PoolBot. This includes verifying that supported versions of Ubuntu or RHEL, Docker, Docker Compose, and HealthBot are installed. It also checks whether HealthBot is running. Any errors are printed to the terminal; for example, Docker is not installed on this system.

    • Loads the container images to the local docker repository.

    • Prepares the HealthBot installation for IP PoolBot integration.

    • Initializes the IP PoolBot configuration.

    For example:

    IP PoolBot installation and setup is now complete. Use the following command to verify the installation:

    • Ubuntu

    • RHEL

  3. Verify the installation.

    1. Verify the IP PoolBot version.

    2. Verify that all Kubernetes objects are in Present or Bound state.

Part 4 - START

  1. Enter poolbot start to start IP PoolBot services.

    For example:


    This command starts the IP PoolBot services in order of dependency. Essential services (db and cmgd) are started first, followed by the other services.

  2. Enter poolbot status to verify that the IP PoolBot services are up and running.

    For example:


    Collect the logs for a service and contact the Juniper Networks Technical Assistance Center (JTAC) when either of the following occurs:

    • The service is not running.

    • The service’s uptime compared to other services indicates that it has restarted.