/ansible_role_perfsonar

perfSONAR server role

Apache License 2.0Apache-2.0

perfSONAR

This perfSONAR role sets up toolkit and testpoint perfSONAR nodes.

Requirements

  • Ansible on the jumpbox / bastion host

  • perfSONAR role installed

    $ ansible-galaxy install -f epcjr.ansible_role_perfsonar
    

Role Variables

Group Variables, and their default values:

  # Which perfSONAR package you would like to install.
  # We currently support:
  #   perfsonar-toolkit
  #   perfsonar-testpoint
  #
  # This is a required option.
  #
  perfsonar_bundle: 
  
  # A list of ntp servers to add to ntpd.conf
  #
  perfsonar_ntpservers: []
  
  # A list of perfSONAR nodes to initially troubleshoot to after install.
  #
  perfsonar_troubleshoot: []
  
  # Update the underlaying OS before bundle install
  #
  perfsonar_os_update: false
  
  # Autoupdate more info: http://docs.perfsonar.net/manage_update.html
  #
  perfsonar_autoupdate: false

Toolkit Variables. These manage the toolkit's web user. They are undeclared by default.

  perfsonar_web_user:
  perfsonar_web_passwd:

Testpoint Variables. These can elect to use optional packages normally included in the toolkit.

  # See more here: http://docs.perfsonar.net/install_centos.html
  #
  # NTP more info: http://docs.perfsonar.net/manage_ntp.html
  #
  # System Tuning info here: http://docs.perfsonar.net/install_centos.html#step-3-verify-ntp-and-tuning-parameters
  # More here: http://docs.perfsonar.net/manage_tuning.html
  #
  # Security module more info: http://docs.perfsonar.net/install_centos.html#step-4-firewall-and-security-considerations
  # More here: http://docs.perfsonar.net/manage_security.html
  # Service watcher info: http://docs.perfsonar.net/install_centos.html#step-6-service-watcher
  #
  
  perfsonar_optional_packages:
    - perfsonar-toolkit-ntp
    - perfsonar-toolkit-security
    - perfsonar-toolkit-servicewatcher
    - perfsonar-toolkit-sysctl
    - perfsonar-toolkit-systemenv-testpoint

Host Variables, only set on a per-host basis. They are undeclared by default.

  # This is used for multi-interface machines only.
  # Define the interface's name and gateway and it will set up the routes
  # with the perfSONAR multi-interface script.
  #
  # See more here: http://docs.perfsonar.net/manage_dual_xface.html
  #
  perfsonar_interfaces:
    - name:
      ipv4_gateway:
    - name:
      ipv4_gateway:

Dependencies

None.

Example Playbook

perfsonar_site.yml:

- hosts: testpoints
  vars_files:
    - vars/perfsonar_vars.yml
  roles:
     - { role: epcjr.ansible_role_perfsonar, perfsonar_bundle: perfsonar-testpoint }

- hosts: toolkits
  vars_files:
    - vars/perfsonar_vars.yml
  roles:
     - { role: epcjr.ansible_role_perfsonar, perfsonar_bundle: perfsonar-toolkit }

vars/perfsonar_vars.yml:

  # perfsonar node settings
  # add Google's ntp server
  perfsonar_ntpservers:
    - 216.239.35.0
  # troubleshoot to I2
  perfsonar_troubleshoot:
    - perfsonardev0.internet2.edu
  
  # Variables for Toolkits Only
  perfsonar_web_user: pswebadmin
  # secrets can be encrypted with Ansible vault:
  # ansible-vault encrypt_string 'secret' --ask-vault-pass --name=perfsonar_web_passwd
  perfsonar_web_passwd: secret
  
  #Variables for Testpoints Only
  perfsonar_optional_packages:
    - perfsonar-toolkit-ntp
    - perfsonar-toolkit-security
    - perfsonar-toolkit-servicewatcher
    - perfsonar-toolkit-sysctl
    - perfsonar-toolkit-systemenv-testpoint

host_vars/example_ps_host

  # Set hostname and configure multiple interfaces
  perfsonar_interfaces:
    - interface_name: em0
      interface_gateway_ipv4: 1.2.3.4
    - interface_name: p0p0
      interface_gateway_ipv4: 5.6.7.8

License

Apache 2.0

Author Information

Future Development

  • All perfSONAR bundles: tools, core, centralmanagement, archive
  • interface_gateway_ipv6 support
  • optional test packages