Creating a system package in BMC Server Automation
In order to perform an unattended installation of an operating system, you must create a system package in BMC Server Automation for each server configuration you want to install.
- Overview of system packages
- Before you begin
- To create a system package
- Special considerations for Linux system packages and Windows 2008 system packages
- After you create the system package
- Where to go from here
Overview of system packages
A system package not only contains all the instructions needed to install an operating system over the network, it can also run jobs that install software and configure a machine for a particular purpose. Consequently, you may want to create a different system package for each type of server you want to provision rather than just creating one system package for each type of operating system you want to install. For example, you might want to create a system package for a web server running Microsoft Windows 2008 and IIS. You could create another system package for a database server running Linux 8.0 and Oracle.
A system package type uses installation files for a specific operating system. Consequently, system packages for the various types of Windows, Linux, ESX, Solaris, AIX, and HP-UX operating systems are not interchangeable. Create separate system packages for servers running different operating systems.
Before you begin
To enable a successful publish of system packages for BMC Cloud Lifecycle Management, you must store them in the CSM_OS_Packages subfolder of the Depot folder in the navigation tree of the BMC Server Automation Console (Depot > CSM_OS_Packages):
To create a system package
- In the Depot folder, right-click the folder where you want to add a new system package. From the pop-up menu, choose New > System package.
- Provide information for the new system package, as described in the following sections:
- Click Finish.
The system package is created and opens in the content editor. - Define the system package.
- To define a system package for any type of supported Windows operating system, see Defining settings for Windows servers.
To define a system package for the Citrix XenServer operating system, see Defining-settings-for-Citrix-XenServers.
- When entering or modifying parameters for the system packages, keep in mind these guidelines for BMC Cloud Lifecycle Management (Windows or Linux operating system):
- Under the Basic Config tab, enter ??NAME?? in the Computer name field. When the system package is selected at provisioning time, BMC Cloud Lifecycle Management supplies the hostname of the server to be provisioned or the IP address (if configured to do so).
- In the Local Properties tab, specify the name of the PXE datastore instance for the DATASTORE variable. Use the same format convention: CSM Datastore - name of pod.
- When you finish defining the system package, select File > Save.
System Package Creation – General
The General panel lets you provide information that identifies the system package type.
Field Definitions
Field | Description |
---|---|
Name | Enter an identifying name for the system package. |
Description | (optional) Enter descriptive text for the system package. |
Member of | Displays the folder/group to which this system package belongs. |
System Package Type | The type of system package being created. Select a type. |
System Package Creation – Properties
The Properties panel provides a list of properties automatically assigned to an object. In this list you can modify the value of any properties that are defined as editable.
Modifying a property value
For any property that has a check in the Editable column, select the property and click in the Value column.
- To set a property value back to its default value, click Reset to Default Value.
The value of the property is reset to the value it inherits from a built-in property class. The Value Source column shows the property class from which the value is inherited. - Depending on the type of property you are editing, you can take different actions to set a new value, such as entering an alphanumeric string, choosing from an enumerated list, or selecting a date.
To insert a parameter into the value, enter the value, bracketed with double question mark delimiters (for example, ??MYPARAMETER??) or click Select Property.
System Package Permissions
The Permissions panel is an access control list (ACL) granting roles access this system package.
ACLs control access to all objects, including the sharing of objects between roles.
Using the Permissions panel, you can add individual permissions to the system package. You can also set permissions by adding ACL templates.
Adding an authorization
An authorization grants permission to a role to perform a certain type of action on this object.
To add an authorization to this object, click Add Entry in the Access Control List area. Then use the Add New Entry dialog to specify the role and authorization you want to add.
Adding an ACL template
An ACL template is a group of predefined authorizations granted to roles. Using an ACL template, you can add a group of authorizations to this object.
To add an ACL template to this job, click Use ACL Template in the Access Control List area. Then use the Select ACL Template dialog to specify an ACL template that you want to add to this object.
If you want the contents of the selected ACL templates to replace all entries in the access control list, check Replace ACL with selected templates. If you do not check this option, the contents of the selected ACL templates are appended to any existing entries in the access control list.
Special considerations for Linux system packages and Windows 2008 system packages
Review the following considerations For Linux system packagesand For Windows 2008 system packages.
For Linux system packages
BMC Cloud Lifecycle Management cannot use Linux system packages with customized kickstart entries, which are defined under the Kickstart Entries tab. Instead, you can use the 'Additional entries for the kickstart file' section of the Kickstart Entries tab to append new entries for the system package.
When provisioning multiple network interface cards/addresses on Linux systems, add local properties to the system package using the following formats.
Address | Format |
---|---|
Primary address on a network interface card, | ETH<x>_MAC_ADDRESS |
For supplemental IP addresses on a network interface card, | ETH<x>_<Y>_IPADDR |
The following example is for kickstart purposes and is added to the Additional entries for the kickstart file section. It assumes that you are provisioning for a Linux system package with more than one network interface and that the first network interface card has just one address and does not need to be covered. It also assumes that the second network interface card has two addresses on it.
echo "HWADDR=??ETH1_MAC_ADDRESS_CD??" >> /etc/sysconfig/network-scripts/ifcfg-eth1
echo "BOOTPROTO=??ETH1_BOOTPROTO??" >> /etc/sysconfig/network-scripts/ifcfg-eth1
echo "ONBOOT=yes" >> /etc/sysconfig/network-scripts/ifcfg-eth1
echo "IPADDR=??ETH1_IPADDR??" >> /etc/sysconfig/network-scripts/ifcfg-eth1
echo "NETMASK=??ETH1_NETMASK??" >> /etc/sysconfig/network-scripts/ifcfg-eth1
echo "GATEWAY=??ETH1_GATEWAY??" >> /etc/sysconfig/network-scripts/ifcfg-eth1
echo "DEVICE=eth1:0" > /etc/sysconfig/network-scripts/ifcfg-eth1:0
echo "HWADDR=??ETH1_1_MAC_ADDRESS??" >> /etc/sysconfig/network-scripts/ifcfg-eth1:0
echo "BOOTPROTO=??ETH1_BOOTPROTO??" >> /etc/sysconfig/network-scripts/ifcfg-eth1:0
echo "ONBOOT=yes" >> /etc/sysconfig/network-scripts/ifcfg-eth1:0
echo "IPADDR=??ETH1_1_IPADDR??" >> /etc/sysconfig/network-scripts/ifcfg-eth1:0
echo "NETMASK=??ETH1_1_NETMASK??" >> /etc/sysconfig/network-scripts/ifcfg-eth1:0
echo "GATEWAY=??ETH1_1_GATEWAY??" >> /etc/sysconfig/network-scripts/ifcfg-eth1:0
For Windows 2008 system packages
BMC Cloud Lifecycle Management cannot use Windows system packages with customized unattended entries, which are defined under the Unattended Entries tab. Instead, you can use the 'Additional Unattend Entries' section of the Unattended Entries to replace existing or add new entries for the system package.
Follow these steps to add the XML entries to the system package:
- Under Additional Unattend Entries, click the Plus sign.
- In the top-left panel, expand the Specialize listing, and select the Microsoft-Windows-TCPIP node.
- Display the node by specifying a static IP address (which the system ignores).
In the Add/Replace XML Component section, paste the following XML code:
<component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" language="neutral" name="Microsoft-Windows-TCPIP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS">WINDOWS_UNATTEND </component>
After you create the system package
After you create a system package, add a Network Shell (NSH) script called "CSM_Delayed_Reboot" to the Depot subfolder CSM_Scripts.
The script should look similar to the following example:
Type 1 (Execute the script separately against each target host.) |
Script: |
Parameter: hostname, default value TARGET.NAME |
Where to go from here
Creating-a-BMC-Server-Automation-Deploy-Job-or-an-application-component-template