Information
Unsupported content This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.

Updating the Savvis provider definition


This topic describes how to update a provider definition for Savvis via the BMC Cloud Lifecycle Management API, and verify that the provider definition is updated in the Cloud database. For information about sending HTTP requests to BMC Cloud Lifecycle Management, see Making-API-requests and Accessing-the-API-server.

To update the Savvis provider definition

  1. Log on to the BMC Cloud Lifecycle Management API server as a superuser.

    Click for steps.
    Warning

    The macro unmigrated-inline-wiki-markup from Confluence is no longer available.

  2. Get the Savvis Provider 1.0 provider definition GUID.
    1. Log on to the Cloud database by using BMC Remedy User.
    2. Select File > Open > Object List.
    3. From the Find tab, search for ProviderDefinition.
    4. Open the BMC.CLOUD:BMC_ProviderDefinition join form.
    5. Click Search (leave fields blank). The provider definition details are displayed.
      ProvDefGUID.png
    6. Copy the GUID of GA_Savvis_Provider_Definition.
    7. Using the GA_Savvis_Provider_Definition GUID, get the existing provider definition by using the REST API.

      GET http://<Server>:8080/csm/providerdefinition/<provider_def_guid from above step>
    8. Copy the result.
    9. Use the authentication token returned in step 1 and a REST client to update the Savvis provider definition:
    10. Open the savvis_provider_definition.json file in a text editor.

      Click for sample JSON code.
      {
         "preCallout": "",
         "postCallout": "",
         "callbackURL": "",
         "timeout": 1000000,
         "operationParams": [
              {
                 "name": "provider_definition",
                 "value": {
                     "name": "GA_Savvis_Provider_Definition",
                     "description": "Provider Definiton for GA Savvis",
                     "parent": "13a7582e-2143-4add-80dc-dfd08647c266",
                     "isInternal": "false",
                     "cloudClass": "com.bmc.cloud.model.beans.ProviderDefinition",
                     "guid": "<Replace_With_Existing_Provider_Definition_GUID>",
                     "supportedOperations": [
                          {
                             "operationName": "SEARCH",
                             "className": "Pod",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "Pod_SEARCH",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:POD Search\"}",
                             "description": "Pod Search Operation"
                          },
                          {
                             "operationName": "ONBOARD",
                             "className": "Pod",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "Pod_ONBOARD",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:POD Onboard\"}",
                             "description": "Pod On-boarding Operation"
                          },
                          {
                             "operationName": "OFFBOARD",
                             "className": "Pod",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "Pod_OFFBOARD",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:POD Offboard\"}",
                             "description": "Pod Off-boarding Operation"
                          },
                          {
                             "operationName": "SEARCH",
                             "className": "ContainerBlueprint",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "ContainerBlueprint_SEARCH",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Container BluePrint Search\"}",
                             "description": "ContainerBlueprint Search Operation"
                          },
                          {
                             "operationName": "ONBOARD",
                             "className": "ContainerBlueprint",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "ContainerBlueprint_ONBOARD",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Container BluePrint Onboard\"}",
                             "description": "ContainerBlueprint On-boarding Operation"
                          },
                          {
                             "operationName": "OFFBOARD",
                             "className": "ContainerBlueprint",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "ContainerBlueprint_OFFBOARD",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Container BluePrint Offboard\"}",
                             "description": "ContainerBlueprint Off-boarding Operation"
                          },
                          {
                             "operationName": "CONSTRUCTOR",
                             "className": "NetworkContainer",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "NetworkContainer_CONSTRUCTOR",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Create Network Container\"}",
                             "description": "NetworkContainer Create Operation"
                          },
                          {
                             "operationName": "DESTRUCTOR",
                             "className": "NetworkContainer",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "NetworkContainer_DESTRUCTOR",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Delete Network Container\"}",
                             "description": "NetworkContainer Delete Operation"
                          },
                          {
                             "operationName": "CONSTRUCTOR",
                             "className": "NetworkConnector",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "NetworkConnector_CONSTRUCTOR",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Create Network Connector\"}",
                             "description": "NetworkConnector Create Operation"
                          },
                          {
                             "operationName": "DESTRUCTOR",
                             "className": "NetworkConnector",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "NetworkConnector_DESTRUCTOR",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Delete Network Connector\"}",
                             "description": "NetworkConnector Delete Operation"
                          },
                          {
                             "operationName": "SEARCH",
                             "className": "VirtualCluster",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualCluster_SEARCH",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Cluster Search\"}",
                             "description": "VirtualCluster Search Operation"
                          },
                          {
                             "operationName": "ONBOARD",
                             "className": "VirtualCluster",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VC_ONBOARD",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Cluster Onboard\"}",
                             "description": "Virtual Cluster On-boarding Operation"
                          },
                          {
                             "operationName": "OFFBOARD",
                             "className": "VirtualCluster",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VC_OFFBOARD",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Cluster Offboard\"}",
                             "description": "Virtual Cluster Off-boarding Operation"
                          },
                          {
                             "operationName": "SEARCH",
                             "className": "VirtualResourcePool",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualResourcePool_SEARCH",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Resource Pool Search\"}",
                             "description": "VirtualResourcePool Search Operation"
                          },
                          {
                             "operationName": "ONBOARD",
                             "className": "VirtualResourcePool",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualResourcePool_ONBOARD",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Resource Pool Onboard\"}",
                             "description": "VirtualResourcePool On-boarding Operation"
                          },
                          {
                             "operationName": "OFFBOARD",
                             "className": "VirtualResourcePool",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualResourcePool_OFFBOARD",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Resource Pool Offboard\"}",
                             "description": "VirtualResourcePool Off-boarding Operation"
                          },
                          {
                             "operationName": "SEARCH",
                             "className": "VirtualHost",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualHost_SEARCH",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Host Search\"}",
                             "description": "VirtualHost Search Operation"
                          },
                          {
                             "operationName": "ONBOARD",
                             "className": "VirtualHost",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualHost_ONBOARD",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Host Onboard\"}",
                             "description": "VirtualHost On-boarding Operation"
                          },
                          {
                             "operationName": "OFFBOARD",
                             "className": "VirtualHost",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualHost_OFFBOARD",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Host Offboard\"}",
                             "description": "VirtualHost Off-boarding Operation"
                          },
                          {
                             "operationName": "CONSTRUCTOR",
                             "className": "VirtualGuest",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualGuest_CONSTRUCTOR",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Create Virtual Guest\"}",
                             "description": "VirtualGuest Create Operation"
                          },
                          {
                             "operationName": "DESTRUCTOR",
                             "className": "VirtualGuest",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualGuest_DESTRUCTOR",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Delete Virtual Guest\"}",
                             "description": "VirtualGuest Delete Operation"
                          },
                          {
                             "operationName": "START",
                             "className": "VirtualGuest",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualGuest_START",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Start Virtual Guest\"}",
                             "description": "VirtualGuest Start Operation"
                          },
                          {
                             "operationName": "STOP",
                             "className": "VirtualGuest",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualGuest_STOP",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Stop Virtual Guest\"}",
                             "description": "VirtualGuest Stop Operation"
                          },
                          {
                             "operationName": "EXECUTE_SCRIPT",
                             "className": "VirtualGuest",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualGuest_EXECUTE_SCRIPT",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Guest Execute Script\"}",
                             "description": "VirtualGuest Execute Script Operation"
                          },
                          {
                             "operationName": "EXECUTE_HOST_SCRIPT",
                             "className": "VirtualGuest",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualGuest_EXECUTE_HOST_SCRIPT",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Guest Execute Host Script\"}",
                             "description": "VirtualGuest Execute Host Script Operation"
                          },
                          {
                             "operationName": "MODIFY",
                             "className": "VirtualGuest",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualGuest_MODIFY",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Modify Virtual Guest\"}",
                             "description": "VirtualGuest Modify Operation"
                          },
                          {
                             "operationName": "OFFBOARD",
                             "className": "VirtualDatastore",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualDatastore_OFFBOARD",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Datastore Offboard\"}",
                             "description": "VirtualDatastore Offboard Operation"
                          },
      {
                             "operationName": "UPGRADE",
                             "className": "Pod",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "Pod_UPGRADE",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Pod Upgrade\"}",
                             "description": "Pod Upgrade"
                          },
      {
                             "operationName": "UPGRADE",
                             "className": "NetworkContainer",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "NetworkContainer_UPGRADE",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Network Container Upgrade\"}",
                             "description": "Network Container Upgrade"
                          },
      {
                             "operationName": "UPGRADE",
                             "className": "VirtualCluster",
                             "cloudClass": "com.bmc.cloud.model.beans.ProvidedOperation",
                             "name": "VirtualCluster_UPGRADE",
                             "configurationData": "{\"WFName\":\":Savvis_Integration:Virtual Cluster Upgrade\"}",
                             "description": "Virtual Cluster Upgrade"
                          }
                      ],
                     "accessAttributes": [
                          {
                             "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute",
                             "datatype": "STRING",
                             "isPassword": false,
                             "name": "AO_SERVER_URL",
                             "guid": "<Replace_With_Existing_AO_SERVER_URL_GUID>"
                          },
                          {
                             "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute",
                             "datatype": "STRING",
                             "isPassword": false,
                             "name": "AO_SERVER_USERNAME",
                             "guid": "<Replace_With_Existing_AO_SERVER_USERNAME_GUID>"
                          },
                          {
                             "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute",
                             "datatype": "STRING",
                             "isPassword": true,
                             "name": "AO_SERVER_PASSWORD",
                             "guid": "<Replace_With_Existing_AO_SERVER_PASSWORD_GUID>"
                          },
                          {
                             "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute",
                             "datatype": "STRING",
                             "isPassword": false,
                             "name": "AO_SERVER_GRID_NAME",
                             "guid": "<Replace_With_Existing_AO_SERVER_GRID_NAME_GUID>"
                          },
                          {
                             "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute",
                             "datatype": "STRING",
                             "isPassword": false,
                             "name": "AO_SERVER_ADAPTER_NAME",
                             "guid": "<Replace_With_Existing_AO_SERVER_ADAPTER_NAME_GUID>"
                          },
                          {
                             "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute",
                             "datatype": "BOOLEAN",
                             "isPassword": true,
                             "name": "AUTHORIZATION_KEY",
                             "guid": "<Replace_With_Existing_AUTHORIZATION_KEY_GUID>"
                          }
                      ]
                  },
                 "type": "com.bmc.cloud.model.beans.ProviderDefinition",
                 "multiplicity": "1"
              },
              {
                 "name": "adapter_namespace",
                 "type": "java.lang.String",
                 "multiplicity": "1",
                 "value": "AO"
              }
          ]
      }
    11. Replace GUIDs for all the access attributes from the result returned from the GET providerdefinition
    12. Using a validator, validate the JSON file for correctness.
      You can use an online validator, such as http://jsonlint.com/.
    13. In the REST client, do the following:
      1. In the header, add the authentication token that you received in step 1.
      2. Set content-type as application/json.
      3. Use the following REST call: 

        POST https://<OSGi host>:<OSGi port>/csm/ProviderDefinition
      4. In the body, paste the JSON input that you created in step c.

        Warning

        Note

        A cloud error might occur. Ignore it.

Verify that the provider definition is updated successfully in the Cloud database

  1. Log on to the Cloud database by using BMC Remedy User.
  2. Select File > Open > Object List.
  3. From the Find tab, search for ProviderDefinition.
  4. Open the BMC.CORE:BMC_BaseElement 
  5. Paste ProviderDefinition Guid from previous step in the InstanceId field and press F5 to search
  6. Click View Relationship and verify that upgrade operations are present.
    VrfProvDef.png

Where to go from here

Upgrading-from-Savvis-Provider-1-0-to-Savvis-Provider-2-0

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC Cloud Lifecycle Management 3.1