Installation and Configuration of Subscriber Intelligence Solution using Ansible
The Gigamon Ansible Module consists of various playbooks that converts high level user intent in YAML format into JSON format.
The GigaVUE-FM uses the JSON format and translates the inputs into various individual components like GigaSMART GSgroups, GSOPs, FlowMaps, etc that are configured on the Physical or Virtual devices.
The Gigamon Ansible Module exposes playbooks that allows the configuration and maintenance of the Subscriber Intelligence solutions and the GigaVUE-FM GUI allows you to visualise, monitor and troubleshoot Subscriber Intelligence Solutions.
Refer to the following sections for configuring the Subscriber Intelligence solution:
System Requirements |
Installation and Configuration of Gigamon Ansible Module |
Rules and Notes |
The Gigamon Ansible Module allows you to configure the following:
S.No | Steps | Refer to.. |
1. | CUPS Solution | Configuration of CUPS using Ansible |
2. | Non-CUPS Solution | Configuration of Non-CUPS using Ansible |
3. | Enabling Subscriber Aware Metadata |
System Requirements
Ensure that the following environment is available before installing 'gigamon-ansible:
- Python version: 2.7.15 or greater
- Operating System: Linux
- Ansible version: 2.9.4 or greater
- Python Packages
- requests - Install this using pip install requests
- ruamel.yaml -Install this using ruamel.yaml
- jsonschema - Install this using pip install jsonschema
- netaddr - Install this using pip install netaddr
Installation and Configuration of Gigamon Ansible Module
Gigamon-Ansible module can be installed as follows:
Package | Operating System | Commands to install the Package |
RPM package | CentOS | sudo yum install <packageName>.rpm
|
Deb package | Ubuntu | sudo apt install <packageName>.deb
|
The package is extracted under the path /usr/local/share/gigamon.
For setting the Pythonpath, add the following to ~/.baschrc and source it:
export INSTALL_DIR=/usr/local/share/gigamon
export PYTHONPATH=$PYTHONPATH:$INSTALL_DIR
Everytime a Subscriber Intelligence solution is deployed/updated/deleted, a deployment report is generated in the path declared in the ansible_inputs.json file.
The checkmode feature allows you to find the difference between the configuration that is already present in the GigaVUE-FM against the payload that you are trying to apply without applying the new payload in GigaVUE-FM. This allows you to quickly find the components that gets affected if the new configuration is applied.
The check mode can be enabled by adding --check to the command that triggers the playbook.
/usr/bin/ansible-playbook --check -e ‘@~/cupsSolution/ansible_inputs.json’ -i ~/cupsSolution/cups_inventory /usr/local/share/gigamon-ansible/playbooks/cups/deploy_cups.yml
The output of --check is a Deployment Report that contains the difference in configuration as shown:
Deployment Report Checkmode
Deployment_Report_Checkmode
deploymentPayloadDiff:
updated:
- path: //trafficPolicies/LTE/whitelisting/flowMaps/wlMapInternetToEEA/rules/rule_1/interface
old_value: S11
new_value: s11
- path: //trafficPolicies/LTE/whitelisting/flowMaps/wlMapGeoProbe/rules/rule_1/apn
old_value: apn.airtel.com
new_value: apn.vodafone.com
removed: []
created: []
deploymentRequest: EDIT
deploymentResponse: CHECK MODE
timeStamp: 09-Mar-2020::12:12:1583781162
It is also possible to restore the configuration from the generated Golden Payload file using one of the following two commands:
/usr/bin/ansible-playbook -e ‘@~/mobilitySolution/ansible_inputs.json’ -e 'applyGP=True' -i ~/mobilitySolution/mobility_inventory /usr/local/share/gigamon-ansible/playbooks/mobility_solution/deploy_mobility_solution.yml
/usr/bin/ansible-playbook -e ‘@~/mobilitySolution/ansible_inputs.json’ -e 'applyGP=True' --ask-vault-pass -i ~/mobilitySolution/mobility_inventory /usr/local/share/gigamon-ansible/playbooks/mobility_solution/deploy_mobility_solution.yml
It is also possible to enable checkmode to find the difference between the configuration on GigaVUE-FM and the configuration of the Golden Payload. The command to do is:
/usr/bin/ansible-playbook --check -e ‘@~/mobilitySolution/ansible_inputs.json’ -e 'applyGP=True' -i ~/mobilitySolution/mobility_inventory /usr/local/share/gigamon-ansible/playbooks/mobility_solution/deploy_mobility_solution.yml
-
/usr/bin/ansible-playbook --check -e ‘@~/mobilitySolution/ansible_inputs.json’ -e 'applyGP=True' --ask-vault-pass -i ~/mobilitySolution/mobility_inventory /usr/local/share/gigamon-ansible/playbooks/mobility_solution/deploy_mobility_solution.ymlS
Note: It searches the golden payload file to reapply the configuration in the default location if the file path is not defined in the ansible_inputs.json file.
Rules and Notes
You must ensure the following rules and notes while deploying Subscriber Intelligence Solution:
- GigaVUE-FM is reachable from the server on which Ansible is executed.
- All the required licenses are installed on the Gigamon devices.
- The required permission for RBAC is available.
- Configurations that are not handled by the Mobility playbook are prec-configured.
- Migration of Subscriber Intelligence Solution from GigaVUE‑FM 5.9 to any other version is impossible.