IP PoolBot CLI Configuration Statements
This topic provides an overview of configuration commands, including syntax and option descriptions.
auto-reclamation (IP PoolBot)
Configure IP PoolBot to automatically drain pools and recover their addresses for use in other pools. When you enable auto-reclamation, IP PoolBot requests monitoring updates for the domain every 5 seconds.
You must configure at least one option, even if it is with the default value, to enable automatic reclamation.
IP PoolBot cancels all pending drain and recovery transactions when you remove auto-reclamation from the configuration.
always—IP PoolBot always evaluates pools that are critical or idle to determine whether to initiate reclamation.
window—IP PoolBot evaluates pools for reclamation only during the time window that you define with the window-start and window-duration options. If either of these options is set to 0, IP PoolBot acts as if you configured the always option.
A pool will be reclaimed after the window expires if both of the following occur:
The pool begins draining but does not complete it during the window. This means that the pool still has some addresses and is therefore not idle.
The pool continues to drain and becomes idle after the window expires.
always—The pool domain head is drained and its addresses are reclaimed.
best-alternate—All other pools in the domain are examined for reclamation. IP PoolBot determines the reclamation weight of each pool, including the domain head. It compares the weights of the other pools to that of the domain head. The pool with the closest match is selected to be drained and reclaimed.
never—The pool domain head is not drained and its addresses are not recovered. The domain head pool is placed in the critical pool, but IP PoolBot does not initiate a drain action. This option is useful in DHCP deployments where the prefix used in the first address pool must be a match with the giaddr.
A value greater than 0 gives the pool a buffer period during which it might rise back above the used-address threshold and not need to be drained.
Range: 0 through 60
Range: 15 through 720
HH:MM+hhmm—Specify the time and indicate the positive offset from local time. For example, if you specify 15:21+01:00, the start time is 16:21, local time.
HH:MM-hhmm—Specify the time and indicate the negative offset from local time. For example, if you specify 15:21-01:00, the start time is 14:21, local time.
entity (IP PoolBot)
Define attributes of the managed BNGs, also known generically as entities or devices.
- profile profile-name—Specify the name of a profile that defines attributes associated with the jnprHealthBot plug-in that interacts with HealthBot to monitor the managed BNGs.
- install-routes—Enable IP PoolBot to provision a static discard route for the pool prefix each time IP PoolBot adds a new prefix to the pool domain. When install-routes is true, you can optionally use the route-tag option in the partition configuration to specify a tag for the discard route created by the BNG.
- profile profile-name—Specify the name of a profile that defines attributes associated with the jnprNETCONF plug-in that interacts directly with the managed BNGs.
See pool-domain (IP PoolBot) for information about configuring the pool domains on a managed BNG.
inet-pool (IP PoolBot)
Configure how IP PoolBot partitions its global pool of IPv4 addresses, from which it allocates addresses to individual BNG pool domains. The inet-pool consists of multiple partitions that you create to define allocation contexts. You configure multiple root prefixes for each partition. You can specify the minimum and maximum size of root prefixes that are valid for the partition. You specify the smallest subnetwork that IP PoolBot can subdivide from a particular root prefix. IP PoolBot subdivides the root prefixes and allocates the resulting subnetworks to individual pool domains as needed to supplement the domain’s available addresses.
Range: 0 through 100
The max-prefix-len value must be greater than or equal to the min-prefix-len. Otherwise , IP PoolBot does not add the prefix to the partition.
Range: 1 through 31
The min-prefix-len value must be less than or equal to the max-prefix-len. Otherwise , IP PoolBot does not add the prefix to the partition.
Range: 1 through 31
- entity-ip ip-address—Specify the IP address of a managed BNG for which the prefix is reserved.
- pool-domain domain-name—Specify a pool domain on the managed BNG for which the prefix is reserved. Pool domain names must be unique within a given managed BNG.
This option requires that the install-routes option is true for the relevant entity.
pool-domain (IP PoolBot)
Configure pool domains on the managed BNG. Each pool domain corresponds to a linked address pool on the router. The pool domain determines the allocation context. It specifies a partition from which prefixes are allocated, and suggests an address to guide the IP PoolBot to select the desired prefix. It also establishes the address utilization thresholds that HealthBot monitors to trigger address provisioning.
Do not change configurations directly on a BNG for an address pool that IP PoolBot is managing as a pool domain.
IP PoolBot will not detect these changes unless it subsequently loses its connection to the BNG and then reconnects. Then the discovery process will detect the changes.
When you configure IP PoolBot to manage a pool domain, you should consider IP PoolBot to be the exclusive manager of that domain. You should use only IP PoolBot to make any configuration changes to the pool domain.
- excluded-address ip-address—Specify an address that IP PoolBot excludes when it allocates addresses to the pool domain.
- max-successive-allocations number—Specify how many allocations IP PoolBot makes in response to a given critical alarm for the free-address threshold.
Range: 1 through 100
- preferred-prefix-len length—Specify the size of the prefix that you want IP PoolBot to provision for the pool domain when the pool domain approaches address depletion. This point is signaled when the number of free addresses in the domain drops below the free-addresses-threshold.
- address-hint ip-address—Specify an address to guide the allocation for the pool domain. IP PoolBot checks for a root prefix that includes this address. Then it uses the preferred-prefix-len to find the subnetwork that most closely matches the address hint. If no matching subnetwork in the root prefix is available for allocation, then IP PoolBot checks other root prefixes in the partition for a prefix to allocate.
- partition partition-name—Specify the name of the partition from which IP PoolBot must allocate addresses to the pool domain.
- client-type (dhcpv4 | other)—Specify the client type that the BNG assigns addresses to from the linked address pool. If you specify dhcpv4, IP PoolBot includes a DHCPv4 attributes stanza in the configuration it sends to the BNG for each provisioned pool to support packet forwarding for DHCP subscribers. In this case, IP PoolBot uses the .1 address for the allocated prefix as the DHCP local server address on the BNG and adds this address to the local loopback interface configuration.
- local-loopback-interface lo0.logical-unit-number—Specify the local loopback interface. During pool provisioning, IP PoolBot configures the first address from the prefix range on the local loopback interface.
- network-instance routing-instance-name—Specify the routing instance where the linked address pool represented by the pool domain is located.
If you change the value for the routing instance name after committing the configuration, this action triggers a modification to the HealthBot playbook and can cause a temporary outage in monitoring.
All routing instances are expected to be in the default logical system.
- pool-head name—Specify the name of the pool head, which is the first pool of an existing linked address pool that is represented by the pool domain. IP PoolBot needs this name in the configuration so that it can follow the links during the discovery process to identify the rest of the pools in that linked address pool.
If you change the value for the pool head name after committing the configuration, this action triggers a modification to the HealthBot playbook and can cause a temporary outage in monitoring.
Do not use this statement if you intend for IP PoolBot to create a new linked address pool for the domain.
If you do not specify a name here, IP PoolBot creates a pool head in the following format: jnpr-ipb-pool-domain-name-000. When IP PoolBot subsequently creates more pools for the domain, it simply increments the sequence number to name each pool. For example, the second pool will be jnpr-ipb-pool-domain-name-001, the third pool will be jnpr-ipb-pool-domain-name-002, and so on.
If you change the values for the free-address threshold or used-address threshold after committing the configuration, this action triggers a modification to the HealthBot playbook and can cause a temporary outage in monitoring.
- free-addresses-threshold free-address-count—Set the number of free addresses in the pool domain that specifies the threshold below which HealthBot generates a critical alarm for the pool domain. The alarm triggers IP PoolBot to provision more addresses for the pool domain. The count is the sum of all free addresses across all the individual pools in the domain.
- reporting-interval seconds—(Optional) Set the interval at which HealthBot checks the pool domain pools for address utilization and reports the results.
This value is currently ignored. Instead, HealthBot checks pools at a fixed interval of 5 seconds.
Range: 5 through 300
- used-address-threshold used-address-count—Set the number of used addresses that defines the threshold for critical and nominal alarms for the pools in the domain.
When the number of used addresses in a pool drops below the threshold, HealthBot generates a critical alarm, indicating to IP PoolBot that a specific pool has more addresses than it needs and is suitable for address reclamation.
When the number of used addresses in a pool rises above the threshold, HealthBot generates a nominal alarm, indicating to IP PoolBot that the pool is appropriately using addresses and is not suitable for address reclamation.
When the number of used addresses is 0, the pool is idle, which causes HealthBot to generate an idle alarm.
profiles (IP PoolBot)
Define the attributes associated with IP PoolBot plug-ins. You apply profiles to BNGs in the entity configuration. The attributes are then conveyed to the plug-in when IP PoolBot initializes.
- initial-retry-interval seconds—Specify how long the plug-in waits after detecting a failure before it attempts to reconnect to the BNG. The interval doubles after each subsequent attempt. For example, using the default value of 3 second for the first attempt, the plug-in then waits successively 6 seconds, then 12 seconds, and so on until an attempt is successful or all retries have been used.
Range: 1 through 300
- max-retries number—Specify how many attempts the plug-in makes to reconnect to a BNG before declaring it to be unreachable. Thereafter, the plug-in continues attempting to reconnect forever, but the retry interval remains fixed at the calculated value used for the max retry attempt.
Range: 1 through 16
This option is used only for internal test purposes.
- jnprHealthBot—Plug-in that communicates with the external manager, HealthBot, which in turn communicates with managed BNGs for telemetry and monitoring.
- jnprNETCONF—Plug-in that communicates directly with managed BNGs for provisioning and deprovisioning.
- other—Plug-in that is used only for external plug-ins for internal test purposes. Use this option only with the other-plug-in-name plug-in name option.
- manager—The plug-in interacts directly with an external manager that in turn directly monitors the managed BNGs. jnprHealthBot is a manager type plug-in.
- entity—The plug-in interacts directly with the managed BNGs. jnprNETCONF is an entity type plug-in.
For jnprNETCONF, these are the credentials needed to access the NETCONF/ssh interface on the managed router.
For jnprHealthBot, these are the credentials needed to access HealthBot’s REST interface.
- password string—String of characters that must consist of at least 5 characters from the following set:
Range: 5 through 128
- username name—String of characters that must consist of 1 character from the set [a-zA-Z] followed by from 3 to 63 characters from the set [a-zA-Z0-9-_].
Range: 4 through 64
system (IP PoolBot)
Configure attributes that determine how IP PoolBot behaves for alarms and transactions.
Range: 5 through 900
Range: 60 through 900