All Projects → HewlettPackard → oneview-osdeployment

HewlettPackard / oneview-osdeployment

Licence: Apache-2.0 license
Sample HPE OneView OS deployment integration

Programming Languages

python
139335 projects - #7 most used programming language
powershell
5483 projects
ruby
36898 projects - #4 most used programming language

Infrastructure Automation with Operating System Deployment

How To Guide for Gen9 and Gen10 UEFI HTTP Boot and iLO Virtual Media with the Composable API

Introduction

With Insight Control Server Provisioning (ICSP) ceasing to support Gen10 and newer, this whitepaper and accompanying GitHub repository, is meant to assist customers and partners with alternate methods for deploying supported operating systems. This whitepaper is not meant to provide guidance on the exact steps on deploying an operating system, but rather on how to boot strap a server into an automation environment or scripted OS install. There are two options, each with different implementations. Each section describes the requirements, and process to booting a server into either a maintenance OS, or OS installation.

UEFI HTTP Boot with Gen9 and Gen10

UEFI HTTP Boot1 is a feature introduced into UEFI 2.5 spec that its goal is to help OS vendors and Enterprises to replace, or provide an alternative to, PXE in the datacenter. As most customers know, PXE is viewed as either a security risk or does not scale well (TFTP timeouts, multicast issues, etc.). UEFI HTTP Boot aims to address this by utilizing current and more reliable technologies; HTTP/HTTPS (security and load balancing) and TCP (more reliable than UDP).

However, not all Operating Systems support this method. The following table shows what OS installers or mini-init environments are supported. The table will be updated over time as newer Operating Systems that support UEFI HTTP Boot are released and known.

Table 1. UEFI HTTP Boot for OS Installation

OS Vendor Version
SuSE Linux Enterprise Server (SLES) 12 SP2
WinPE 5.0 or greater

When other OS vendors add support for UEFI HTTP Boot, we will update this document. If you are planning on using Red Hat Enterprise Linux (RHEL), Windows Server, VMware vSphere, SLES 12 or older, or any other HPE Tier 1 supported OS2, please skip this section and go to the Gen9 and Gen10 Virtual Media Mount section.

The following table outlines the basic requirements in order to utilize UEFI HTTP Boot.

Table 2. Infrastructure requirements for UEFI HTTP Boot

Prerequisites
Web Server HTTP or HTTPS, anonymous authentication
HTTP/HTTPS Loadbalancing Optional. Can help with HTTP/HTTPS connection balancing.
IPv4 Addressing Static or DHCP
IPv6 Addressing Automatic (can utilize SLAAC or DHCPv6) or Static

When defining a Server Profile it is important that for BL and SY environments with Virtual Connect, one or more Connections must be assigned that have access to the web server hosting the ISO images.

Figure 1. Connections within Server Profile that provide L2 connectivity to web server.

The System ROM Boot Mode (aka BIOS Boot Mode) must be set to UEFI.

Figure 2. System ROM boot mode setting.

Finally, UEFI Boot must be configured within the Server Profile BIOS Settings; Boot Options -> Pre-Boot Network Settings. By default DHCPv4 setting is set to Default – Enabled, and IPv6 Config Policy is set to Default - Automatic. Change the DHCPv4 setting to Disabled in order to set a Static IPv4 Address, Subnet Mask, Default Gateway and/or DNS.

Figure 3. Pre-boot Network Settings for IPv4 Static Address assignment in Server Profile.

Figure 4. Pre-boot Network Settings for UEFI HTTP Boot URLs.

Figure 5. BL460 Gen9 booting RHEL 7 install ISO via UEFI HTTP Boot.

Figure 6. BL460 Gen9 RHEL 7 installation menu.

iLO Virtual Media Boot with Gen9 and Gen10

As discussed in the previous section, not all HPE supported Tier 1 Operating Systems support UEFI HTTP Boot in order to install an Operating System. Using Virtual Media would be a more ubiquitous capability, and supports are larger range of operating systems, as the provided CD/DVD ISO image is directly mounted to the server.

Important

Scripting iLO Virtual Media will require the iLO Advanced license. Any HPE OneView Advanced customer will have an iLO Advanced license installed on their iLO.

Using iLO Virtual Media to provision an OS along with the HPE OneView Server Profile will require a multi-step process. The follow flow chart shows the order of operation.

Create Server Profile --> Wait for Create Async Task --> Generate iLO SSO auth token --> Mount virtual media

Create your Server Profile

Server Profiles can be created from a Server Profile Template, with compliance tracking, or new with unique parameters not associated with Server Profile Templates. The following options are available to create a Server Profile resource.

Table 3. Create Server Profile resources

Language Resource Name
PowerShell New-HPOVServerProfile
Wait-HPOVTaskComplete
Python Server-profile.py
Ruby server_profile.rb

Obtain an iLO Single-Sign On (SSO) auth token from the HPE OneView API

Next, an iLO SSO auth token needs to be created. The following resources provide methods to generating either an iLO RedFish session object, or the SSO auth token to be provided into the appropriate RedFish SDK.

Table 4. Create iLO RedFish SSO token resources

Language Resource Name
PowerShell Get-HPOVIloSso
Python get_ssosessionobject.py
Ruby get_ssosessionobject.rb

Attach to the iLO REST API (Gen8) or RedFish interface (Gen9 and newer), using the token and set the iLO Virtual Media DVD mount path

Once the iLO RedFish token has been created, the remote ISO needs to be mounted with iLO Virtual Media. The server/compute node should be instructed to boot from the mounted ISO image upon next boot, using the One Time Boot (OTB) method provided by the iLO. The provided scripts will mount the ISO image using the provided relative URL, and then set the OTB value to “CD”.

Important

Scripting iLO Virtual Media will require the iLO Advanced license. Any HPE OneView Advanced customer will have an iLO Advanced license installed on their iLO.

Table 5. Mount remote iLO Virtual Media with RedFish resources

Language Resource Name
PowerShell Mount-VirtualMedia.ps1
Python mount_virtualmedia.py
Ruby mount_virtualmedia.rb

Optional: Attach to the iLO REST API (Gen8) or RedFish interface (Gen9 and newer), using the token and unmount ISO

In typical installations, mounted ISO images, or the DVD/CD drive is autoejected. For those times where a DVD/CD drive eject command cannot be initiated from the automation environment or OS installer, the following scripts will provide the method of unmounting the iLO Virtual Media.

Table 6. Unmount iLO Virtual Media resources

Language Resource Name
PowerShell Unmount-VirtualMedia.ps1
Python unmount_virtualmedia.py
Ruby unmount_virtualmedia.rb

Resources, contacts, or additional links

HPE GitHub Organization
github.com/HewlettPackard

HPE OneView Python SDK
github.com/HewlettPackard/python-hpOneView

HPE RedFish Python SDK
github.com/HewlettPackard/python-ilorest-library

HPE OneView Ruby SDK
github.com/HewlettPackard/oneview-sdk-ruby

HPE RedFish Ruby SDK
github.com/HewlettPackard/ilo-sdk-ruby

HPE OneView PowerShell Library
powershellgallery.com/packages/HPOneView.310

HPE RedFish PowerShell Library
powershellgallery.com/packages/HPRESTCmdlets

Learn more at https://hpe.com/info/oneview

Footnotes

  1. Firmware in the datacenter: Goodbye PXE and IPMI. Welcome HTTP Boot and Redfish: http://www.uefi.org/sites/default/files/resources/UEFI_Plugfest_May_2015_HTTP_Boot_Redfish_Samer_El-Haj_ver1.2.pdf

  2. HPE Servers Support & Certification Matrices: http://h17007.www1.hpe.com/us/en/enterprise/servers/supportmatrix/windows.aspx#.WZSAiZ9Fyxx

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].