setup_cluster
Issues a bootstrap request to a specified Rubrik cluster
Usage
When bootstrapping nodes the Bootstrap()
function is used to establish the connection. It allows the user to specify an interface name, which is the local network interface that will be used to connect to the Rubrik node(s). If you are attempting a bootstrap from a system with multiple interfaces, you should set this parameter. If no interface is specified, the SDK will attempt to use the first non-loopback interface it finds. Below is the specification for the Bootstrap() function.
Physical Cluster
Bootstrapping a physical cluster will only be possible using IPv6 (see mDNS below). Management and IPMI configurations are mandatory for a successful bootstrap.
Virtual Appliance
When bootstrapping a Virtual Appliance (Edge), this can be done either by using the IPv4 address as set on deployment or using IPv6 as stated below. IPMI addresses and DATA addresses can not be set and the encryption parameter should be set to "False".
Cloud cluster
Cloud Cluster instances have an IPv4 address dynamically assigned by the cloud provider, so there is no need to use mDNS for bootstrapping. Once the instances are deployed, gather the assigned IPs from the cloud provider console and use them in a similar manner to the example below. Cloud Clusters need to have the encryption parameter set to "False".
mDNS
By default, an un-bootstrapped Rubrik node will respond to multicast DNS (mDNS) queries directed to [node_serial_number].local
. It is important that mDNS resolution is working properly on system where the SDK is called from if you wish to supply [node_serial_number].local
to the Bootstrap()
function as the node_ip
value.
Any un-bootstrapped nodes on a network can be found using "avahi-browse -a" (Linux) or using a packet tracing utility filtering on mDNS (port 5353 - any OS).
mDNS resolution is not well supported on Windows, but it can be accomplished by installing the Apple Bonjour service, included with iTunes or Bonjour Print Services. mDNS is better supported on Linux and macOS, but you should verify working name resolution before using this function. If mDNS name resolution is not working on Linux, you can determine the link-local IPv6 address of the un-bootstrapped node(s) with the command avahi-resolve --name [node_serial_number].local
or by using the python-zeroconf library. The link-local IPv6 address can then be passed to the Bootstrap()
function instead of the mDNS name.
Troubleshooting
Enable logging by passing enable_logging=True
to the bootstrap function. Example:
mDNS name resolution can be verified on systemd-based Linux systems using the command systemd-resolve --status
. The resulting command should display MulticastDNS setting: resolve
or MulticastDNS setting: yes
. Additional information can be found at the links below.
Arguments
Name
Type
Description
Choices
cluster_name
str
Unique name to assign to the Rubrik cluster. No FQDN allowed with dots.
admin_email
str
The Rubrik cluster sends messages for the admin account to this email address.
admin_password
str
Password for the admin account. Store carefully.
mgmt_gateway
str
IP address assigned to the management network gateway.
mgmt_subnet_mask
str
Subnet mask assigned to the management network.
node_mgmt_ips
dict
The Node Name(s) and IP(s) formatted as a dictionary for Management addresses.
Keyword Arguments
Name
Type
Description
Choices
Default
mgmt_vlan
int
VLAN assigned to the management network.
None
ipmi_gateway
str
IP address assigned to the ipmi network gateway.
None
ipmi_subnet_mask
str
Subnet mask assigned to the ipmi network.
None
ipmi_vlan
int
VLAN assigned to the ipmi network.
None
node_ipmi_ips
dict
The Node Name and IP formatted as a dictionary for IPMI addresses. Optional.
None
data_gateway
str
IP address assigned to the ipmi network gateway.
None
data_subnet_mask
str
Subnet mask assigned to the ipmi network.
None
data_vlan
int
VLAN assigned to the data network.
None
node_data_ips
dict
The Node Name and IP formatted as a dictionary for Data addresses. Optional.
None
enable_encryption
bool
Enable software data encryption at rest. For Cloud Cluster or Edge this value needs to be False.
True
dns_search_domains
str
The search domain that the DNS Service will use to resolve hostnames that are not fully qualified.
None
dns_nameservers
list
IPv4 addresses of DNS servers.
['8.8.8.8']
ntp_servers
list
FQDN or IPv4 address of a network time protocol (NTP) server.
['pool.ntp.org']
wait_for_completion
bool
Flag to determine if the function should wait for the bootstrap process to complete.
True
timeout
int
The number of seconds to wait to establish a connection the Rubrik cluster before returning a timeout error.
30
Returns
Type
Return Value
dict
The response returned by POST /internal/cluster/me/bootstrap
.
Examples
Physical Cluster Example
Virtual Appliance Example
Cloud Cluster Example
Last updated