VMware Cloud Community
anat_cohen
Contributor
Contributor

request a catalog item

Hi,

I building Xaas blueprint with "request a catalog item" workflow.

The Problem is that every request i make running (submitted by) with "configurationadmin" user. any one know why?

I have a version 7.

Thanks

Reply
0 Kudos
6 Replies
rcporto
Leadership
Leadership

Take a look here: vRealize Orchestrator gotcha when configured with the configurationadmin » Extending Clouds

---

Richardson Porto
Senior Infrastructure Specialist
LinkedIn: http://linkedin.com/in/richardsonporto
Reply
0 Kudos
pizzle85
Expert
Expert

The request is sent as the user account that was used to connect vRO to vRA in the vRA plugin. There is another workflow for "Request a catalog item on behalf of" that will let you submit it as someone else. The catch is that the account used to connect vRO to vRA needs to be entitled to that blueprint as a member of the business group you want to deploy in.

Reply
0 Kudos
anat_cohen
Contributor
Contributor

Hi and Thanks you for replay.

This is what i do.. running the request On Behalf Of.

The configurationadmin user is belong to more than one business group. Let's say:

bg1

bg2

The user  belong to bg1.

I'm running the request with provisiongroupid property and still, running on the bg2 (i can see that the request submitted by configurationadmin and Submitted For user).

Maybe this property changed on vra 7?

This is what my workflow run:

var propCatItem = new Properties();

propCatItem.put("provider-VirtualMachine.Network0.Name",strVlan);

propCatItem.put("provider-provisionGroupId",strBusinessGroupId);

var arrKeys = propCatItem.keys;

for each (var strKey in arrKeys){

  System.log(strKey + " : " + propCatItem.get(strKey));

}

//Set the form, request blueprint

System.getModule("com.vmware.library.vcaccafe.util").validateObject(objCatItem, "Catalog Item");

var objCatForm = vCACCAFERequestsHelper.getRequestFormForCatalogItem(objCatItem);

System.log("Accepted inputs:");

var fields = vCACCAFERequestsHelper.getFormKeys(objCatForm);

for (var i = 0; i < fields.length; i++) {

  System.log(" - " + fields[i]);

}

objCatForm = vCACCAFERequestsHelper.setFormValues(objCatForm, propCatItem);

var objCatRequest = vCACCAFERequestsHelper.requestCatalogItemOnBehalfOf(objCatItem, objCatForm, struser);

System.log("INFO - Catalog Item Request sent");

Reply
0 Kudos
pizzle85
Expert
Expert

You have to use the catalog item that's entitled to BG1 if you want to provision it in BG1.

This script will iterate through the catalog items to find one named "blank vm iaas" that belongs to the business group in the "group" variable.

var items = vCACCAFEEntitiesFinder.getCatalogItems(host);

for each (item in items) {

  if (item.name.toLowerCase() == "blank vm iaas") {

  if (item.organization.getSubtenantLabel().toLowerCase().indexOf(group.toLowerCase()) > -1) {

  var exit = true;

  System.log("Found catalog item named " + item.name + " entitled for " + group + ": " + item);

  System.log(item.name + " : " + item.organization.getSubtenantLabel());

  break;

  }

  }

}

if (exit == true) {}

else {

  throw "No IaaS blueprint found for group " + group;

}

Reply
0 Kudos
anat_cohen
Contributor
Contributor

What if the IAAS blueprint is Entitlements to bg1 and bg2?

This is my case, all BG can see the Blueprint.

Reply
0 Kudos
pizzle85
Expert
Expert

Its entitlement based. Browse your vCACCAFE object and look at the catalog items folder. You’ll see that blueprint listed twice, once for BG1 and once for BG2 (as long as your account is a member of BG1 and BG2). You need to select the catalog item from the entitlement that’s associated with the BG you’re deploying as part of. That’s how the BG association is done.

Reply
0 Kudos