Month: May 2015

Setting DNS primary at Scale

Greetings,

Another “Ask Rick” was posted on Tintri’s corporate blog.  This post covers setting the VMstore’s primary DNS for 100s of VMstores.  This was done for our IT department.

The main thrust of this article, is how to modify VMstore configuration information with the Appliance API.  The Data Transfer Objects (DTOs) are hierarchical.  Let’s start with the Request DTO, because the Appliance API is PUT with it in the HTTP body.


# Create the Request object with the Appliance DTO.
Request = \
{'typeId': 'com.tintri.api.rest.v310.dto.Request',
 'objectsWithNewValues': newAppliance,
 'propertiesToBeUpdated': ['dnsConfig']
}

As you can see, the objectsWithNewValues field is an Appliance object, and the propertiesToBeUpdated is the dnsConfig field in the Appliance DTO since DNS configuration is desired to be changed.


# Create the Appliance object wit the new ApplianceDns DTO.
newAppliance = \
{'typeId': 'com.tintri.api.rest.v310.dto.domain.Appliance',
 'dnsConfig': newDnsInfo
}

Above we see the newAppliance object with the dnsConfig field only.  We don’t need the other Appliance fields since we are not modifying them.  The dnsConfig field contains the new DNS values we want to set.


# Create the ApplianceDns DTO.
newDnsInfo = \
{'typeId': 'com.tintri.api.rest.v310.dto.domain.beans.hardware.ApplianceDns',
 'dnsPrimary': new_dns_primary,
 'dnsSecondary': new_dns_secondary
}

Both primary and secondary DNS values need to be present because the API is modifying dnsConfig as a whole.

After the DTOs are created and filled with the appropriate values, the Appliance API is invoked.


APPLIANCE_URL = "/v310/appliance/default"

url = APPLIANCE_URL
r = tintri.api_put(server_name, url, Request, session_id)

This template will be useful for setting other values in the Appliance.

Please check out this week’s “Ask Rick” for more details.  As always, you can leave comments and questions here.

Regards,

– Rick –

QoS and TGC Storage Groups

Greetings,

My latest blog post on “Setting QoS at Scale” was posted on the Tintri corporate site.  This post discusses how to use TGC Service Groups to set storage QoS on multiple VMstores.  TGC Service Groups allow you to organize VMstores according to your needs.  For example, one approach might be for all your VMstores associated with VDI VMs, and another approach could be for VMstores associated with a specific customer.

For more information on storage QoS, check-out these two posts:

You’ll note that Tintri’s QoS satisfies Mr Crump’s three requirements:

  1. storage QoS at the VM level
  2. expressing IOPs the same for each VM independent of block sizes
  3. storage resource visibility

Combining TGC Service groups and setting storage QoS provides an great way to manage your VMstores.

– Rick –