Back to Articles

The following is an example of a completed host_inventory file.

#######
# ServAssure Collection Platform Host Inventory
#
# All ServAssure Collection Platform Hosts below
# Listed by ServAssure Collection Platform ROLE
#
# MULTI-INTERFACE SUPPORT
# Every ServAssure Collection Platform host specification can be supplied with an alternative interface to use to bind to instead of the default.
# To specify the alternate interface per host, use the "use_eth_interface" host variable.
# To specify the alternate interface's hostname if it is set up in DNS, use the "use_custom_fqdn" host variable.
# 
#       Example: [rabbitmq]
#                <hostname> ansible_host=<private_ip> use_eth_interface=ens224 use_custom_fqdn=rabbit1alternate.lab.domain.net
# 
# These need to be configured per host in the inventory, or if all hosts use the same interface name, it can be placed in site-vars. 
# The syntax for defining this information is the same across all groups (rabbitmq,docsis_manager,etc.)
#
[rabbitmq]
<hostname> ansible_host=<private ip>
#
[docsis_manager]
<hostname> ansible_host=<private ip>
#
# NOTE: The manager sends a URL down to the poller over the message bus telling the poller where to post ingest data. 
#       By default this ingest url is constructed from the default ip address of the manager or its short hostname.
#       If the poller needs to use a name/address different from either of these, 
#       the INGEST_ADDRESS host variable can be set on each docsis manager in inventory with the name/address for that manager 
#       at which the poller can reach it
#
#
#
[docsis_poller]
<hostname> ansible_host=<private ip>
#        Example: poller01    ansible_host=<poller01_ip>    QUEUE_LISTENER_LIST=pnmJob
#                 poller02    ansible_host=<poller02_ip>    QUEUE_LISTENER_LIST=lowPriority,highPriority,backgroundPriority,onDemand
#                 poller03    ansible_host=<poller03_ip>    QUEUE_LISTENER_LIST=lowPriority,highPriority,backgroundPriority,onDemand
#
# NOTE:  The interface the ServAssure TFTP Receiver listens on is configurable. 
#        By default (no TFTP* host inventory variables set), the interface that ServAssure TFTP Receiver binds to will 
#        be the configured for the default ipv4 and/or default ipv6 address for the host
#        If the TFTP_IPV4 host variable is set the ServAssure TFTP Receiver will be configured to bind to the ipv4 address specified 
#        If the TFTP_IPV6 host variable is set the ServAssure TFTP Receiver will be configured to bind to the ipv6 address specified
#        If the TFTP_IP host variable (deprecated) is set the ServAssure TFTP Receiver will be configured to bind to the address 
#          specified (This variable kept for backwards compatibility) 
#        Example: [docsis_poller]
#                 server-hostname-x TFTP_IPV4=10.0.0.1
#                 server-hostname-y TFTP_IPV4=10.0.1.1
#
#        In cases where CMs must use a NAT'd address for sending PNM data to poller over TFTP the TFTP_IPV4_CM_NAT/TFTP_IPV4_CMTS_NAT 
#        or TFTP_IPV6_CM_NAT/TFTP_IPV6_CMTS_NAT host variable should be set to the pollers NAT'd address to be used.
#        This allows for the CM and/or CMTS to use an address other than the tftp bind address of the poller for TFTP. 
#        Example: [docsis_poller]
#                 server-hostname-x TFTP_IPV4=10.0.0.1 TFTP_IPV4_CMTS_NAT=172.0.0.1 TFTP_IPV4_CM_NAT=173.0.0.1
#                 server-hostname-y TFTP_IPV4=10.0.1.1 TFTP_IPV4_CMTS_NAT=172.0.1.1 TFTP_IPV4_CM_NAT=173.0.1.1
#
#        The ServAssure TFTP Receiver can be disabled completely by setting TFTP_IPV4 and TFTP_IPV6 to empty,
#         i.e. TFTP_IPV4= TFTP_IPV6=
# NOTE: The poller can be configured to only listen to particular queues. 
#       It listens to all by default. Customizing this is not a typical configuration. The QUEUE_LISTENER_LIST 
#       host variable is used on hosts in the docsis_poller inventory group to accomplish this. This is an 
#       optional variable.
#       QUEUE_LISTENER_LIST takes a list where list should be made up of one or more of the following values
#       separated by commas (no spaces):
#                 lowPriority,highPriority,onDemand,backgroundPriority,pnmJob
#       The pnmJob value designates a dedicated ServAssure TFTP Receiver and cannot be used with other QUEUE_LISTENER_LIST values.
#       IMPORTANT: The pnmJob value should only be used if more than one poller node exists in the deployment.
#        
#        Example: [docsis_poller]
#                 server-hostname-x QUEUE_LISTENER_LIST=onDemand
#
# NOTE: Individual pollers can be configured for a specific network partition. This is an optional variable configured using
#       the NETWORK_PARTITION host variable. Setting this also requires specifying a corresponding network partition using the
#       ServAssure Collection Platform cmts API.
#       NETWORK_PARTITION values should not contain a period ('.') character or spaces
#
#        Example: [docsis_poller]
#                 server-hostname-x NETWORK_PARTITION=east
#
# NOTE: In the case that multiple variables need to be specified on a docsis_poller, this is done by specifying multiple
#        varname=val pairs separated by spaces. i.e.
#        Example: [docsis_poller]
#                 server-hostname-x QUEUE_LISTENER_LIST=onDemand NETWORK_PARTITION=east TFTP_IPV4=10.0.0.1
#
#
[metrics]
<hostname> alias=metrics1
#        The legacy metrics server group. No longer needed if a new metricsv2 VM has been allocated and metrics are 
#        publishing to a new server. Can be retained as long as the VM still exists.
#
[metricsv2]
<hostname> ansible_host=<private IP>
#
[logger]
<hostname> ansible_host=<private IP
#
#[docker_hosts:children]
#docsis_l2tp_receiver
#         Groups in this host_inventory file where Docker must be insalled to support ServAssure L2TP Receiver. 
#         Values are required only if deployment includes ServAssure L2TP Receiver
#
# [docsis_l2tp_receiver]
# <hostname> IP=<private IP> ansible_host=<privae IP>
# NETWORK_PARTITION=<partition name> ansible_user=<user name>
# L2TP_NAT=<private IP>
# L2TP_IP=<private IP>
#
#NOTE: Host details for hosts where ServAssure L2TP Receiver is installed. Required if [docker_hosts:children] is enabled.
#         Includes for each host:
#             Hostname for the hosting server
#             IP for the hosting server
#             Name of the NETWORK_PARTITION (optional)
#             IP address for the Ansible Management Server
#             User name for the Ansible Management Server
#             IP that the ServAssure L2TP Receiver binds to (IPv4 or IPv6)
#             IP that remote devices connect to (IPv4 or IPv6)
#
#       Example:
#            my.server.hostname.1 IP=192.0.2.0 ansible_host=192.0.2.1
#            NETWORK_PARTITION=partition ansible_user=arris
#            L2TP_NAT=2001:db8:ffff:ffff:ffff:ffff:ffff:0001
#            L2TP_IP=2001:db8:ffff:ffff:ffff:ffff:ffff:0002
#
[all:vars]
# envars - Full path and filename of the site specific variables file
envars=<path to site vars file>