Chapter 31. Catalog{Item,Bundle}Initialization

In Chapter 30 we saw that two of the service provisioning state machine instances are called CatalogItemInitialization and CatalogBundleInitialization. These two state machines greatly simplify the process of creating service catalog items and bundles, fronted by rich service dialogs, without the need for any Ruby scripting.


A service catalog item generally provisions a single type of virtual machine (although it may result in multiple VMs of the same type being provisioned). A service catalog bundle can provision multiple service items in one go, allowing us to deploy multitier server workloads from a single click.

In this chapter we’ll take a look at these two state machine instances in detail. We’ll see how they allow us to name our service dialog elements in such a way that values are automatically passed into the provisioning workflow, with no need for further automation scripting.


We can specify the CatalogItemInitialization state machine as the provisioning entry point when we create a service catalog item.

The state machine has been written to simplify the process of customizing the provisioned VMs, using values read from the service dialog. It does this by setting options hash values or tags in the child and grandchild miq_request_task objects, from specially constructed service dialog element names. It also allows us to specify a new unique name and description for the resulting service. ...

Get Mastering CloudForms Automation now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.