Onboarding existing VMs (checklist)
You onboard existing virtual machines (VMs) by using the ServiceOfferingInstance onboard request. Before you onboard an existing VM, you must ensure that the VM is enrolled in BMC Server Automation and complies with the constraints of the onboard request. The following checklist can help you ensure that the VM is set up correctly in BMC Server Automation and that the input parameters for the API request are correct.
See the following video (6:08) for an overview about how to onboard virtual machines through the UI and through the API.
VM onboarding checklist
✅️ | Item to check |
---|---|
| Is the VM to be onboarded powered on? |
| Is the VM deployed to a virtual cluster, virtual host, or virtual resource pool that has already been onboarded into BMC Cloud Lifecycle Management? |
| Does the service offering that you want to use for the onboard operation exist? |
| In the service blueprint associated with the service offering, is the number of networks specified in the resource set equal to the number of NICs available on the VM? |
| Does the network container that you want to use for the onboard operation exist? |
| Is the virtual cluster, virtual host, or virtual resource pool where the VM has been deployed a member of a compute pool that is attached to the network container? |
| Are the datastores associated with the VM members of a virtual disk repository (VDR) pool? |
| Is the VM to be onboarded on a network (port group) that is part of the network container? |
| Do the switch ports of the VM match the switch ports of the network container or pod? |
| For a management network of the VM, is the port group created on the correct switch (as defined in the pod)? |
| Is the RSCD agent installed on the VM? |
| Is the RSCD agent installed on the VM the same version as the agent installed on the application server? |
| If you are using Format 1 to onboard VMs (manually enrolling servers in BMC Server Automation), is VM is enrolled? For information about enrolling VMs in BMC Server Automation, see Knowledge Base article 000030942. Failed to execute the [excerpt-include] macro. Cause: [Error number 2 in 0: No wiki with id [confluencePage:page] could be found]. Click on this message for details. |
| Can you live browse the VM in the BMC Server Automation console? |
| Have you completed the following steps as part of the VM enrollment process?
|
| Does the VM have the same name in BMC Server Automation and the vCenter? |
| Are all the required input parameters (described below) correctly formatted for the ServiceOfferingInstance onboard API request?
|
To onboard VMs
Complete this procedure to learn the parameters you must enter when onboarding VMs through a ServiceOfferingInstance onboard request, and how to apply the parameters when making the request.
Obtain the Instance ID of the BMC Server Automation provider using the BMC.CLOUD:BMC_Provider form:
http://midtierHostname:portNumber/arsys/forms/BMCARSystemHostname/BMC.CLOUD:BMC_Provider
- Open the the BMC_ConcreteCollection form at http://midtierHostname:portNumber/arsys/forms/BMCARSystemHostname/BMC.CORE:BMC_ConcreteCollection and obtain the instance ID of the container.
This is used as the LogicalHostingEnvironmentID value in the ServiceOfferingInstance onboard request. - Identify the tenant of the service offering instance.
This is used as the tenent value in the ServiceOfferingInstance onboard request, and can be identified in the BMC Cloud Lifecycle Management Tenant Management workspace. - Identify the decommission date of the service offering instance.
This is used as the decommissionDate value in the ServiceOfferingInstance onboard request, and must be supplied as a number in milliseconds. - Identify the instance name of the service offering instance.
This is used as the name value in the ServiceOfferingInstance onboard request, and can be any name. - Identify the owner of the service offering instance.
This is used as the owner value in the ServiceOfferingInstance onboard request, and can be identified in the BMC Cloud Lifecycle Management Tenant Management workspace. If you are using Format 1 to onboard servers in BMC Server Automation, use the following URI to determine the externalID for VMs and VCs. If you are using Format 2, proceed to the next step.
https://BMCServerAutomationHostname:portNumber/type/PropertySetClasses/SystemObject/Server/?name=VM/VCName&username=userName&password=password&role=role- If you are using Format 2 to onboard servers in BMC Server Automation, complete the following steps:
in a REST client run an http://PlatformManagerHost:portNumber/csm/computecontainer/search request using the following body to return the ServerObject values for the VMs you want to onboard:
{
"timeout": -1,
"preCallout": "",
"postCallout": "",
"callbackURL": "",
"operationParams": [
{
"name": "criteria",
"type": "com.bmc.cloud.model.beans.QuerySelect",
"multiplicity": "1",
"value": {
"cloudClass": "com.bmc.cloud.model.beans.QuerySelect",
"fromClass": "com.bmc.cloud.model.beans.ComputeContainer",
"children": [
{
"operator": "AND",
"guid": "1cafdc51-754d-4fd7-b532-5173d08cf209",
"cloudClass": "com.bmc.cloud.model.beans.QueryLogical",
"children": [
{
"cloudClass": "com.bmc.cloud.model.beans.QuerySimpleCondition",
"children": [
{
"cloudClass": "com.bmc.cloud.model.beans.QueryPropertyReference",
"references": [
"externalID"
],
"guid": "114c8220-045a-4d5c-801a-fb7058aed770"
},
{
"cloudClass": "com.bmc.cloud.model.beans.QueryLiteral",
"type": "java.lang.String",
"values": [
null
],
"guid": "2e70952b-facd-4a13-95db-b75156c44325"
}
],
"operator": "EQUALS",
"guid": "1cafdc51-754d-4fd7-b532-5173d08cf272"
},
{
"cloudClass": "com.bmc.cloud.model.beans.QuerySimpleCondition",
"children": [
{
"cloudClass": "com.bmc.cloud.model.beans.QueryPropertyReference",
"references": [
"name"
],
"guid": "114c8220-045a-4d5c-801a-fb7058aed770"
},
{
"cloudClass": "com.bmc.cloud.model.beans.QueryLiteral",
"type": "java.lang.String",
"values": [
"/id/SystemObject/Server/14d2ab35-a6f4-47e3-afa2-c3c8c1c73da1/" ## Need to update with VC URI
],
"guid": "2e70952b-facd-4a13-95db-b75156c44325"
}
],
"operator": "EQUALS",
"guid": "1cafdc51-754d-4fd7-b532-5173d08cf272"
}
]
}
],
"guid": "0bb6eedd-1849-4485-9cb8-3d829c0f01f8"
}
},
{
"multiplicity": "1",
"name": "isOnboarded",
"value": false,
"type": "java.lang.Boolean"
},
{
"multiplicity": "1",
"name": "providerURI",
"value": "/provider/5aec9dc4-85ee-4dbd-8bb7-59aec782af68", ## Need to update with RM Provider
"type": "java.lang.String"
},
{
"name": "orderBy",
"value": "guid",
"type": "java.lang.String",
"multiplicity": "1"
},
{
"name": "pageSize",
"value": 1000,
"type": "java.lang.Integer",
"multiplicity": "1"
},
{
"name": "pageNo",
"value": 0,
"type": "java.lang.Integer",
"multiplicity": "1"
}
]
}The request returns output as in the following example:
"cloudClass" : "com.bmc.cloud.model.beans.ComputeContainer",
"guid" : "afa1f7ac-44f7-413c-b43d-5e3eb60adae4",
"isVirtual" : true,
"serverObject" : {
"cloudClass" : "com.bmc.cloud.model.beans.VirtualGuest",
"externalID" :
"/id/SystemObject/Server/bd72d0da-9028-4a95-9cda-09c42e0f8bfe/Assets/BMC_VMware_VirtualInfrastructureManager/Virtual
Machines/MBIMP-3,/id/SystemObject/Server/bd72d0da-9028-4a95-9cda-09c42e0f8bfe",
## Need put BMC Server Automation providee here before replacing (i.e "provider": "/provider/0eb5f0bd-222d-481e-969f-30ada8629541",)
"guid" : "88de8112-2f2e-4333-be4c-6e1b1162af5e", ##need to remove before replacing
"name" : "MBIMP-3",
"serverNetworkInterfaceObject" : [ {
"cloudClass" : "com.bmc.cloud.model.beans.ServerNetworkInterface",
"guid" : "118d1eb3-7f00-4402-a97e-9ebcf2b9adef",
"ipAddressesObject" : [ {
"cloudClass" : "com.bmc.cloud.model.beans.IPAddress",
"guid" : "b8d72c5c-279f-47ce-acd5-a902ccbc0567",
"ipAddress" : "10.1.23.37",
"isPublic" : false
} ],
"isAttachedToManagementNetwork" : false,
"isDHCP" : false,
"isPublicIP" : false
} ],
"vmuuid" : "42086445-bc16-b634-46e6-0ab9d4aa3cc3" ## Need to remove before replacing the ID
}Copy the ServerObject data from the output and replace that information in the Format 1 json file, as shown in ServiceOfferingInstance-onboard-request.