Page tree
Skip to end of metadata
Go to start of metadata

This page is intended to provide an overview of the process by which Flexiant Cloud Orchestrator offers integration with Chef and the capabilities of this integration. 

About Chef

Chef is an open source configuration management application developed by a company called Opscode. Chef enables you to manage the configurations of servers in one place using Recipes, which provide servers with instructions on which packages to install and which services to start. For more details about Chef, see http://www.opscode.com/chef/.

How Chef integration works

Flexiant Cloud Orchestrator integrates with Chef using the following process:


 

  1. Flexiant Cloud Orchestrator's integration with Chef involves sending data to a Chef server and using this to retrieve the appropriate server configuration. To determine the data that is sent to the Chef server, keys must be set on the following resources:
    • Server
    • Image
    • Deployment instance
    • Deployment template
    • Customer
    • Billing entity 

      Key values can overwrite each other. For information about which keys overwrite which, see Chef settings hierarchy.

      For information about how to set Chef settings on a resource, refer to the appropriate resource in the Creating and Managing Resources section of the User Guide.

    The keys are set using information from an existing Chef account. The following keys are required:

    Setting

    Description

    Required?

    On resources

    Enable Chef

    Whether or not to enable Chef.

    Yes

    All except BE/MBE

    Chef repository URL

    URL of the Chef repository.

    Yes

    All

    Chef server URL

    URL of the Chef server.

    Yes

    All

    Chef PGP key

    Authentication for the Chef repository.

    Yes

    BE, MBE, Image, Customer

    Node name

    Display name for the server in Chef.

    No

    Server only

    Environment

    Nodes (resources) are grouped by environment in Chef.

    Yes

    All

    Validator name

    The account name for your Chef account.

    Yes

    All except server

    Validator key

    The password for your Chef account.

    Yes

    All except server

    Recipes

    Recipes define portions of configuration passed to a server.

    No

    All

    Roles

    Roles are used to set precedence for configurations.

    No

    All

    The cloud-init part must contain all the settings indicated by a Yes value in the Required? column. If any of the required keys are not present, the cloud-init part is not sent to the Chef server. 
     

  2. When a server for which Chef settings have been specified boots for the first time, the keys are composed into a cloud-init part by an inbuilt trigger.
     
  3. The cloud-init part is sent to the Chef server specified by the Chef Server URL key.
     
  4. The Chef server installs a Chef client on each server the cloud-init part applies to.
     
  5. The Chef server selects the appropriate Recipe (server configuration) based on information in the cloud-init part and passes the configuration to the Chef clients installed on the servers.
     
  6. The configuration of the server is updated by the Chef client.
  • No labels