Bare metal provisioning tasks and stages

This topic describes the workflows for installing and configuring all of the BMC Server Automation components for bare metal provisioning, and the workflow for setting up and executing a Provisioning Job.

The sections below describe the tasks involved in each workflow, and provide references to further details in BMC Server Automation technical documentation.

Overview

BMC Server Automation provisioning performs unattended installations of operating systems onto new machines (“bare metal” machines) or reprovisions existing machines. To provision higher layers of the server stack above the operating system, you can run jobs that configure server settings, deploy files, and install software.

Flowchart for bare metal provisioning

The flowchart illustrates the installation and execution tasks you perform during bare metal provisioning. Click the thumbnail below for a full-size image.

Provisioning installation workflow

This section describes the workflow for installing and configuring all of the BMC Server Automation components for bare metal provisioning. Usually, you need to perform these tasks only one time. The workflow assumes that:

  • You are performing a fresh installation of the BMC Server Automation Application Server and provisioning
    components.
  • You are setting up all provisioning environments (PXE, JumpStart, NIM, and Ignite).

To perform upgrades on existing BMC Server Automation components, see Upgrading. To see more detailed workflow descriptions for each of the provisioning environments (PXE, JumpStart, NIM, and Ignite), see the Provisioning basics.

The following procedure lists the tasks for the workflow in the approximate order that you should perform them. Click Read more for more information about a provisioning task, as well as references to details in BMC Server Automation documents.

  1. Install the provisioning Application Server — To install the provisioning Application Server, you install an Application Server and select the option to enable provisioning.

     Read more.

  2. Install the PXE and TFTP servers — The PXE server delivers instructions to servers being provisioned so they can download a bootstrap program. The TFTP server serves boot images required for a network-based installation of the operating system. (BMC Server Automation provisioning requires that the PXE server and the TFTP server reside on the same host computer.)

     Read more.

  3. Configure the PXE and TFTP servers — Configure the PXE and TFTP servers to communicate with the BMC Server Automation database and target servers being provisioned. To configure, you can use the PXE/TFTP Server Configuration tool. (To configure the PXE server for a multiple database provisioning environment, you must use this tool.) See Configuring the PXE and TFTP servers.
  4. Configure the DHCP server to support the provisioning process — The BMC Server Automation provisioning process requires a DHCP server, which assigns IP addresses to the devices being provisioned and (in a one database environment) configures the location of the Application Server. See Configuring the DHCP server.
  5. Set up and share the data store — On the host computer for the data store, set up a directory structure to store the operating system installers required for provisioning.

     Read more.

    To share the data store for provisioning Windows servers, if the data store server is:

    • A Windows machine, configure Windows sharing.
    • A Linux or Solaris machine, configure Samba.
      To share the data store for provisioning Linux servers, if the data store server is:
    • A Windows machine, configure Windows IIS.
    • A Linux or Oracle Solaris machine, configure Apache.
      See Setting up a data store.

  6. Stock the data store — Copy all required files into the data store, including operating system installers, files for Windows drivers, and files needed to install RSCD agents on the target devices. See Stocking the data store.
  7. Prepare agents for provisioning — Set up RSCD agents so that they can be installed on target devices as part of the provisioning process. See Preparing agents for provisioning.
  8. Set up the JumpStart environment — See Setting up the JumpStart environment for provisioning.
  9. Set up the NIM environment — See Setting up the NIM environment for provisioning.
  10. Set up the Ignite environment — See Setting up the Ignite environment for provisioning.

Back to top

Provisioning execution workflow

This section describes the workflow for setting up and executing a Provision Job. A Provision Job performs the unattended installation of an operating system on target devices. The following procedure lists routine tasks for provisioning target devices, as opposed to one-time installation and setup tasks described in the previous section.

  1. Grant access to roles involved in provisioning — On the Application Server, use BMC Server Automation role-based access control (RBAC) to do the following:
    • Grant the appropriate level of access to the different roles involved in the provisioning process.

       Read more.

      For example, expert users who design system packages might be assigned to a role that is granted complete authorization to all provisioning capabilities. Users who provision machines might be assigned to another role that is granted limited access. This role might only be granted the ability to execute Provision Jobs.

    • Grant access to devices and servers to appropriate roles.

       Read more.

      For example, to see devices in the device selection list and add them to a Provision Job, a user needs Device.Read access. To execute a Provision Job, a user needs additional device access and Server.Create access. For a list of access requirements, see #Provisioning authorization requirements.
      For more about RBAC, see Managing authorizations.”

  2. Configure the data store — Create a DataStore instance to define the location of the data store and other values used to access data sources for provisioning. See Configuring the data store.
  3. Create custom system package types (optional) — BMC Server Automation provides system package types you use to create system packages. You can also create your own custom system package type.
    See Creating custom system package types.
  4. Configure the system package type — Edit the system package type to specify the location of the operating system installer and the RSCD agent. See Changing the location of installation files.
  5. Set up post-provisioning jobs — After a system package installs an operating system and the RSCD agent, the package can also run a job to perform additional configuration on the server and install software. See Including a Batch Job in a system package.
  6. Create boot image files — To provision Windows and Linux machines, you must create BMC Server Automation-specific boot image files and place them on the TFTP server. See:
  7. Configure boot image files (PXE environment) — Each image file has configuration settings, including a description and an indication of whether it is the default image file in your environment. You can review and adjust the settings. See Configuring boot image files.
  8. Create system packages — System packages are a consistent, logical way to represent the values passed to the operating system installer. Optionally, a system package can also run a job to further configure the server. You should set up a different system package for each type of server you plan to provision. See Creating a system package.
  9. Create a Provision Job — The Provision Job selects a system package and sets other job-specific information. In the See Creating a Provision Job.
  10. Add devices to a Provision Job and run the Job — You can edit a Provision Job to add or change the list of devices to provision, and then execute the job to provision the devices.

Note

To provision from a local data store, the tasks are similar to those in the Provisioning Execution workflow but require settings specific to the local data store. See Provisioning Windows 2003 or 2008 servers from a local data store.

Back to top

Provisioning authorization requirements

To perform provisioning installation and execution tasks, you must have the appropriate authorizations assigned to your user role and to the relevant system objects and resources. The following table lists the minimum authorizations required by each provisioning-related task.

Task

Minimum authorizations

Install the Application Server and enable it for provisioning

  • On Windows: Administrator privileges
  • On Linux and UNIX: Root privileges

Install and configure the PXE and TFTP servers

  • On Windows: Administrator privileges
  • On Linux and UNIX: Root privileges

Create data store instances

PropertyClass.CreateInstance (on the data store and data store subclass appropriate for the operating system)

Create a system package

  • SystemPackage.Create
  • SystemPackage.Modify
  • SystemPackage.Read
  • PropertyClass.CreateInstance
  • PropertyClass.Modify

Modify a system package

  • SystemPackage.Modify
  • SystemPackage.Read
  • SystemPackage.ModifyACL
  • SystemPackage.ModifyProperties
  • PropertyClass.Modify

Create a Provision Job

  • ProvisionJob.Create
  • ProvisionJob.Read
  • All of the system package creation permissions

Edit a Provision Job

  • ProvisionJob.Modify
  • ProvisionJob.Read
  • ProvisionJob.ModifyACL
  • ProvisionJob.ModifyProperties
  • SystemPackage.Read
  • SystemPackage.Modify
  • SystemPackage.ModifyACL
  • PropertyInstance.Modify

Import or add a device

  • Device.Create
  • Device.Read
  • Device.Modify
  • Device.ModifyACL
  • Device.ModifyProperties

Provision a device and other management activities

  • Device.Provision
  • Device.SetAsProvisioned
  • Device.ReProvision
  • Device.Read

Execute a Provision Job

  • ProvisionJob.Execute
  • All of the system package creation permissions
  • PropertyInstance.Read
  • Device.Read
  • Device.Provision
  • Device.Modify
  • Server.Decommission
  • Server.Create
  • Server.Read

Cancel a Provision Job

  • ProvisionJob.Execute
  • ProvisionJob.Cancel
  • Device.Modify
  • Server.Decommission
  • Server.Read

Back to top

Was this page helpful? Yes No Submitting... Thank you

Comments