davequinlisk
Contributor
Contributor

How do I specify which Storage DRS Cluster a VM deploys on?

Hi All,

I have tried utilising the VirtualMachine.Storage.Cluster.Name Custom Attribute to get a VM to deploy onto a specific Storage DRS cluster.

This doesn't seem to work though and the VM's are still assigned sporadically.

I am utilising vCAC 6.1 with vSphere as the direct endpoint.

We have a Metro Storage Cluster.  Each vSphere cluster has 2 Datastore clusters each.

Has anyone had any success with this or is there an alternate Custom Attribute I should be using?

Regards

Dave

0 Kudos
6 Replies
davequinlisk
Contributor
Contributor

After a bit more testing, it seems this maybe reservation related.

I have two Compute clusters and each has its own reservation.  These are linked with a Reservation policy.

Rather than vCAC choosing the reservation with the desired Storage cluster, it obviously selects a reservation first and then assigns the VM to the custom storage cluster if it exists.  If it doesn't, it just picks another one.

Not great!  I guess the obvious next question would be, is there a Custom Property to select a reservation within a reservation policy or specify a compute cluster?

0 Kudos
virtualsabi
Enthusiast
Enthusiast

Hi,

you can attach a location to any of your compute resources.

To use this feature you have to edit a xml file on the IAAS machine and add your locations to it, so that you are able to select those locations in the compute resource section of vCAC for any compute resource.

vCloud Automation Center Documentation Center

If you want to specify the location by a custom property, you can use the property Vrm.DataCenter.Location

Use one of the previously added locations in your xml for this property, to select the corresponding compute resource by its location name.

It would be also possible to specify the target reservation policy by a custom property, but its not possible to specify a reservation itself.


Greetz

0 Kudos
davequinlisk
Contributor
Contributor

Hi,

Thanks for your response, unfortunately this will not work in my situation.

As mentioned, we are utilising vCAC 6.1 and VRM.Datacenter.Location cannot be specified in the Property Dictionary.

I have seen this worked in vCAC 6.0 and it may have returned in vCAC 6.2?  According to > http://vcdx56.com/2014/12/04/heads-up-vcloud-automation-center-property-definition-information/

I am also unable to use Reservation Policy __ReservationID as I have two reservations for each Reservation Policy.

Selecting a Reservation policy would not define a specific Cluster.  If I have a specific Reservation Policy for each Reservation then a user would have to select between two UID's for the reservations that wouldn't make sense to them.

It seems like my only option is to upgrade to 6.2 or create a vCO workflow that assigns a Storage Policy and DRS group depending on the location the system ends up in.

Thanks for the input!

Dave

0 Kudos
deltadental
Contributor
Contributor

Did you ever figure this out? I have the same issue and no manipulation of properties changes the datastore cluster.

I have resorted to an external portal with REST calls to request catalog items so I can control the cluster selection. I am looking to avoid maintaining blueprints pointing to each cluster.

0 Kudos
davequinlisk
Contributor
Contributor

Hi deltadental,

I am afraid I could not get this attribute to work.  The deployments did not obey what was specified.

It turns out we wanted to go a different route in which we let vCAC decide what cluster to deploy to.  We now have an ExternalWFStubs.MachineProvisioned vCO workflow implemented.

The workflow retrieves the Storage Cluster and based on the name it applies a Storage Profile and a VM Affinity rule to the VM that was deployed.

In some ways a neater design as the user does not have to specify the cluster.

Still frustrating not to be able to have this option in the toolbelt, maybe its fixed in vCAC 6.2?  Its probably worth an SR if you definitely need it.

Hope you get a solution that meets your needs.

0 Kudos
admin
Immortal
Immortal

Hi Dave,

If you want the entire machine (the vmx configuration file, or default location of disks) placed on the cluster, could you try "VirtualMachine.Storage.Name"?

If you want a specific hard disk on a cluster could you try "VirtualMachine.Storage{N}.Name" where N is the index of the disk?  If you're using the UI you can simply just use the "Storage" custom properties editor and put "Name" it will add the prefix with the proper index.

During machine allocation we handle clusters and datastores the same way so you could put a regular datastore name in here or a cluster name in here because they must be unique by vSphere. At request time the cluster information is "extrapolated" during the provisioning of the machine which leaves this other property around for data collection and auditing, somewhat confusing in hindsight we probably didn't need or could have hidden these properties.

Anyway, give it a shot.

0 Kudos