Quantcast
Channel: VMware Communities : Discussion List - vRealize Orchestrator
Viewing all 6251 articles
Browse latest View live

I need help with Actions after upgrade of vRO

$
0
0

We moved from vRO 7.1 to 7.4   

The action that isn't working is one that will select a template by version and then pass that on for cloning to VM.   The new version of vRO throws an error that the split is undefined.   I'm not sure why I was hoping someone can help me track this down. 


var filter = '^' + os + '\\-template\\-\\d+\\.\\d+\\.\\d+$'; // string
var targetTypes = ['VirtualMachine'];// string[]
var properties = ['name'];// string[]
var rootObject = null;// Any
var foundObjects = [];
var containerRoot = null
if (typeof rootObject === 'undefined' || rootObject == null || rootObject == '<<null>>') {
    containerRoot = vc.rootFolder
} else {
    containerRoot = rootObject
}
var recursive = true
var containerView = vc.viewManager.createContainerView(containerRoot, targetTypes, recursive)
// create an object spec for the beginning of the traversal;
// container view is the root object for this traversal
var oSpec = new VcObjectSpec()
oSpec.obj = containerView.reference
oSpec.skip = true
// create a traversal spec to select all objects in the view
var tSpec = new VcTraversalSpec()
tSpec.name = 'traverseEntities'
tSpec.path = 'view'
tSpec.skip = false
tSpec.type = 'ContainerView'
// add it to the object spec
oSpec.selectSet = [tSpec]
var propertySpecs = new Array()
for (var t in targetTypes) {
    // specify the properties for retrieval
    var pSpec = new VcPropertySpec()
    pSpec.type = targetTypes[t]
    pSpec.pathSet = properties
    propertySpecs.push(pSpec)
}
var fs = new VcPropertyFilterSpec()
fs.objectSet = [ oSpec ]
fs.propSet = propertySpecs
var retrieveOptions = new VcRetrieveOptions()
var propertyCollector = vc.propertyCollector.createPropertyCollector()
try {
retrieveResult = propertyCollector.retrievePropertiesEx([fs], retrieveOptions)
do {
    if (typeof retrieveResult !== 'undefined' && retrieveResult !== null) {
processObjects(retrieveResult)
if (retrieveResult.token !== 'undefined' && retrieveResult.token !== null) {
    retrieveResult = propertyCollector.continueRetrievePropertiesEx(retrieveResult.token)
} else {
    break
}     
    } else {
      break;
    }
} while(true)
} finally {
    propertyCollector.destroyPropertyCollector()
}
for (i=0;i<foundObjects.length;i++) {
System.log(foundObjects[i]);
}
System.log(foundObjects.length);
vms = new Array()
for (var i in foundObjects) {
    vms.push(Server.fromUri(foundObjects[i]))
}
if(vms.length === 0) {
System.warn("No template could be found for OS '" + os + "'");
return null;
} else {
vms.sort(versionCompare);
var indexToReturn = vms.length - 1;
System.log("The most current " + os + " template is " + vms[indexToReturn].name);
return vms[indexToReturn];
}
function processObjects(retrieveResult) {
    var resultObjects = retrieveResult.objects
    if (typeof foundObjects === 'undefined' || foundObjects === null) {
        foundObjects = new Array()
    }
    var pattern = new RegExp(filter,'i')
    for (r in resultObjects) {
      var objContent = resultObjects[r]
      var id = objContent.obj.value
      var type = objContent.obj.type
      var props = objContent.propSet
      for (p in props) {
        if (pattern.test(props[p].val)) {
var dunesId = "dunes://service.dunes.ch/CustomSDKObject?id='" 
                                      + vc.id + "/" + id +"'&dunesName='VC:" + type + "'"
            foundObjects.push(dunesId)
            break
        }
      }
    }
}
/**
 * Compares two software version numbers (e.g. "1.7.1" or "1.2b").
 *
 * This function was born in http://stackoverflow.com/a/6832721.
 *
 * @param {string} v1 The first version to be compared.
 * @param {string} v2 The second version to be compared.
 * @param {object} [options] Optional flags that affect comparison behavior:
 * <ul>
 *     <li>
 *         <tt>lexicographical: true</tt> compares each part of the version strings lexicographically instead of
 *         naturally; this allows suffixes such as "b" or "dev" but will cause "1.10" to be considered smaller than
 *         "1.2".
 *     </li>
 *     <li>
 *         <tt>zeroExtend: true</tt> changes the result if one version string has less parts than the other. In
 *         this case the shorter string will be padded with "zero" parts instead of being considered smaller.
 *     </li>
 * </ul>
 * @returns {number|NaN}
 * <ul>
 *    <li>0 if the versions are equal</li>
 *    <li>a negative integer iff v1 < v2</li>
 *    <li>a positive integer iff v1 > v2</li>
 *    <li>NaN if either version string is in the wrong format</li>
 * </ul>
 *
 * @copyright by Jon Papaioannou (["john", "papaioannou"].join(".") + "@gmail.com")
 * @license This function is in the public domain. Do what you want with it, no strings attached.
 */
function versionCompare(v1, v2, options) {
    var lexicographical = options && options.lexicographical,
        zeroExtend = options && options.zeroExtend,
        v1parts = v1.name.split('-')[2].split('.');
        v2parts = v2.name.split('-')[2].split('.');
    function isValidPart(x) {
        return (lexicographical ? /^\d+[A-Za-z]*$/ : /^\d+$/).test(x);
    }
    if (!v1parts.every(isValidPart) || !v2parts.every(isValidPart)) {
        return NaN;
    }
    if (zeroExtend) {
        while (v1parts.length < v2parts.length) v1parts.push("0");
        while (v2parts.length < v1parts.length) v2parts.push("0");
    }
    if (!lexicographical) {
        v1parts = v1parts.map(Number);
        v2parts = v2parts.map(Number);
    }
    for (var i = 0; i < v1parts.length; ++i) {
        if (v2parts.length == i) {
            return 1;
        }
        if (v1parts[i] == v2parts[i]) {
            continue;
        }
        else if (v1parts[i] > v2parts[i]) {
            return 1;
        }
        else {
            return -1;
        }
    }
    if (v1parts.length != v2parts.length) {
        return -1;
    }
    return 0;
}

var filter = '^' + os + '\\-template\\-\\d+\\.\\d+\\.\\d+$'; // string
var targetTypes = ['VirtualMachine'];// string[]
var properties = ['name'];// string[]
var rootObject = null;// Any
var foundObjects = [];
 
var containerRoot = null
 
if (typeof rootObject === 'undefined' || rootObject == null || rootObject == '<<null>>') {
    containerRoot = vc.rootFolder
} else {
    containerRoot = rootObject
}
 
var recursive = true
 
var containerView = vc.viewManager.createContainerView(containerRoot, targetTypes, recursive)
 
// create an object spec for the beginning of the traversal;
// container view is the root object for this traversal
var oSpec = new VcObjectSpec()
oSpec.obj = containerView.reference
oSpec.skip = true
 
// create a traversal spec to select all objects in the view
var tSpec = new VcTraversalSpec()
tSpec.name = 'traverseEntities'
tSpec.path = 'view'
tSpec.skip = false
tSpec.type = 'ContainerView'
 
// add it to the object spec
oSpec.selectSet = [tSpec]
 
var propertySpecs = new Array()
for (var t in targetTypes) {
    // specify the properties for retrieval
    var pSpec = new VcPropertySpec()
    pSpec.type = targetTypes[t]
    pSpec.pathSet = properties
    propertySpecs.push(pSpec)
}
 
var fs = new VcPropertyFilterSpec()
fs.objectSet = [ oSpec ]
fs.propSet = propertySpecs
 
var retrieveOptions = new VcRetrieveOptions()
 
var propertyCollector = vc.propertyCollector.createPropertyCollector()
 
try {
retrieveResult = propertyCollector.retrievePropertiesEx([fs], retrieveOptions)
 
do {
    if (typeof retrieveResult !== 'undefined' && retrieveResult !== null) {
processObjects(retrieveResult)
if (retrieveResult.token !== 'undefined' && retrieveResult.token !== null) {
    retrieveResult = propertyCollector.continueRetrievePropertiesEx(retrieveResult.token)
} else {
    break
}    
    } else {
      break;
    }
} while(true)
} finally {
    propertyCollector.destroyPropertyCollector()
}
for (i=0;i<foundObjects.length;i++) {
System.log(foundObjects[i]);
}
System.log(foundObjects.length);
 
vms = new Array()
for (var i in foundObjects) {
    vms.push(Server.fromUri(foundObjects[i]))
}
 
if(vms.length === 0) {
System.warn("No template could be found for OS '" + os + "'");
return null;
} else {
vms.sort(versionCompare);
var indexToReturn = vms.length - 1;
System.log("The most current " + os + " template is " + vms[indexToReturn].name);
return vms[indexToReturn];
}
 
function processObjects(retrieveResult) {
    var resultObjects = retrieveResult.objects
    if (typeof foundObjects === 'undefined' || foundObjects === null) {
        foundObjects = new Array()
    }
    var pattern = new RegExp(filter,'i')
    for (r in resultObjects) {
      var objContent = resultObjects[r]
      var id = objContent.obj.value
      var type = objContent.obj.type
      var props = objContent.propSet
      for (p in props) {
        if (pattern.test(props[p].val)) {
var dunesId = "dunes://service.dunes.ch/CustomSDKObject?id='" 
                                      + vc.id + "/" + id +"'&dunesName='VC:" + type + "'"
            foundObjects.push(dunesId)
            break
        }
      }
    }
}
 
/**
 * Compares two software version numbers (e.g. "1.7.1" or "1.2b").
 *
 * This function was born in http://stackoverflow.com/a/6832721.
 *
 * @param {string} v1 The first version to be compared.
 * @param {string} v2 The second version to be compared.
 * @param {object} [options] Optional flags that affect comparison behavior:
 * <ul>
 *     <li>
 *         <tt>lexicographical: true</tt> compares each part of the version strings lexicographically instead of
 *         naturally; this allows suffixes such as "b" or "dev" but will cause "1.10" to be considered smaller than
 *         "1.2".
 *     </li>
 *     <li>
 *         <tt>zeroExtend: true</tt> changes the result if one version string has less parts than the other. In
 *         this case the shorter string will be padded with "zero" parts instead of being considered smaller.
 *     </li>
 * </ul>
 * @returns {number|NaN}
 * <ul>
 *    <li>0 if the versions are equal</li>
 *    <li>a negative integer iff v1 < v2</li>
 *    <li>a positive integer iff v1 > v2</li>
 *    <li>NaN if either version string is in the wrong format</li>
 * </ul>
 *
 * @copyright by Jon Papaioannou (["john", "papaioannou"].join(".") + "@gmail.com")
 * @license This function is in the public domain. Do what you want with it, no strings attached.
 */
function versionCompare(v1, v2, options) {
    var lexicographical = options && options.lexicographical,
        zeroExtend = options && options.zeroExtend,
        v1parts = v1.name.split('-')[2].split('.');
        v2parts = v2.name.split('-')[2].split('.');
 
    function isValidPart(x) {
        return (lexicographical ? /^\d+[A-Za-z]*$/ : /^\d+$/).test(x);
    }
 
    if (!v1parts.every(isValidPart) || !v2parts.every(isValidPart)) {
        return NaN;
    }
 
    if (zeroExtend) {
        while (v1parts.length < v2parts.length) v1parts.push("0");
        while (v2parts.length < v1parts.length) v2parts.push("0");
    }
 
    if (!lexicographical) {
        v1parts = v1parts.map(Number);
        v2parts = v2parts.map(Number);
    }
 
    for (var i = 0; i < v1parts.length; ++i) {
        if (v2parts.length == i) {
            return 1;
        }
 
        if (v1parts[i] == v2parts[i]) {
            continue;
        }
        else if (v1parts[i] > v2parts[i]) {
            return 1;
        }
        else {
            return -1;
        }
    }
 
    if (v1parts.length != v2parts.length) {
        return -1;
    }
 
    return 0;
}

Orchestrator Log Files

$
0
0

Hello,

I'm forwarding all the vRO logs to a Syslog server and I want to reduce the amount of logs.

vRO 7.5.0.10044239

 

I need to know more information related to 'metrics.log' and 'vc-metrics.log'

 

/var/log/vco/app-server/metrics.log

According to the documentation this log "contains runtime information about the server. The information is added to this log file once every 5 minutes."

 

I saw that "metrics.log" is updated once every 1 minute instead.

 

There is any setting that can control this behavior?

Can this logs be stopped?

All the logs are related to statistics that I'm not interested to keep them on a Syslog server.

 

Thank you.

Infoblox plugin - Allocate workflow input

$
0
0

Just having issues with incorrect hostnames being registered in Infoblox.

We customize the host name in a vRO workflow triggered by  VMPS32.Requested lifecycle state PRE; and update the vcac:Entity with the new hostname.  Shows up in vRA fine new hostname.  Registers original hostname generated via machine prefix in Infoblox. 

 

For a while I was trying to figure out exactly how the "Allocate" Infoblox workflow was being triggered; seems when you register the endpoint during plugin setup, a hard-coded vRO Workflow ID is being set (which is the Allocate workflow)  What I don't understand is how this actually gets triggered by vRA since we dont set a subscription  event.  It just fires somehow during provisioning

 

2nd thing I noticed is that the Allocate workflow is being passed  a few variables; one of which is Resource (CompositeType).  The 'Name' key in this Resource has a value of the 'machinePrefix_name'.  When I rerun this allocation by changing that value to a custom hostname, registration in NIOS completes successfully. I just need to know where / how that 'Resource' input value is being passed from vRA to vRO to the 'Allocate' workflow; and potentially how to update what values it's passing Any help greatly appreciated Happy Thanksgiving!

Getting host mm mode event details

$
0
0

I need to create a workflow where it gives us details of user details who put the host in mm mode when we select a ESXi host. I got the event details when a host is selected but unable to filter out the mm mode details alone.

unmapVmfsVolumeEx_Task timeout after 30 minutes

$
0
0

Hello,

 

I'm struggling with running UNMAP from vRO against VMFS LUNs, while in case of bigger LUNs, which task takes longer that 30 minutes, which is somehow default timeout value.
Once after 30 minutes vCenter task triggered by but action time out, I do not have any information if and when UNMAP process ended.

 

 

Is there a way how to modify timeout of triggered VC:Task ?

 

I've already tried following:

TASK = unmapHost.configManager.storageSystem.unmapVmfsVolumeEx_Task(dsUuid);

TASK.createEndOfTaskTrigger(3600);

But it seems VC:Task modification does not returning any error, but also having no effect in terms of when task in vCenter will timeout.
For example, if I will try: TASK.createEndOfTaskTrigger(15);
I would expect, that vCenter task will timeout in 15 seconds, but it is not the case.

 

Regards

Issue targeting multi clusters with vRO DRS Workflow

Credentials being exposed in Workflow Execution Stack when a WF fails

$
0
0

I have a WF with an attribute this is of the data type Credential.  Whenever this WF fails, the execution stack outputs all of the WF parameters and attributes, including the credential username and password in clear text! 

 

Here is an example:

 

[2017-08-11 10:29:26.507] [E] Error in (Workflow:Test / Scriptable task (item1)#0) Error!!

[2017-08-11 10:29:26.529] [E] Workflow execution stack:

***

item: 'Test/item1', state: 'failed', business state: 'null', exception: 'Error!!'

workflow: 'Test' (40c14d17-07cd-4545-a3ee-6fe3e5b7e424)

|  'attribute': name=Cred type=Credential value=username:passwordincleartext!

|  'no inputs'

|  'no outputs'

*** End of execution stack.

 

Is there a way to suppress the workflow execution stack other than to turn the scripting log level to Fatal or off?  I'd like to see the scripting log, but I can't have it expose credentials to the users.

 

Has anyone run into this and found a good workaround?

 

I'm running VRO 7.3.

 

Thanks!

vRO 8.0 register plugin

$
0
0

Hello,

 

In vRO 8.0 how can I register a new plugin (IBM spectrum connect plugin) ?

 

Thank you

 

Dominic


vRO 7.4, 7.6 embedded - java.lang.NullPointerException when using ActiveDirectory.searchExactMatch

$
0
0

I have upgraded vRA to 7.4 and use the embedded VRO with default plugins.

Since today each time when I try to query the AD to a specific user by the sAMAccount name:

var Users = ActiveDirectory.searchExactMatch("User" , SAM , 2, adHost);

var Users = ActiveDirectory.searchExactMatch("User" , SAM , 2); // uses default ad host

Each time I get the error: java.lang.NullPointerException

 

Any tips?

 

Edit: Ok so I found the casue of the issue - the AD Host I have been using does not seem to be valid - when trying to query the AD inventory by using the AD plugin, I get no results. When I use another AD host where I am able to query the inventory, the script runs.

Now the problem is, all of the AD Hosts I have configured in the plugin, are domain controllers that show no errors and can be queried usind for example ADexplorer.

 

Another question is - is choosing the DC based on a DNS search a valid option in the AD plugin yet? What I mean is - the DC farm for each domain contains about 10 DC's in my case. I would like to use the ldaps://domain.name:3269 FQDN for my AD queries, instead of selecting single DC's. This way I would not run into errors, when one of the DC's is offline or in maintenance. I have used it like this in vRO 6.x was hoever told that this is not a valid way to configure the AD plugin. The new 7.4 version seems to have a built in mechanism where, when configuring AD hosts, you can group them together to force a RR or Failover selection. Would configuring the Ad hosts like this be of benefit in my case?

vRealize Orchestrator - Get ESXi Storage Device LUN ID

$
0
0

Friends, how are you?

I am working in a workflow and I need to get the LUN ID of a Storage Device based in the WWPN. In other words, I have the WWPN and need to use this info to ger the LUN ID in ESXi. This is necessary to form the name of the datastore. Anyone have idea of how to get this using vRealize Orchestrator?

How to get vRA VMs name where a specific custom property name does not exists

$
0
0

Hi all

 

 

 

I would like to search the VMs whose haven't a specific custom property defined on it.

 

 

 

Anyone have a idea to do that in only one Odata query ? (to avoid looking 4000 Vms one by one)

 

 

I found this link to find the Vms by custom property name and value (https://automate-it.today/vro-code-finding-virtualmachines-custom-property/)

 

But in my case, it's a little bit different, because  i want to get VM name if a custom property not exist.

 

 

Thanks for your help

Jacques

Force Data Collection via REST API

$
0
0

I am trying to execute the workflow to "Force Data Collection" via REST API.  No matter what I do, I am continuously getting Error 400.

 

I can run other API's in vCO, such as getting all workflows.

 

I assume the problem may be with the body field.  I've tried lots of different options, but cannot figure out the correct syntax to make this work.

 

Any suggestions would be appreciated.

 

cant run workflow.png

Error while using an Array of CompositeType as Input parameter for a workflow

$
0
0

I' trying to use a custom object as input parameter for one of my workflows. This object array will be used later as input for one very simple scriptable task:

 

my_input_objects.forEach(    function(my_element) {        System.debug(JSON.stringify(my_element));    }
);

 

As soon as I hit the run button I'm getting this error:

 

5.PNG

 

 

I also noticed a bug on the auto-generated input form element which can be seen in the screenshot.

 

Relevant part of the logs:

 

 

2019-08-22 10:25:37.260+0000 [http-nio-127.0.0.1-8280-exec-9] WARN  {} [WorkflowRuntimeServiceImpl] Unable to insert a WorkflowToken / WorkflowTokenContent
 java.lang.RuntimeException: cannot convert value of my_input_objects to decrypt it



 Caused by: ch.dunes.model.type.ConvertorException: Array value has invalid format
at ch.dunes.model.workflow.WorkflowTokenHelper.processArraySensitiveValue(WorkflowTokenHelper.java:248)
at ch.dunes.model.workflow.WorkflowTokenHelper.processSensitiveValue(WorkflowTokenHelper.java:153)
at ch.dunes.model.workflow.WorkflowTokenHelper.encryptSensitiveValues(WorkflowTokenHelper.java:112)
at ch.dunes.model.workflow.XmlWorkflowTokenAttributeWriter.appendAttribute(XmlWorkflowTokenAttributeWriter.java:146)
... 158 more


Caused by: java.lang.NullPointerException
at ch.dunes.workflow.engine.mbean.WorkflowEngine.executeNewWorkflow(WorkflowEngine.java:601)
... 129 more

 

The full log and the rest of the screenshots are available in the .zip file attached to this thread.

 

vRealize Orchestrator version: 7.6.0

 

Any suggestion/feedback is really appreciated since I'm evaluating if I can use the Orchestrator or else if I have to research for different solutions.

 

Thanks in advance.

vRO : Duplicate Resource Folder(category) inside another Folder.

$
0
0

I was just playing with vRO in my office. Let me tell you the scenario first:

 

So there is this workflow scheduled to run on daily basis and create 2 files in Resource Element. The requirement is to create folder inside another one and its name should be the date.

Ex. Parent folder name : Routes inside this I need to create another folder with the name like Tue Dec 10 2019 08:39:13 GMT-0000 (UTC) .

 

But the thing is it is creating 2 folder differently with the same name!..... 

here is the sample code i'm executing.

 

var location = "VM Routing Reports/abc";
System.log(location);
createFile(location);
System.sleep(2000);
createFile(location);

function createFile(location){
Server.createResourceElement(location, "hk");
}

 

this code is creating 2 folder with the same in in resource element.

vroissue.png

 

Can anyone help me to check whats wrong in code??

vCloud Director Notifications package

$
0
0

Hi,

 

I am trying to make a workflow that intercepts amqp messages from vCloud Director when a VM is created, in order to prevent tenant admins from creating vms larger than  2TB size or more than 16GB RAM.

I'm trying to do that using vCloud Director Notifications package,  https://code.vmware.com/samples/4982/vcloud-director-notifications-package

I could successfully intercept a change on a name or on cpu hotadd, but I cannot find where is defined the new RAM or vmsize value in the blocking task

 

Seems like VclVM data type nor vCLBlockingTask does not have any data type regarding vm Size or new ram size, but i am not 100% sure.

 

Any idea?

Thanks

Nicolás


vCACCAFE 7.6.0.12923319 not showing active services and published catalog items

$
0
0

Hi,

 

We use vCACCAFEEntitiesFinder.findServices(vraHost) and vCACCAFEEntitiesFinder.findAdminCatalogItems(host) in our workflows. However in vRO 7.6, the ACTIVE services and PUBLISHED catalog items are not returning through these API. They are also not showing up in orchestrator client.

 

Additionally vCACCAFEEntitiesFinder.getServices(vraHost) also does not return ACTIVE services

 

The vCACCAFE plugin version is 7.6.0.12923319. Is there a fix or workaround available for this?

 

Regards,

Siva

vRO vCloud Plugin: Download a vApp template Workflow

$
0
0

Hi,

 

I am trying to use the "Download a vApp template" workflow but it does not work as expected. The workflow completes successful but looking at the download I get 2 files. One is the OVF file with the OVF file contents, and the other one is a vmdk file, however the content is exactly the same as in the OVF file. So it is not downloading the disk file, instead it downloads the ovf file again. In the API calls I can see it is only accessing the ovf file from the /transfer/ endpoint.

 

In order to troubleshoot this I created a small workflow which calls the downloadFile() method on the vAppTemplate object but no matter which filename I specify it always get's and dumps the OVF content.

 

Is someone successfully using this Workflow?

 

This is vRO 8.0, vCloud Plugin 10.0 and vCloud 9.7. I have seen this problem in the past with earlier versions as well.

VM Visibility - vRO / vRA

$
0
0

Hi All,

 

We've developed a set of workflows that take a VC:VirtualMachine as one of the inputs. This is fine when using the flows within vRO, but we also have a requirement to use them within vRA.

 

The workflows have been published as XAAS blueprints within vRA, when a user selects the VC:VirtualMachine they are able to see all of the machines in all the vCenters configured within vRO. We need to limit this to display only the machines they are entitled to see, so for example a user from vRA business group a can select machines a1, a2, a3, a user from business group b can select machines b1, b2, b3.

 

We've had a look at the VCAC:VirtualMachine type, but that seems to display all machines as well. Is there a built-in type we can use that will do this, or will we have to "roll our own"?

 

Any advice would be appreciated!

 

Thanks,

 

Tim.

Nested session to execute the command with root login to a server using SSHSession.

$
0
0

We have to execute certain command in root login.  Root login is not open directly to the server. We have to login first with "admin" then need to do "su -" to get the root login. Then after we can execute the command. We are using SSHSession API from VMware to establish the session in VRO 7.5 workflow. Using this API we are allowed to establish the session with certain user but as per requirement  need to execute the command in another user's session. Need help here to provide the API  establish the session for nested user or we can run the command in root user shell from admin user session (from SSHSession).

vSphere Documentation Center

vra7.0 embedded vco? And a Chef workflow error.

$
0
0

I have built out a medium environment using the embedded vco. When i log into the VRA appliance and look at the registered services i see multiple vco  com.vmware.vco.o11n  services and (7) and of the services only 5  have the status of registered. I am new to vra and really do not understand why i have so many vco services and then to have 2 services not registered is a bit concerning. Especially when i have the Chef plug in that is not working correctly with this error "403 Forbidden (Workflow:Create / Update Property Group / create property group (item1)#52)" when i try to run this workflow " Create Property Group for Chef EBS Workflows"   I have other Chef work flows that complete correctly and a IPAM solution that also works as designed. Hopping that someone can push me in the correct direction to get this resolved. Not sure if the first issue is connected to the Chef issue. Thanks

Viewing all 6251 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>