As a DevOps administrator, you create a publisher in vCenter Server to store all captured vSphere templates. Then you configure the publisher endpoint in vRealize Suite Lifecycle Manager. As a developer, you create a vSphere capture endpoint.
In addition, you can create a
vSphere test and deploy endpoint. But because
vRealize Suite Lifecycle Manager uses the
vSphere subscriber for versioning templates, your DevOps administrator must use
vCenter Server to create a subscriber to the publisher before you create your endpoint. In this way, you can configure your test and deploy endpoint with the subscriber that has template support.
Procedure
- As a DevOps administrator, configure a vSphere publisher endpoint in vRealize Suite Lifecycle Manager. For the server, use the FQDN, IP address, or host name of the vCenter Server that you are adding to vRealize Suite Lifecycle Manager. The parameter contentLibraryId identifies the publisher content library.
curl -X POST \
'$url/lcm/cms/api/v1/endpoints' \
-H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \
-H 'Content-Type: application/json' \
-d '{
"supportCapture":false,
"supportTest":false,
"supportRelease":false,
"supportTemplates":true,
"supportOnlySourceControlledContent":false,
"storeTemplates":false,
"requestedBy":"admin@local",
"name":"system-virtualcenter",
"enabled":false,
"category":"vSphere",
"systemEndpoint":true,
"server": "{<VC_IP_FQDN>}",
"userName": "{<vcUsername>}",
"password": "{<vcPassword>}",
"reviewRequired":false,
"contentLibraryId":"6036cf9a-2833-40a0-9c46-13dbd567e5e1",
"endpointType":"SERVER_ENDPOINT",
"userIdentity":"admin@local",
"contentLibraryName":""
}' | jq "."
- Examine the response to check the progress of the request and get the reference ID.
{
requestId":"eb405741-81fa-479c-912e-875644a1e392",
"status":"IN_PROGRESS",
"message":"Endpoint Successfully Created",
"referenceId":"system-virtualcenter"
}
- Assign the reference ID of the endpoint to a variable name.
vSpherePublisherEndpoint = '<referenceID>'
- Get information about the vSphere publisher endpoint.
curl -X GET \
'$url/lcm/cms/api/v1/endpoints/{$vSpherePublisherEndpoint}' \
-H 'Accept: application/json' \
-H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \
-H 'Content-Type: application/json' | jq "."
- To validate the information provided to create the vSphere publisher endpoint, examine the response.
{
"id":"system-virtualcenter",
"createdOn":1579251621392,
"lastUpdatedOn":1579251621736,
"errorMessage":"Endpoint policies are not configured",
"supportCapture":false,
"supportTest":false,
"supportRelease":false,
"supportTemplates":true,
"supportOnlySourceControlledContent":false,
"storeTemplates":false,
"requestedBy":"admin@local",
"name":"system-virtualcenter",
"enabled":false,
"category":"vSphere",
"systemEndpoint":true,
"server": "vCserver.my.company.com",
"userName": "[email protected]",
"password": "example_user_password",
"reviewRequired":false,
"contentLibraryId":"6036cf9a-2833-40a0-9c46-13dbd567e5e1",
"endpointType":"SERVER_ENDPOINT",
"userIdentity":"admin@local"
}
- As a developer, create a vSphere endpoint to capture templates.
curl -X POST \
'$url/lcm/cms/api/v1/endpoints' \
-H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \
-H 'Content-Type: application/json' \
-d '{
"supportTemplates": false,
"tagNames": ["tag1"],
"endpointType": "CONTENT_ENDPOINT",
"category": "vSphere",
"name": "vc-endpoint",
"server": "{<VC_IP_FQDN>}",
"userName": "{<vcUsername>}",
"password": "{<vcPassword>}",
"supportCapture": true,
"supportRelease": false
}' | jq "."
- Examine the response to check the progress of the request and to get the reference ID.
{
"requestId":"eb405741-81fa-479c-912e-875644a1e392",
"status":"IN_PROGRESS",
"message":"Endpoint Successfully Created",
"referenceId":"06f793ba-606f-4838-803d-c6819255d50b"
}
- Assign the reference ID of the endpoint to a variable name.
vSphereCaptureEndpoint = '<referenceID>'
- Get information about the vSphere capture endpoint.
curl -X GET \
'$url/lcm/cms/api/v1/endpoints/{$vSphereCaptureEndpoint}' \
-H 'Accept: application/json' \
-H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \
-H 'Content-Type: application/json' | jq "."
- To validate the information provided to create the vSphere capture endpoint, examine the response.
{
"id":"06f793ba-606f-4838-803d-c6819255d50b",
"createdOn":1579251801788,
"lastUpdatedOn":1579251801870,
"supportCapture":true,
"supportTest":false,
"supportRelease":false,
"supportTemplates":false,
"supportOnlySourceControlledContent":false,
"storeTemplates":false,
"requestedBy":"admin@local",
"name":"vc-endpoint",
"enabled":true,
"category":"vSphere",
"systemEndpoint":false,
"server": "vCserver.my.company.com",
"userName": "[email protected]",
"password": "example_user_password",
"reviewRequired":false,
"endpointType":"CONTENT_ENDPOINT",
"userIdentity":"admin@local"
}
- As a DevOps administrator, use vCenter Server to configure a library that subscribes to the vSphere environment where the developer wants to deploy templates.
- As a developer, add a vSphere endpoint that is configured with vCenter Server details to deploy a template to a network, datastore, or folder.
curl -X POST \
'$url/lcm/cms/api/v1/endpoints' \
-H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \
-H 'Content-Type: application/json' \
-d '{
"supportCapture": false,
"supportTest": true,
"supportRelease": true,
"supportTemplates": true,
"supportOnlySourceControlledContent": false,
"storeTemplates": false,
"requestedBy": "admin@local",
"name": "lcm-vc1",
"enabled": true,
"category": "vSphere",
"systemEndpoint": false,
"server": "{<VC_IP_FQDN>}",
"userName": "{<vcUsername>}",
"password": "{<vcPassword>}",
"targetDatacenter": "example_DC",
"vcTargetHostName": "example_cluster,
"vmTargetDatastore": "example_datastore",
"vmTargetFolderPath": "/example_folder/",
"vmTargetNetwork": "example_network",
"reviewRequired": false,
"endpointType": "CONTENT_ENDPOINT",
"userIdentity": "admin@local",
"tagNames": []
}' | jq "."
- Examine the response to check the progress of the request and to get the reference ID.
{
"requestId":"eb405741-81fa-479c-912e-875644a1e392",
"status":"IN_PROGRESS",
"message":"Endpoint Successfully Created",
"referenceId":"06f793ba-606f-4838-803d-c6819255d50b"
}
- Assign the reference ID of the endpoint to a variable name.
vSphereDeployEndpoint = '<referenceID>'
- Get information about the vSphere deploy endpoint.
curl -X GET \
'$url/lcm/cms/api/v1/endpoints/{$vSphereDeployEndpoint}' \
-H 'Accept: application/json' \
-H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \
-H 'Content-Type: application/json' | jq "."
- To validate the information provided to create the vSphere deploy endpoint, examine the response.
{
"id":"06f793ba-606f-4838-803d-c6819255d50b",
"createdOn":1579251801788,
"lastUpdatedOn":1579251801870,
"supportCapture": false,
"supportTest": true,
"supportRelease": true,
"supportTemplates": true,
"supportOnlySourceControlledContent": false,
"storeTemplates": false,
"requestedBy": "admin@local",
"name": "lcm-vc1",
"enabled": true,
"category": "vSphere",
"systemEndpoint": false,
"server": "vCserver.my.company.com",
"userName": "[email protected]",
"password": "example_user_password",
"targetDatacenter": "example_DC",
"vcTargetHostName": "example_cluster,
"vmTargetDatastore": "example_datastore",
"vmTargetFolderPath": "/example_folder/",
"vmTargetNetwork": "example_network",
"reviewRequired": false,
"endpointType": "CONTENT_ENDPOINT",
"userIdentity": "admin@local",
"tagNames": []
}
What to do next
Use your endpoint to manage the following types of
vSphere content:
- vSphere-Template
- vSphere-Custom Spec