Installation Guide
2-9
Cisco Intelligent Automation for Cloud Installation Guide
OL-29971-02
Chapter 2 Installing and Configuring Optional Software
Configuring Chef for Cisco IAC Integration
Note The hosts/controller these VM/instances run on should also be synced to the same time source; such as
VMware Hosts, Openstack Controller/Compute Node.
Note For vCenter, Cisco IAC automatically configures new Chef nodes to have VMware Tools synchronize
the clock with the ESXi host; therefore, the best way to achieve clock synchronization is to ensure that
the ESXi hosts and the Chef server use the same time authority to set the time.
If the Chef server/workstation you defined with the Connect Cloud Infrastructure service requires a
private key file to connect, you will need to create a new Public-Key Authenticated Admin User runtime
user definition in Process Orchestrator and replace the Opscode Chef Terminal (SSH) target’s default
runtime user.
Tip Connecting via private key is optional, yet recommended.
The integration requires that the cisco-cloud-automation cookbook is uploaded into the Chef repository.
The cookbook can be found as a zip file in the kit’s Chef folder and should be extracted to a Chef
workstation and uploaded to the server. The cookbook is required by the CiscoCM role that also must be
uploaded from the included CiscoCM.json file.
During node bootstrapping, the following node attributes are automatically assigned:
• stack_instance: Name of the Stack Instance (shared by all servers in the same stack)
• iac_organization: Name of the IAC organization (including tenant prefix) for customer who
ordered the stack
Working with Role Attributes Overrides
The IAC integration with Chef allows node attribute overrides to be configured and exposed to users
ordering servers. Attributes are exposed to IAC via Data Bags. You need to create a Data Bag for each
Role that needs attribute overrides with the same name as the corresponding role. In that Data Bag, you
must have a Data Bag item, called “default”.
Note Use the following JSON sample below as an example.
For each attribute you want to expose, you can provide a friendly name, default, description, help text,
and most importantly a Ruby expression that represents the attribute you will override at runtime. If you
provide a comma-separated options list, users will have to choose one of the values in the list.
When a node is ordered, a new Data Bag item is created with the name of the node and includes all of
the attribute values used for the configured node. These override values are injected by the
cisco-cloud-automation cookbook before the recipes in the role are run.
Role Data Bag Sample JSON
{
"id": "default",
"attributes": {
"customer.name": {