Skip to content

Latest commit

 

History

History

non-cloud

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Example playbook: Bright on non-cloud

This playbook performs a network install of a Bright Cluster head node on a non-cloud machine. As a simple example, it contains the following files.

  • playbook.yml
  • requirements-control-node.txt
  • inventory
    • hosts
  • group_vars/head_node
    • cluster-settings.yml
    • cluster-credentials.yml

Quickstart guide

This guide assumes that machines are prepared according to the requirements as specified in the collection on Ansible Galaxy.

1. Install Ansible collection

Create and activate a virtual environment.

$ python -m venv venv
$ source venv/bin/activate

Install the Python dependencies.

$ pip install -r requirements-control-node.txt

Install Ansible collection.

$ ansible-galaxy collection install brightcomputing.installer100
Starting galaxy collection install process
Process install dependency map
Starting collection install process
( ... )

2. Configure parameters

In addition to the mandatory, top-level parameters, the non-cloud deployment type has multiple unique parameters. See Ansible Galaxy for a comprehensive overview. The non-cloud playbook example sets the following subset of parameters in addition to the mandatory parameters. (also see the YAML configuration files in group_vars/head_node)

# General cluster settings
external_interface: eth0
external_ip_address: DHCP
external_network_gateway: "{{ ansible_facts[external_interface].ipv4.address }}"
management_interface: eth1
management_ip_address: 10.142.255.254
management_network_baseaddress: 10.142.0.0
external_name_servers: [10.2.200.200]
install_medium: network
install_medium_network_packages:
  - "http://example.com/cm-config-cm.all.rpm"
  - "http://example.com/cm-config-yum.all.rpm"
# Cluster credentials
mysql_login_user: ! vault <encrypted string>
mysql_login_password: ! vault <encrypted string>

3. Run the playbook

Invoke the playbook and pass it an inventory file specifying a target head_node host.

$ ansible-playbook -i inventory/hosts playbook.yml

Go further

The collection on Ansible Galaxy provides a comprehensive overview of all the options for installing Bright Cluster head nodes.