// removed jquery ui css and js

Configuring ServiceNow Extensions

Version Support

  • ServiceNow Istanbul

  • ServiceNow Jakarta

  • CloudCenter 4.8.2

Solution Overview

The ServiceNow extension is available with Cisco CloudCenter 4.8.2 and later versions and provides the following benefits:

  • Provides parameters to establish communication between the CloudCenter platform and ServiceNow.

  • Links CloudCenter deployment environments to a ServiceNow instance.

  • Configures the ServiceNow approval requirement for various deployment actions.

  • Leverages workflow capabilities in ServiceNow to create and obtain deployment approval.

  • Utilizes ServiceNow email notification capabilities.

  • Stores deployment information in the ServiceNow Configuration Management Database (CMDB).

  • Embeds the CloudCenter platform within ServiceNow's Service Portal for a seamless user experience (optional).

There are two required parts to using the CloudCenter platform and ServiceNow solution:

  1. Adding ServiceNow as an extension in the CloudCenter platform – The ServiceNow extension monitors the state of deployments and user requests in the CloudCenter platform. On detecting a change, the extension:

    1. Triggers a communication channel with ServiceNow.

    2. Selects the deployment actions that require ServiceNow approval.

    3. Links Deployment Environments to a ServiceNow instance.

  2. Installing a Cisco-provided application in ServiceNow – The ServiceNow application has two components:

    1. A core component:

      1. Provides API communication with CloudCenter.

      2. Generates ServiceNow approval requests.

      3. Make CMDB updates.

    2. An optional component:

      1. Requires the core component as a prerequisite.

      2. Adds Cisco CloudCenter as a category in the ServiceNow Service Portal.

      3. Embeds access to the following CloudCenter resources:

        1. Application Profiles > Deploy Application – Clicking on Deploy App, opens CloudCenter Application Profiles within ServiceNow for consumption.

        2. Deployments > Application Deployments

        3. Virtual Machines 

        4. Reports dashboard 

An overview of the integration is shown below:

ServiceNow Approval Workflows

The ServiceNow application has a default workflow to approve or reject deployment requests. This default approval workflow is configured to create an approval request for every deployment request that comes from CloudCenter.  All requests from CloudCenter are stored in “x_cqt_c3_frame_request“ table, which extends “sc_request” table.  The default approval workflow is shown below:

The approval request will be created for the manager of the requester configured in the ServiceNow user profile. If no manager is set for a user, the request will be auto approved.

In ServiceNow, you can select different workflows for the following CloudCenter deployment actions:

  • Deploy

  • Suspend

  • Resume/Start

  • Terminate/Stop

  • Extend Aging Policy

Do not modify the original workflows and application files. Instead, make a copy and uncheck the Active option on the original file.

To assign a workflow for the supported deployment action, use the navigation filter in ServiceNow to access Cisco CloudCenter > Configuration > Approval Workflows.  If no workflow is specified, the default workflow is automatically selected.

ServiceNow Tables

The core component of the ServiceNow application adds the following tables into ServiceNow:

Label

Name

OOB ServiceNow table

Description

Extends

Owners API Keys

x_cqt_c3_frame_owner_api_keys

No

Stores IDs and API keys of CloudCenter admin or tenant admin users in CloudCenter (supports multi-tenancy in CloudCenter).


User API Credentials

x_cqt_c3_frame_user_creds

No

Stores IDs and API keys of CloudCenter consumers (requesters)


Approval workflows

x_cqt_c3_frame_approval_workflows

No

Configuration table. Assigns workflows for specific request types.


Requests

x_cqt_c3_frame_request

No

Contains all approval requests send from CloudCenter.

sc_request

Jobs

x_cqt_c3_frame_job

No

Contains information about deployments in CloudCenter.

-        Parent jobs (with empty “Parent” filed) stands for deployments in CloudCenter.

-        Child jobs (with “Parent” filed set) corresponds to the particular tier of deployments (Services)

cmdb_ci

Virtual Machines

cmdb_ci_vm_instance

Yes

Corresponds directly to particular virtual machines (nodes) deployed in the cloud.
If multiple nodes are selected in CloudCenter during deployment, Job may consist of more than one Virtual Machines.


Network adapters

cmdb_ci_network_adapter

Yes

Network adapters associated with virtual machines.


IP addresses

cmdb_ci_ip_address

Yes

IP addresses associated with Network Adapters / Virtual Machines.


ServiceNow CMDB

CMDB entries are created in ServiceNow only after a successful deployment in CloudCenter. Every subsequent change of a deployment state in CloudCenter will trigger an update of CMDB in ServiceNow. The CMDB table relationship is shown below.

The mapping of CloudCenter deployment details to the CMDB is shown below:

User Integration, Authentication, and Roles

When the optional ServiceNow application component is installed, ServiceNow users:

  • Who have a CloudCenter user account, can access certain CloudCenter UI elements from ServiceNow’s Service Portal. 

  • Need to be added to the x_cqt_c3_frame.consumer role in order to access the Cisco CloudCenter category within the ServiceNow Service Portal.

  • Who are required to provide approvals must be added to the approver_user role by an admin.

Role

Description

x_cqt_c3_frame.consumer


Enables access to Cisco CloudCenter application menu and modules: Requests, Approvals, CMDB, Deploy App, App Deployments

x_cqt_c3_frame.admin


Contains x_cqt_c3_frame.consumer role and enables access to the Configuration menu.

approver_user

Default ServiceNow approver role to allow users to approve or reject requests.

When a ServiceNow user is added to the x_cqt_c3_frame.consumer role, an API call is made to CloudCenter to obtain the user’s API key.  The user’s email address is used as the unique identifier to find a match.  Once a match is found, the user API key is encrypted and stored in ServiceNow.  When this ServiceNow user takes any action under the Cisco CloudCenter category in ServiceNow’s Service Portal, an authentication token is requested from CloudCenter using the user’s API key, and the ServiceNow user is able access CloudCenter UI elements without entering any additional credentials.

Notes:

  • If a user has a CloudCenter account, but no account in ServiceNow (no matching email address), the ServiceNow request will be created for the user system.

  • If a user has a CloudCenter account and an account in ServiceNow (with the same email address), but without the x_cqt_c3_frame.consumer role, a request will be created and approval workflow will run, but the user will not be able to see the request.

  • If a user is only an Approver, the user does not need an account in CloudCenter.

Install and Configure

This procedure is performed within the CloudCenter platform.

Prerequisites

To use the ServiceNow Extension, you must adhere to the following requirements:

  • SSH access to the CloudCenter CCM (if using HA, then to both CCMs).

  • Access to the API key and username for a root (or admin) level user in CloudCenter.

  • Access to an admin account in ServiceNow.

  • Network connectivity between the CloudCenter platform and ServiceNow (with or without a ServiceNow MID server).

  • CloudCenter-ServiceNow Integration App:

    • CloudCenter Integration – download from ServiceNow app store

    • CloudCenter Integration UI – download from Cisco Software Central

Configuring an Extension for ServiceNow

To configure an extension from the UI, navigate to Admin > Extensions and add a new extension or edit an existing extension for your ServiceNow integration.

  1. You can configure settings for this feature by clicking one of the following links:

    • To configure settings for the first time, click Add Extension.

    • To change settings for a configured extension, click Edit next to the corresponding extension.

    Clicking either link displays the Extensions page.

  2. If you click Add Extension, the new ServiceNow Extension page displays.

    Similarly, if you click Edit Extension for an already added Extension, the Editing ServiceNow Extension page displays accordingly.

  3. Either way, you can configure the following endpoint information in the Connection Settings section after you select the ServiceNow Extension Type:

    1. Extension Name

    2. ServiceNow URL – instance.service-now.com

      The https:// prefix and all slashes must be removed.

    3. ServiceNow access credentials (Username and Password) – Use the credentials of a ServiceNow admin or an integration user.

    4. The Managed Orchestrator (CCO) used to manage this ServiceNow endpoint (be sure to select the required CCO from Managed Orchestrator dropdown list).

      Once you add the Managed Orchestrator, you will NO LONGER see this field in your UI settings. This is because the selected CCO (managed Orchestrator) cannot be changed.

      If you need to change the CCO details, you must delete the extension and add a new extension with the new CCO details.



    Once the extension is added, you can edit the Extension Type, Name, URL, and credentials in the Connection Settings section. You must also explicitly click Edit to update the server with these changes and re-establish the connection to the ServiceNow instance.

  4. Click Connect to connect and save the ServiceNow configuration information.

    1. The CloudCenter software validates the ServiceNow endpoint connection and displays a status message at the top of this page.

    2. Once the ServiceNow endpoint connects successfully, you also see the New ServiceNow Extension page refresh to display the Approval Flows section below the Connection Settings section.

  5. Identify the required deployment actions that need to go through ServiceNow approval.

    In ServiceNow, you can map different deployment actions to different approval workflows if needed. You can multi-select from the listed workflows. See the Approval Workflows section for additional context.

  6. Identify if you want the ServiceNow CMDB to be periodically updated with deployment details and status information.

  7. Click Save to save this new extension. The Extensions page refreshes to display the newly-configured extension to the list of configured and validated Extensions.

Launch the Configured ServiceNow Extension

Navigate to Admin > Environments. You can edit an existing environment or add a new environment as required for your ServiceNow integration.

  1. Click New Environment. The New Deployment Environment page displays.

  2. In the General Settings section:

    1. Provide the deployment environment Name, and optionally, a Description.

    2. Identify the ServiceNow Extension from the dropdown list.

      When you select a ServiceNow Extension for a deployment environment, the CloudCenter platform automatically disables the Approval Required to Deploy to This Environment toggle button, which disables the native CloudCenter approval mechanism.


  3. In the Cloud Selection section:

    1. Select the checkbox for the required Cloud Region. This cloud region must be the same as the CCO cloud region (used to manage your new ServiceNow extension in the above section).

    2. Select the Cloud Account from the dropdown list.

    3. (Optional) Click Define Default Cloud Settings to define the Deployment Environment default settings for this cloud. See Deployment Environment Defaults for additional context.

  4. Click Save to save this new deployment environment. The Environments page refreshes to display the newly-configured deployment environment to the list of configured and validated Environments.

  5. Designate a ServiceNow Workflow from the ServiceNow environment. The list of ServiceNow Workflows is pulled from ServiceNow. See the Approval Workflows section for additional context.

  6. Click the Actions dropdown and select Share to share the deployment environment with the desired user(s) and/or group(s) and/or Tenant(s).

  7. Click Share to save your settings.

Browser Certificate Configuration

This procedure applies to any client/user of the integration and is needed only if the user does not have a self-signed trusted certificate. 

To update the allowed origins list, follow this procedure.

  1. SSH into the CCM (or each CCM if in HA) and edit the /etc/sysconfig/mgmtserver.conf file in the mgmtserver VM.

    vi /etc/sysconfig/mgmtserver.conf
  2. Add a new export entry to the file using the URL for your ServiceNow instance (you can add multiple coma separated URLs):

    export ALLLOWED_ORIGINS=https://<SNOW-URL
  3. Save the file and restart the mgmtserver server.

    systemctl restart mgmtserver
  4. Optional: Re-generate the Key and self-Signed Certificate. See Certificate Authentication for additional context.

Configure the Browser Certificate

To configure the the browser certificate, follow this procedure.

  1. (Optional) Configuration for Windows Clients to regenerate the key and a self-signed certificate. Only proceed with this step if you have clients accessing the CloudCenter – ServiceNow solution from a Windows machine.

  2. Add the Generated Public Key (see Certificate Authentication for additional context) to trusted Windows Certification settings.

  3. Follow the instructions at https://technet.microsoft.com/en-us/library/cc754841(v=ws.11).aspx to add the previously-generated Public Key (Certificate) for a local Windows Machine domain.

  4. Add the CCM and ServiceNow URLs as trusted sites in Internet Explorer. You see a version of the following images when completing this step.

Request Core CloudCenter – ServiceNow Integration App

To request the CloudCenter - ServiceNow integration application, follow this procedure.

  1. Go to the https://store.servicenow.com website.

  2. Search for CloudCenter Integration v2.

  3. Select the CloudCenter Integration v2 application from the catalog.

  4. Select Contact Seller to obtain approval to download the application.

  5. Once Cisco approves the application download, the ServiceNow admin will receive an email confirmation. In the email confirmation, click the link to Get the application.

Install and Configure Core CloudCenter – Integration App

Perform the following steps in the ServiceNow platform.

  1. Once the integration application is approved, use the left filter option, to navigate to System Applications > Applications > Downloads > CloudCenter Integration - Core.

  2. Click All versions.

  3. Select and install the appropriate version (v2.0).

Install and Configure the Optional UI integration

Only install this if you plan to embed CloudCenter within ServiceNow’s Service Portal.

  1. Download the Update Set cloudcenter-release-4.8.2-ServiceNow_UI_Update_Setv2.0.zip from Cisco Software Central.

  2. Unzip the file to a local folder.  It should contain one .xml file (Update Set).

  3. Load, preview, and commit the update sets in the ServiceNow console by navigating to System Update Sets > Retrieved Update Sets and you see a screen similar to the following image.

  4. Click Import Update Set from XML and select the update set named CloudCenter - Integration UIand click Upload.
  5. Open the record for the loaded CloudCenter - Integration UI update set, and click Preview Update Set (sample image shown below).
  6. Wait for the preview to complete, the record should change into the Previewed state and have 0 collisions.

    If you see collisions, discuss them with your ServiceNow partner or ignore them if you are confident that the changes will not impact your record (some collisions are expected on Istanbul).


  7. Click Commit Update Set to commit these changes to your ServiceNow instance.

Disable Untrusted SSL Certificates in ServiceNow

This procedure is only required if the customer is using untrusted self-signed certificate for HTTPS encryption. 

  1. Open System Properties: https://<SNOW_URL>/sys_properties_list.do.
  2. Search for a property called: com.glide.communications.trustmanager_trust_all.
  3. Set the value to true and save.


Upgrade Steps

  1. Load, preview, and commit the update set (Cisco CloudCenter - Integration - 1).

  2. Clear the browser cache and reload ServiceNow.

Disable Untrusted SSL Certificates in ServiceNow

  1. Open system properties: https://<SNOW_URL>/sys_properties.do

  2. Search for a property called: ‘com.glide.communications.trustmanager_trust_all’

  3. Set the value to true and save. 

  4. Configure Base System Properties and navigate to Cisco CloudCenter > Configuration > Base Configuration.

  5. Note the warning message at the top and click on the link after To edit this record click here.

  6. Configure parameters as per the table below, then click Save.

    Parameter

    Required?

    Description

    Server URL

    Required

    URL of the CloudCenter Instance, used for API calls.

    Server URL (External)

    Required

    URL of the CloudCenter Instance, used for accessing the CloudCenter UI through an iFrame.

    MID server name

    Optional

    Optional name of a pre-configured MID server.

    Error landing page URL endpoint

    Optional

    Optional endpoint of a UI page that is displayed when an errors occur.

    Retry attempts on communication error

    Optional

    Number of retries to attempt upon any communication error with the CloudCenter instance.

    Tenant Name field on the user record

    Optional

    Optional field reference on the User Record to identify the tenant to which a user belongs.

  7. Configure the API credentials.

  8. Navigate to Cisco CloudCenter > Owner API Keys.

  9. For each Tenant enter the API credentials and tenant short name, validate and submit.

  10. Test your configuration by verifying that the integration is successful by navigating to https://<SNOW_URL>/sp and clicking Order Something and then clicking Cisco CloudCenter.
  11. Click on Deploy Applications to view the embedded CloudCenter Application Profiles and initiate a deployment.

  12. Click Deploy after you complete the required fields. If  the deployment parameters were acceptable, the CloudCenter platform displays the Deployment Details page for this application along with the Deployment Pending Approval popup. When you close this popup, you see the yellow PENDING status in the Approval Status field in the Job Details page.

  13. Navigate to ServiceNow to approve the request.  Default behavior seeks approval from the requester manager.  However, for validating the integration, this step can be taken by using a ServiceNow admin account as well.

  14. Once the approval is provided in ServiceNow, the deployment status in CloudCenter will change from Pending to In Progress within a few seconds.

    Approval or Rejection details are also provided in the Action History link within CloudCenter.

CloudCenter Lifecycle Actions

When you deploy jobs or VMs using the ServiceNow extension in CloudCenter, the corresponding states are the same as what is described in Deployment and VM States > ServiceNow Extension Workflow Requests for additional context. You will additionally see popups and updates based on the approval actions.

In the CloudCenter platform, you see popups similar to the following example for the above actions:

In ServiceNow, you see status updates similar to the following example.

For Greenfield VMs (see VM Management for context), you see additional actions similar to the following example.

Deployment owners see two additional actions Resend Approval Request and Cancel Approval Request which may or may not be available to admins depending on whether the deployment owner provided Manage access to other users/groups/tenants.

Payload Samples

Along with each approval workflow request, the CloudCenter platform forwards dependent payload data. ServiceNow administrators can use information from the following data to customize workflows at the ServiceNow end. Two samples are provided here:

  •  Deployment-Specific Data Sent by the CloudCenter Platform for Each Approval Request
    {
       "approvalrequest":{
          "resourceType":"DEPLOYMENT",
          "resourceAction":"SUSPEND/RESUME/EXTEND_AGE/TERMINATE/DEPLOY/PROMOTE/MIGRATE/RERUN",
          "approvalToken":"<Unique identifier that identifies the approval token>",
          "approvalIdentifier":"< Unique identifier that maps to id in the approval - mapping table > ",
          "approvalStatus":"PENDING",
          "deploymentDetails":{
             "id":"<jobId>",
             "name":"<jobName>",
             "description":"<description>",
             "jobStatus":"<jobStatus>",
             "currentPredictiveMonthlyCost":"<roll up current predictive cost> ",
             "minPredictiveMonthlyCost":"< roll up minimum predictive cost > ",
             "maxPredictiveMonthlyCost":"< roll up maximum predictive cost > ",
             "deploymentCost":"< cumulative live cost > ",
             "deploymentHours":"< cumulative live hours > ",
             "ownerEmailAddress":"",
             "terminateProtection":"true/false",
             "deploymentEnvironment":{
                "id":"<depEnvId>",
                "name":"<depEnvName>"
             },
             "application":{
                "id":"<applicationIdentifier>",
                "name":"<applicationName>",
                "version":"<applicationVersion>"
             },
             "ageExtendRequest":{
                "policyName":"",
                "policyId":"",
                "policyType":"TIME/COST",
                "policyLimit":{
                   "units":"HOURS/DAYS/MONTHS/USD",
                   "amount":""
                },
                "extensions":{
                   "extensionsAvailable":"<no.of units>",
                   "extensionsPassed":"<no.of units>",
                   "extensionDuration":{
                      "units":"HOURS/DAYS/MONTHS/USD",
                      "amount":""
                   }
                }
             },
             "childJobs":[
                {
                   "id":"<childJobId>",
                   "name":"<childJobName>",
                   "serviceName":"serviceName",
                   "serviceCost":"",
                   "cloudFamily":"openstack",
                   "numNodes":1,
                   "tier":{
                      "id":"<tierId>",
                      "name":"tierName>"
                   },
                   "currentPredictiveMonthlyCost":"< current predictive cost > ",
                   "minPredictiveMonthlyCost":"< minimum predictive cost > ",
                   "maxPredictiveMonthlyCost":"< maximum predictive cost > ",
                   "instance":{
                      "id":"2",
                      "type":"fc0b462a-2927-46bc-b923-0e2b974fde69",
                      "name":"m1.win",
                      "hardwareSpec":{
                         "memorySize":2048,
                         "cpu":1,
                         "storageSize":30,
                         "storageCount":1
                      },
                      "description":"",
                      "costPerHour":1,
                      "costPerMonth":100
                   },
                   "costDetails":{
                      "nodeHours":170.9445,
                      "billedNodeHours":170.9445,
                      "cloudComputeCost":171,
                      "cloudStorageCost":0,
                      "appRunTimeCost":0,
                      "appServiceCost":0,
                      "nodeCostDetails":[
                         {
                            "nodeId":"a4078a20-c8a7-44c1-a2fd-437d2132d8ec",
                            "nodeHours":170.9445,
                            "mgmtBillNodeHours":170.9445,
                            "cloudBillNodeTime":171,
                            "cloudCostBillStartTime":"1471334539037",
                            "cloudCostBillEndTime":"1471950139037",
                            "recordTimestamp":"1471338002998"
                         }
                      ]
                   },
                   "virtualMachines":[
                      {
                         "id":"a4078a20-c8a7-44c1-a2fd-437d2132d8ec",
                         "hostName":"cqjw-08309b1fb",
                         "status":"NodeReady",
                         "startTime":"1471334539037",
                         "endTime":"",
                         "runTime":"",
                         "nodeNetworkInterfaces":[
                            {
                               "privateIPAddress":"<HOST>:<PORT>",
                               "publicIPAddress":"<HOST>:<PORT>",
                               "networkDisplayName":"ven-net",
                               "interfaceIndex":0
                            }
                         ]
                      }
                   ]
                }
             ]
          },
          "vmDetails":null
       }
    }
    approvalrequest for Deployments
    • Description: Deployment-Specific data sent by the CloudCenter platform for each approval request. Each attribute is described in this table.
    • Type: Sequence of approval request details

    resourceType
    • Description: The data type for a CloudCenter Resource.

    • Type: Enumeration

      EnumerationCategory
      GREENFIEDL_VIRTUAL_MACHINEIdentifies this resource to be a Managed VM: The cloudResourceId of the Managed VM.
      DEPLOYMENTIdentifies this resource to be a deployment

    resourceAction
    • Description: Identifies one of these possible actions: SUSPEND/RESUME/EXTEND_AGE/TERMINATE/DEPLOY/PROMOTE/MIGRATE/RERUN. See Deployment and VM States > ServiceNow Extension Workflow Requests for additional context.
    • Type: Enumeration
    approvalToken
    • Description: Random identifier to ensure secure approval.
    • Type: String
    approvalIdentifier
    • Description: Unique system-generated identifier for the approval.
    • Type: String
    approvalStatus
    • Description: The current status of the approval request. See Deployment and VM States > ServiceNow Extension Workflow Requests for additional context.
    • Type: Enumeration
    deploymentDetails
    The id, name, descriptionjobStatus, and the following details for the deployment

    currentPredictiveMonthlyCost
    • Description: The anticipated aggregate cost of deploying this job.
    • Type: Float

    minPredictiveMonthlyCost
    • Description: The anticipated minimum cost of deploying this job.
    • Type: Float

    maxPredictiveMonthlyCost
    • Description: The anticipated maximum cost of deploying this job on a monthly basis
    • Type: Float

    deploymentCost
    • Description: The actual cost of deploying this job.
    • Type: Float
    deploymentHours
    • Description: The actual number of hours used for this deployment
    • Type: Float

    ownerEmailAddress
    • Description: The email address of the resource owner (author)
    • Type: String

     terminateProtection 

    deploymentEnvironment
    • Description: The depEnvId and depEnvName of the deployment environment.
    • Type: Sequence of deployment environment details.

     

    application
    • Description: Identifies location details about each application.
    • Type: Sequence of application details

      id
      • DescriptionUnique, system-generated identifier for this CloudCenter Resource.

      • Type: String
      version
      • Description: The application build version.

      • Type: String
      resource
      • Description: Unique URL to access this resource.
      • Type: String

    ageExtendRequest

    policyName
    • Description: Name of the policy
    • Type: String

    policyId
    • DescriptionUnique, system-generated identifier for the policy.  
      • If used as a request parameter, pass the Policy ID based on the context.
      • Pass the aging policy as a top-level policy and the scaling policy at the child job level.
      • The Policy ID is required if configured in your application profile. 
    • Type: String

    policyType
    • Description: Identifies if this is a TIME Duration or COST Limit policy.
    • Type: Enumeration
    policyLimit
    • Description: The units and amount for the policy limit
    • Type: Float
    extensions




    An array with the following details for this extension.
    extensionsAvailable
    • Description: The number of units that are available for the extension of this policy.
    • Type: Integer
    extensionsPassed
    • Description: The number of units that have been completed for the extension of this policy.
    • Type: Integer
    extensionDuration
    • Description: The units (Hours/Days/Months/USD) and amount for the extension period.
    • Type: Integer
    childJobs



    The id, name, and the following details for the child job.

    serviceName
    • Description: The name of the service being used.
    • Type: String

    serviceCost
    • Description: Identifies the cost of the service used in this deployment.
    • Type: Float

    name
    • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

    • Type: String

    description
    • DescriptionA brief description for this CloudCenter Resource.

    • Type: String
    publicCloud
    • Description: Inticates if this is a public cloud. This attribute is useful to identify datacenters and private clouds as features like sync storage and add storage type is not applicable to public clouds.
    • Type: Boolean

    numNodes
    • DescriptionThe number of nodes in this storage configuration
    • Type: Integer

    tier
    • Description: Identifies the tierId and tierName for the service used in this deployment.
    • Type: Array of tier details

    currentPredictiveMonthlyCost
    • Description: The anticipated aggregate cost of deploying this job.
    • Type: Float

    minPredictiveMonthlyCost
    • Description: The anticipated minimum cost of deploying this job.
    • Type: Float

    maxPredictiveMonthlyCost
    • Description: The anticipated maximum cost of deploying this job on a monthly basis
    • Type: Float

    instance

    The id, type, name, description, and the following details for the instance

    hardwareSpec
    • Description: Identifies the configured hardware specification details for this instance type.
      Type: Sequence of hardware details

      memorySize
      • DescriptionThe RAM size in MB for this Instance Type (see Map Images)
      • Type: Integer
      minNumberOfCpus
      • DescriptionThe minimum number of CPUs for this instance type or cloud Image.
      • Type: Integer
      storageSize
      • Description: Identifies the size of the shared storage. Displays null if shared storage is not configured.
      • Type: Integer
      storageCount
      • Description: Identifies the number of the shared storage options. Displays null if shared storage is not configured. See Shared Artifact Repositories for additional context.
      • Type: Long
      ssdSupport
      • Description: Indicates whether SSD is supported for this instance type. This attribute is the same as the supportsSsd attribute.

      • Type: Boolean

        • true = SSD is supported for this instance type
        • false = SSD is not supported for this instance type

    costPerHour
    • Description:  The dollar price per hour to use this service. Only the user who created this service (service owner) can set this value (once) for all users using this service.
    • Type: Float

     costPerMonth 
    • Description: Identifies the monthly billing cost for the storage type.
    • Type: Float

    costDetails







    The sequence of cost details

    nodeHours
    • Description: The number of VM hours (see Financial Overview) for this resource.
    • Type: Float

     billedNodeHours 
    • Description: The number of VM hours (see Financial Overview) for which this resource is billed.
    • Type: Float

    cloudComputeCost
    • Description: The cost of using the cloud (see Cost and Fees) for this resource. This attribute is the same as the cloudCost attribute.

    • Type: Float
    cloudStorageCost
    • Description: The cost of using the associated cloud storage.
    • Type: Float
    appRunTimeCost
    • Description: The runtime cost of using the application.
    • Type: Float
    appServiceCost
    • Description: The cost of using the application service.
    • Type: Float
    nodeCostDetails
    • Description: The nodeId, nodeHours, mgmtBillNodeHours, cloudBillNodeTime, cloudCostBillStartTime, cloudCostBillEndTime, and recordTimestamp details for this VM.
    • Type: Sequence of node details
    virtualMachines


    The id, hostName, and the following details for the VM.
    status (nodeStatus)

    startTime

    endTime

    runTime
    • Description: The individual run time hours for this CloudCenter resource.
    • Type: Epoch time as a String

    nodeNetworkInterfaces
    • Description: Identifies interfaces attached to this VM. See IP Allocation Mode for additional context.
    • Type: Sequence of network interfaces details

      privateIpAddr
      • Description: Private IP address of the application VM or CCO. This attribute is the same as the privateIp attribute and the privateIpAddress attribute.
      • Type: String
      publicIpAddr
      • Description: Public IP address of the application VM or CCO. This attribute is the same as the publicIp or publicIpAddress attributes.
      • Type: String

      networkDisplayName
      • DescriptionA descriptive name for this CloudCenter resource. 
      • Type: String

       interfaceIndex 
      • Description: The number value of the node interface.
      • Type: Integer

    vmDetails
    See the next table below (VM-specific approvalRequest)
  •  VM-Specific Data Sent by the CloudCenter Platform for Each Approval Request
    {
       "approvalrequest":{
          "resourceType":"GREENFIELD_VIRTUAL_MACHINE",
          "resourceAction":"TERMINATE/START/STOP/REBOOT",
          "approvalToken":"<Unique identifier that identifies the approval token>",
          "approvalIdentifier":"< Unique identifier that maps to id in the approval - mapping table > ",
          "description":"<description>",
          "approvalStatus":"Pending",
          "deploymentDetails":null,
          "vmDetails":{
             "id":"",
             "nodeId":"",
             "hostName":"",
             "startTime":"",
             "endTime":"",
             "runTime":"",
             "instance":{
                "id":"2",
                "type":"fc0b462a-2927-46bc-b923-0e2b974fde69",
                "name":"m1.small",
                "hardwareSpec":{
                   "memorySize":2048,
                   "cpu":1,
                   "storageSize":30,
                   "storageCount":1
                },
                "description":"",
                "costPerHour":1,
                "costPerMonth":100
             },
             "predictiveMonthlyCost":"",
             "nodeHours":"<Live node hours>",
             "nodeStatus":"NodeReady",
             "nodeCostDetails":[
                {
                   "nodeId":"a4078a20-c8a7-44c1-a2fd-437d2132d8ec",
                   "nodeHours":170.9445,
                   "mgmtBillNodeHours":170.9445,
                   "cloudBillNodeTime":171,
                   "cloudCostBillStartTime":"1471334539037",
                   "cloudCostBillEndTime":"1471950139037",
                   "recordTimestamp":"1471338002998"
                }
             ],
             "cloudFamily":"Amazon",
             "deploymentEnvironment":{
                "id":"<depEnvId>",
                "name":"<depEnvName>"
             },
             "deployment":{
                "id":"<jobId>",
                "name":"<jobName>",
                "status":"<jobStatus>"
             },
             "ownerEmailAddress":"admin@cliqrtech.com",
             "serviceName":"",
             "serviceCost":"",
             "imageName":"",
             "nodeNetworkInterfaces":[
                {
                   "privateIPAddress":"<HOST>:<PORT>",
                   "publicIPAddress":"<HOST>:<PORT>",
                   "networkDisplayName":"ven-net",
                   "interfaceIndex":0
                }
             ]
          }
       }
    }
    approvalrequest for VMs
    • Description: Deployment-Specific data sent by the CloudCenter platform for each approval request. Each attribute is described in this table.
    • Type: Sequence of approval request details

    Unable to render {include} The included page could not be found.

    resourceAction
    • Description: Identifies one of these possible actions: SUSPEND/RESUME/EXTEND_AGE/TERMINATE/DEPLOY/PROMOTE/MIGRATE/RERUN. See Deployment and VM States > ServiceNow Extension Workflow Requests for additional context.
    • Type: Enumeration
    approvalToken
    • Description: Random identifier to ensure secure approval.
    • Type: String
    approvalIdentifier
    • Description: Unique system-generated identifier for the approval..
    • Type: String

    description
    • DescriptionA brief description for this CloudCenter Resource.

    • Type: String

    approvalStatus
    • Description: The current status of the approval request. See Deployment and VM States > ServiceNow Extension Workflow Requests for additional context.
    • Type: Enumeration
    deploymentDetails

    See the previous table above (deployment-specific approvalRequest)

    vmDetails









    The id, nodeIdhostName, and the following details for the VM.

    startTime

    endTime

    runTime
    • Description: The individual run time hours for this CloudCenter resource.
    • Type: Epoch time as a String

    instance



    The id, type, name, description, and the following details for the instance

    hardwareSpec
    • Description: Identifies the configured hardware specification details for this instance type.
      Type: Sequence of hardware details

      memorySize
      • DescriptionThe RAM size in MB for this Instance Type (see Map Images)
      • Type: Integer
      minNumberOfCpus
      • DescriptionThe minimum number of CPUs for this instance type or cloud Image.
      • Type: Integer
      storageSize
      • Description: Identifies the size of the shared storage. Displays null if shared storage is not configured.
      • Type: Integer
      storageCount
      • Description: Identifies the number of the shared storage options. Displays null if shared storage is not configured. See Shared Artifact Repositories for additional context.
      • Type: Long
      ssdSupport
      • Description: Indicates whether SSD is supported for this instance type. This attribute is the same as the supportsSsd attribute.

      • Type: Boolean

        • true = SSD is supported for this instance type
        • false = SSD is not supported for this instance type

    costPerHour
    • Description:  The dollar price per hour to use this service. Only the user who created this service (service owner) can set this value (once) for all users using this service.
    • Type: Float

     costPerMonth 
    • Description: Identifies the monthly billing cost for the storage type.
    • Type: Float

    predictiveMonthlyCost
    • Description: The anticipated cost of deploying this job on a monthly basis
    • Type: Float

    nodeHours
    • Description: The number of VM hours (see Financial Overview) for this resource.
    • Type: Float

    status (nodeStatus)

    nodeCostDetails
    • Description: The nodeId, nodeHours, mgmtBillNodeHours, cloudBillNodeTime, cloudCostBillStartTime, cloudCostBillEndTime, and recordTimestamp details for this VM.
    • Type: Sequence of node details

    name
    • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

    • Type: String

    description
    • DescriptionA brief description for this CloudCenter Resource.

    • Type: String
    publicCloud
    • Description: Inticates if this is a public cloud. This attribute is useful to identify datacenters and private clouds as features like sync storage and add storage type is not applicable to public clouds.
    • Type: Boolean

    deploymentEnvironment
    • Description: The depEnvId and depEnvName of the deployment environment.
    • Type: Sequence of deployment environment details.
    deployment
    • Description: Identifies the id, name, and jobStatus for the deployment.
    • Type: Array of tier details

    ownerEmailAddress
    • Description: The email address of the resource owner (author)
    • Type: String

    serviceName
    • Description: The name of the service being used.
    • Type: String

    serviceCost
    • Description: The cost of using the application service.
    • Type: Float
    imagename
    • Description: The name of the image the logical image name for the tier
    • Type: String

    nodeNetworkInterfaces
    • Description: Identifies interfaces attached to this VM. See IP Allocation Mode for additional context.
    • Type: Sequence of network interfaces details

      privateIpAddr
      • Description: Private IP address of the application VM or CCO. This attribute is the same as the privateIp attribute and the privateIpAddress attribute.
      • Type: String
      publicIpAddr
      • Description: Public IP address of the application VM or CCO. This attribute is the same as the publicIp or publicIpAddress attributes.
      • Type: String

      networkDisplayName
      • DescriptionA descriptive name for this CloudCenter resource. 
      • Type: String

       interfaceIndex 
      • Description: The number value of the node interface.
      • Type: Integer

CMDB

The v2 job details APIs are mapped to the corresponding resources in ServiceNow's Configuration Management Database (CMDB).

The time taken to refresh the database contents cannot be configured and merely depends on the resource events – if the admin has toggled CMDB to ON for the extension, then the following updates are sent immediately:

  • The job is deployed.

  • The deployed VM is in a not reachable state – for example, if the VM connectivity is lost following a sudden disruption in agent-traffic from VM.

  • The job moves to one of the following states: SUSPENDED, RESUMED, TERMINATED,

  • The job scales up or down – the additional job tier states are communicated.

  • The VM moves to one of the following states: TERMINATE, START (REBOOT), STOP (POWER-OFF) – the job details are communicated.

iFrame in ServiceNow

This feature allows ServiceNow users to access the CloudCenter UI directly in advanced use cases. Refer to the ServiceNow documentation for additional details.

Error Handling

If anything goes wrong on the CloudCenter side, then ServiceNow retries the operation

If anything goes wrong on the ServiceNow side, then CloudCenter allows you to manually cancel the original request or resend the request as already explained in the CloudCenter Lifecycle Actions section above.

Troubleshooting

  • If you set the cliqrIgnoreAppFailure parameter (see Troubleshooting Parameters), then the ServiceNow resources created using the CloudCenter platform are not removed if the deployment fails. In this case, you need to manually terminate the VM.

  • The launched VMs are only removed when the user terminates the deployment from the Deployments page. See Terminate Protection for additional context.



© 2017-2018 Cisco Systems, Inc. All rights reserved