Before creating a stack profile, you must:
- Ensure the three required configuration files (TCPConfig.json, InstallerConfig.json, and AddHosts.json) are created and uploaded to the VM, see Create configuration files.
- Onboard all servers and create a hardware profile for ESXi.
To use a hardware profile, you must have DHCP running and all the servers must have the same type of firmware version, model, and BIOS. You can also use a server profile to onboard servers that have ESXi installed on them.
Note: See the sample files for stack deployment that are bundled with the Bare Metal Orchestrator OVA file. They are located here: ~/samples/stacks/tcp.
- Establish a CLI session on the Bare Metal Orchestrator VM and log in. For high availability configurations, establish a CLI session using the virtual IP (VIP) of the Load Balancers for the Bare Metal Orchestrator cluster.
- Create a new stack profile .yaml file by copying the sample file (see Stack deployment YAML example).
cp <sample-profile>.yaml <new-stack-id>.yaml
- Edit the <new-stack-id>.yaml file in Vim or a similar editor.
For example: vim dell_stack.yaml
- Customize the <new-stack-id>.yaml file with the required configurations. Add the IP addresses of the ESXi servers and other required details (username, password, DNS list, VLAN, and so on).
Note: The name field in "serverForDeployment[i].name" must match the server names in Bare Metal Orchestrator. The names given for the fields "spec.stackConfig", "spec.stackHostAdditionConfig" and "spec.stackInstallerConfig.configFile" must match the names of the configuration files uploaded in web server.
- Save the file and quit the editor.
- Create the stack deployment from the stack yaml:
bmo create stack -f <new-stack-id>.yaml
For example:
bmo create stack -f dell_stack.yaml
- Verify that the stack has been created and the DeployStack Operation status is busy with this command:
bmo get stack
- The stack deployment process can take several hours to complete depending on the deployment size. Check the progress percentage for each domain with this command:
bmo describe stack tcp-stack-1
Once the deployment is completed, the stack state shows as "Ready".