I would like to understand and implement custom form with hidden configuration, can someone having any sample please share it. Thanks
Custom Form VRA 7.6
Can you use a vRA Data Grid as input for a vRO workflow?
I want to allow users to input N number of objects into a data grid then iterate through all the responses to do things in vRO. I have had no luck getting it to work. vRA always flakes our with an error about types. Is this possible?
vRealize Operations 6.7 Plugin
New with 6.7 HTML5 client there is a vRealize Operations plugin. When I choose Install and go through all the prompts, the install fails. Do I need to have a vRealize server for this plugin to work?
Thank you
[VRA 7.5] Can we reuse VRA License in multi tenant model
Use case :
I have 100 VMs VRA license ( 4 packs) for 3 year. This is multitenant platform where I have more than 1 tenants.
One of the client want to use this platform only for 100 server build and do not want to use for server management. So if I remove Vm inventory ,Tenant and end point from VRA database. The client will be disconnected from the platform and can manage Vms independently. The client has used platform only for 2 months for server provisioning. Will I be able to reuse this license for other clients to provision other set of 100 vms.
How to access CIFS share to update a CSV file with payload data
Hi Team,
I am using vRA 7.5 and my requirement is to add Hostname and Environment from payload to a CSV file in a Windows share path.
I have read the post, https://www.vcoteam.info/articles/learn-vco/278-how-to-allow-the-vco-appliance-to-write-files-to-a-windows-cifs-share.ht… , not worked in my case as it was throwing an error "cifs share is not a valid block device". The cifs util is not installed in vRO. I am unable to mount the CIFS path as a local mount.
Please help me if there is any solution for it or with some alternatives ways of updating the CSV file with Hostname and Environment(Prod/DEV etc which comes from payload).
Thanks and Regards,
Sasidhar
In vRA error log Untrusted certificate chain after upgrade to 7.6
Hi every one
i encounter a error after my vRA update. I have made upgrade 7.3.1 to 7.6. But i have a error in vRA log. I search but for the moment i haven't find anything
The vRO certificate is auto signed.
The error log:
Request to vCO failed. Error: I/O error on GET request for "https://vCOfqdn:8281/vco/api/about": java.security.cert.CertificateException: Untrusted certificate chain.; nested exception is javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Untrusted certificate chain.
[UTC:2020-04-24 12:07:38,707 Local:2020-04-24 12:07:38,707] vcac: [component="cafe:o11n-gateway" priority="WARN" thread="tomcat-http--28" tenant="vsphere.local" context="mbop5DGP" parent="" token="mbop5DGP"] com.vmware.vcac.o11n.gateway.vco.CafeVcoSessionImpl.doExecute:376 - Error making request to vCO. Reason: I/O error on GET request for "https://vCOFQDN:8281/vco/api/about": java.security.cert.CertificateException: Untrusted certificate chain.; nested exception is javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Untrusted certificate chain.
[UTC:2020-04-24 12:07:38,708 Local:2020-04-24 12:07:38,708] vcac: [component="cafe:o11n-gateway" priority="ERROR" thread="tomcat-http--28" tenant="vsphere.local" context="mbop5DGP" parent="" token="mbop5DGP"] com.vmware.vcac.platform.service.rest.resolver.ApplicationExceptionHandler.handleServiceException:199 - [Error code: 85029 ] - [Error Msg: 85029-Unable to connect on port '8,281'. Message 'java.security.cert.CertificateException: Untrusted certificate chain.'.]
com.vmware.vcac.platform.service.exception.ServiceException: 85029-Unable to connect on port '8,281'. Message 'java.security.cert.CertificateException: Untrusted certificate chain.'
I have delete and add again a vRO endpoint but always the same problem. the port is weird '8,281' , error in a config file ? I have not this mistake in my config
I you have no a idea for the moment
Regards
additional Cloud vsphere disk
I have a problem with the name of my cloud vsphere disk.
I named my VM in the project like this ${project.name}${##} which is fine, but when I add an additional " Cloud_vsphere_disk " to my blueprint and deploy it, the name of the vmdk ( which is related to additional disk that I have added ) in the datastore is different from machine name. I want the name of the additional disk be like the first one with a dash ( for example diskname-1.vmdk )
I also have attached the related picture .
I want to know how can I solve it?
vRA 8.1 - How to use project custom properties in custom form with vRO external action ?
Hi all,
I'm new to vRA 8.1, and I'm pretty happy of lots of things improved !
But while trying to reproduce my Blueprint and its Custom Form from vRA 7.5 to vRA 8.1, I'm struggling with something that was not difficult previously.
I need to fill a dropdown list with a REST API call from an external vRO action.
The REST Host was successfully added in vRO (this is one of the inputs for this action and it's working fine).
I need two others inputs to filter the content of the list that I'll display on form:
- environment of blueprint (easy as I added it in the inputs section of the Blueprint, I just select it in Fields)
- the group that is granted to acces only some items in the original list and here is my problem...
This group should be different for each project as projects replace Business Groups.
So I set a custom property in my project with one of the possible values, but I'm struggling retrieving this property in the custom form designer or inside my vRO external action.
In vRA 7.5, I was passing the Business Group name to my vRO external action and then used the action System.getModule("com.vmware.library.vcaccafe.subtenant").getCustomPropertyNames(subtenant) to retrieve all properties of the BG and then retrieve my property value.
But now it's just becoming a nightmare on the vRO side...
- No vRA plugin...
- No action containing the word 'project'
- API explorer not organized to list vRA capabilities
I found this action that I could use: com.vmware.library.customProperties.getCustomProperty but its input is object type and I don't see any trace of method somewhere to get my project in the API so how can achieve that ????!!
I was curious enough to find something in API and did a test using Server.getObjectsWithCustomPropertyKey(myCustomProperty) and it return an empty object
Please help me I'm getting very confused
Cheers,
Tim
vRA 8.1 Allow user to select network port group during deployment
Hello,
I'm trying to figure out how can I allow user to select network from dropdown list while filling out deployment form.
In my Project I use network constraints to select Network Profile. Within Network Profile I have two existing Networks added.
I would like to allow user to select one of those Networks while filling the blueprint form.
Could you please provide some examples how to achieve such functionality.
Thanks,
Michal
vRA 8 Enterprise Puppet supported Puppet versions
Per Puppet Plug-in for VMware vRealize Automation | Puppet.com:
vRA 7.4 supports puppet version 2018.1 or newer.
When we went to contact Puppet about which versions are supported in vRA 8, it shows:
Starting in vRA 8, Puppet is integrated directly into vRA by VMware and does not require this plug-in. For details, see the VMware vRealize Automation documentation or contact VMware support.
Does anyone know the minimum version of Puppet supported by vRA 8.1 Enterprise? SovLabs was the original solution but their offering has not been released.
vRA / vRO 8.1 - Return an array from Powershell
I'm trying to use the new native powershell in vro actions but struggling to get the right syntax to return an array. Below is the example code that I’m using:
function Handler($context, $inputs) {
$output=@()
$output += "first string"
$output += "second string"
write-host "first element type is $($output[0].gettype().name)"
write-host "second element type is $($output[1].gettype().name)"
write-host "output type name is $($output.gettype().name)"
write-host "output basetype name is $($output.gettype().basetype.name)"
return$output
}
I have tried setting the return type to:
- string and checking the array box
- array and unchecking the array box
- array and checking the array box
- properties and checking the array box
I always get an error that says "Not an Array".
Would greatly appreciate help if anyone has managed to make it work.
vRA8 Cloud Assembly - network gateway
I want to pass the network gateway of a given cloud network to an Ansible playbook, but I'm having difficulties to reference it. What I'm trying to do in the blueprint:
resources:
ans_server1:
type: Cloud.Ansible
properties:
host: '${resource.server1.*}'
osType: linux
account: myansible
username: ansible-remote
privateKeyFile: .ssh/id_rsa_ansible
playbooks:
provision:
- playbooks/config.yml
hostVariables:
hostname: '${resource.server1.resourceName}'
gw: '${resource.Cloud_Network.gateway}'
clustername: '${input.clusterName}'
Cloud_Network:
type: Cloud.vSphere.Network
properties:
networkType: existing
name: cloud1
However, I get null for the gateway in vra_user_host_vars.yml:
{"hostname":"server-04","gw":"null","clustername":"clu1"}
The gateway information is correctly set in the network profile.
Form test - automation
I'm looking for a way to validate our custom forms and xaas forms. I can start a deployment via API but this does not validate our inputs, dropdowns etc.
Anyone with experience on this? I hope I do not have to use some generic webpage testing tool.
Versions we're interested in are: v7 and v8
ABX - JavaScript Promise
I'm trying to use Integrated API Authentication of ABX from JavaScript but could not find a way to get it working in vRA 8.1
I'm trying to rewrite the following Python code, that works perfectly:
def handler(context, inputs): r = context.request("/deployment/api/deployments", "GET", "") print(r) return r["content"].decode("utf-8")
This lists all my deployments, so far OK.
Now with Javascript:
exports.handler = function handler(context, inputs) { req = context.request("/deployment/api/deployments", "GET", ""); console.log(req); return {result: 0}; };
All I got is a JavaScript Promise:
Promise { <pending> }
I tried to get the result with .then() function, async function definition, await with different syntax variations without any luck. Anyone is familiar with JavaScript Promise construct or could get this simple code working?
[VRA 8.1.0] No option for public cloud integration available
Hello All,
I have recently deployed VRA 8.1.0 . It is deployed without any major issue.
But I can not see option to add AWS,Azure and Google cloud inside Cloud accounts and integrations. There are other integration options are also missing. Am I doing something wrong?
Regards
Chakresh
vRA8.1 delete Onboarding deployement without deleting VM
Hi All,
We onboarded some VMs in one of our Project in our vRA 8.1 LAB instance for testing ( without RTFM) and we want to delete this project. But we cannot do this without deleting all deployement associated to this project including Onboarding deployement. Deleting deployement delete also VM.
So do you have solution to only remove the managed VM from vRA8 config without deleting?
Thanks a lot.
VRA8 - Change the resourcesName with an vRO workflow
Hello,
I want to change the VM name using a vRO workflow. I have put a script that has an "InputProperties" as input but it is impossible to change the name, even the subscription workflow has an OK status.
Does somebody has here an example to show ? How can you change values of the properties of the VM ?
Thanks for you help.
Check VM name before provisioning (vRA 8.1)
I have created a blueprint that asks the user for the server function (Web, DB, App, etc...) so the VM can be named in accordance with the company naming policy. I was able to set up an Action to generate a new name based on that input and have the subscription set up to change the name at creation. All of this is working great however, sometime the generated name already exists (limited to just a few numbers in the name) and the deployment fails. The simple solution is to check if the name already exists in Virtual Center and if it does just increase the number until it is a unique name.
All of the examples I find on the Web uses the vcPlugin option, which no longer exists in vRA 8.x. Looks like everything has moved to the REST API? Can someone point me in the right direction of how I can generate a name for the VM at creation and check to see if it already exists?
I am only dealing with a local install / virtual center.
How can we add a second disk to a machine via the Rest API?
We're using vRealize Automation Version: 7.5.0 (Build: 10053500).
I'm able to obtain the Reconfigure template from the following URL: /catalog-service/api/consumer/resources/<machine-id>/actions/<reconfigure-action-id>/requests
The template looks like this:
{'actionId': 'e57ef020-677d-47fe-a9da-4afa2f16a1c7',
'data': {'allowForceShutdown': 'false',
'cpu': 4,
'customProperties': [],
'description': 'Test machine 1',
'disks': [{'classId': 'Infrastructure.Compute.Machine.MachineDisk',
'componentId': None,
'componentTypeId': 'com.vmware.csp.component.iaas.proxy.provider',
'data': {'customProperties': [{'classId': 'Infrastructure.CustomProperty',
'componentId': None,
'componentTypeId': 'com.vmware.csp.component.iaas.proxy.provider',
'data': {'id': 'IsClone',
'is_encrypted': False,
'is_hidden': False,
'prompt_user': False,
'value': 'true'},
'typeFilter': None},
{'classId': 'Infrastructure.CustomProperty',
'componentId': None,
'componentTypeId': 'com.vmware.csp.component.iaas.proxy.provider',
'data': {'id': 'Name',
'is_encrypted': False,
'is_hidden': False,
'prompt_user': False,
'value': 'Hard '
'disk 1'},
'typeFilter': None}],
'driveLetter': None,
'externalId': '6000C29f-0a27-4188-c9cd-37b967436e90',
'label': 'Hard disk 1',
'reservationPolicy': None,
'reservationPolicyMode': None,
'size': 24,
'storagePath': 'san_01'},
'typeFilter': None}],
'executionSelector': '1',
'memory': 8192,
'name': 'test-machine-1',
'nics': [{'classId': 'Infrastructure.Compute.Machine.Nic',
'componentId': None,
'componentTypeId': 'com.vmware.csp.component.iaas.proxy.provider',
'data': {'macAddress': '00:50:56:9d:8e:ca',
'name': 'Development'},
'typeFilter': None}],
'powerActionSelector': '0',
'requestor': 'APIUser',
'storage': 24},
'description': None,
'reasons': None,
'resourceId': '299e5023-7f85-4920-b51a-21837b22df99',
'type': 'com.vmware.vcac.catalog.domain.request.CatalogResourceRequest'}
I wish to add a second disk. I figured what I could do is to add another entry to the 'disks' array in this object. Having done so, the template then resembles the following:
{'actionId': 'e57ef020-677d-47fe-a9da-4afa2f16a1c7',
'data': {'allowForceShutdown': 'false',
'cpu': 4,
'customProperties': [],
'description': 'Test machine 1',
'disks': [{'classId': 'Infrastructure.Compute.Machine.MachineDisk',
'componentId': None,
'componentTypeId': 'com.vmware.csp.component.iaas.proxy.provider',
'data': {'customProperties': [{'classId': 'Infrastructure.CustomProperty',
'componentId': None,
'componentTypeId': 'com.vmware.csp.component.iaas.proxy.provider',
'data': {'id': 'IsClone',
'is_encrypted': False,
'is_hidden': False,
'prompt_user': False,
'value': 'true'},
'typeFilter': None},
{'classId': 'Infrastructure.CustomProperty',
'componentId': None,
'componentTypeId': 'com.vmware.csp.component.iaas.proxy.provider',
'data': {'id': 'Name',
'is_encrypted': False,
'is_hidden': False,
'prompt_user': False,
'value': 'Hard '
'disk 1'},
'typeFilter': None}],
'driveLetter': None,
'externalId': '6000C29f-0a27-4188-c9cd-37b967436e90',
'label': 'Hard disk 1',
'reservationPolicy': None,
'reservationPolicyMode': None,
'size': 24,
'storagePath': 'san_01'},
'typeFilter': None},
{'classId': 'Infrastructure.Compute.Machine.MachineDisk',
'componentId': None,
'componentTypeId': 'com.vmware.csp.component.iaas.proxy.provider',
'data': {'driveLetter': None,
'externalId': '',
'label': 'Hard disk 2',
'reservationPolicy': None,
'reservationPolicyMode': None,
'size': 32,
'storagePath': ''},
'typeFilter': None}],
'executionSelector': '1',
'memory': 8192,
'name': 'test-machine-1',
'nics': [{'classId': 'Infrastructure.Compute.Machine.Nic',
'componentId': None,
'componentTypeId': 'com.vmware.csp.component.iaas.proxy.provider',
'data': {'macAddress': '00:50:56:9d:8e:ca',
'name': 'Development'},
'typeFilter': None}],
'powerActionSelector': '0',
'requestor': 'APIUser',
'storage': 56},
'description': None,
'reasons': None,
'resourceId': '299e5023-7f85-4920-b51a-21837b22df99',
'type': 'com.vmware.vcac.catalog.domain.request.CatalogResourceRequest'}
As you can see, I copied the disk entry for the first disk and appended it. I read that when doing so, 'externalId' must be set to an empty string, so I did so. When I submit this request, I get an HTTP 201 response. I can see the request spinning up in the vRealize GUI.
However, the request fails at the Reconfigure state with the following:
I've read that this error can be returned if multiple tabs are open, but I purposefully connected to the Rest API with a different user to guard against this.
I cannot find any good documentation anywhere on what format these requests are supposed to take, or anything of the sort.
Has anyone done something similar?
vRO 8.1 Python
Hello,
Are there any libraries and documentation how to use Python for actions/workflows programming in vRO 8.1?
Speciffically I am looking for a method how can I access vRO Inventory, what is possible with Javascript by doing for example:
varhosts=RESTHostManager.getHosts()
Regards,
Michał