Dr. Pranay Jha

VMware • Cloud • AI • Enterprise Architecture

FORMERLY
VMware Insight & Cloud Pathshala
What began over a decade ago as a passion for sharing knowledge has evolved into a unified platform for Enterprise AI, VMware, Cloud Architecture, Research, and Modern Infrastructure.
, ,

Managing Deployments and Consumer Day-2 in VCF Automation (VCF Automation 9 Series, Part 38)

The Deployments page is where self-service actually lives day to day: cards vs list views, the day-2 action set, the lease trap that powers VMs off, utilization insights, and how to drive it all from the API.

VCF Automation 9 Series · Part 38 of 41
TL;DR · Key Takeaways
  • The Deployments page is where a consumer lives after they request something: change it, troubleshoot it, resize it, or destroy it. Deployment cards for a few, the deployment list and resource list when there are many.
  • Day-2 actions run from the Actions menu on a deployment or a component resource. What appears depends on the resource type, the namespace, and the day-2 policy that applies to the user.
  • The lease trap: when a lease expires the deployment is powered off and then destroyed, and a powered-off machine cannot be powered back on until the lease is extended. This drives a real share of support tickets.
  • Consumers also see utilization (CPU and memory) for VMs and VKS clusters, which is the data that makes right-sizing a conversation instead of a guess.
  • My recommendation: scope day-2 policies tightly, default leases short with easy extension, and teach teams to drive routine day-2 from the API so the console is not the only path.
Who this is for: platform and cloud admins who own the VCF Automation tenant experience and field the day-2 tickets, plus the application teams who manage their own deployments.
Prerequisites: a VCF Automation 9.x organization with published catalog items, at least one project with members, and lease and day-2 policies you can edit. API access helps for the last section.

A developer pings you on a Monday: their app VM will not power on, and nothing is broken. The deployment lease expired over the weekend, the VM was powered off, and in VCF Automation a powered-off machine cannot be powered back on until the lease is extended. That single rule explains a surprising share of day-2 tickets. It is a feature, not a bug, and once you understand the Deployments page and the policies behind it, most of those tickets stop reaching you at all.

The Deployments page is the consumer's whole world

Provisioning is a moment; the deployment is the relationship. After a user requests a catalog item, everything they do next happens on the Deployments page: making changes, troubleshooting a failed deployment, modifying the resources inside it, and destroying it when it is no longer needed. A deployment is the unit they own, and it can contain one machine or a whole application topology of VMs, networks and load balancers.

VCF Automation gives two ways to look at the same thing. Deployment cards are a graphical view that works when a user manages a handful of deployments. Once the count grows, the deployment list and the resource list give a denser, more workable view, letting someone act across many deployments or drill into individual resources without clicking through cards. The distinction matters more than it sounds: a power user drowning in cards is a sign you should be pointing them at the list view, or at the API.

Two views of the same deployments Cards for a few, list and resource views when there are many Deployment cards app-01 2 resources db-test 1 resource Graphical, good for a handful Actions menu on each card Quick status at a glance Deployment + resource list app-01 running lease 12d db-test running lease 3d web-prod failed – Dense, good for many Act across deployments at once Drill into individual resources
Same deployments, two lenses. Push heavy users from cards to the list view or the API.

What a consumer can actually do

Day-2 actions are the verbs of the Deployments page. A user opens the Actions menu on a deployment, or on a component resource inside it, and runs an action to modify or manage what they own. The set that appears is not fixed. It depends on the resource type, whether the action is supported on that namespace, and the day-2 policy that applies to that user. That last point is the governance seam: the policy is what decides whether a junior developer can resize a machine or only power it on and off.

Every day-2 action passes a policy gate The Actions menu only shows what the policy permits 1 User opens Actions menu 2 Day-2 policy + resource type check 3 Allowed actions shown and run 4 Blocked ones never appear
The day-2 policy filters the menu before the user sees it, so destructive or costly actions can be hidden entirely.
ActionWhat it doesTypical gate
Power on / offStart or stop machines in the deploymentDay-2 policy
Change / resizeAdjust CPU, memory, disk or deployment inputsDay-2 policy + project quota
Change leaseExtend or shorten the deployment lifetimeLease policy
Change projectMove deployment ownership to another projectDay-2 policy
Delete / destroyReclaim every resource in the deploymentDay-2 policy

The lease trap, and why it is on purpose

A lease policy defines the maximum time a deployment can exist. When the lease expires, the deployment is destroyed and its resources are reclaimed. Before that, there is the behavior that catches everyone: a powered-off machine cannot be powered back on unless the lease is extended. The platform is doing exactly what you asked it to do, which is to stop idle and abandoned workloads from holding capacity forever. The friction is the point. Capacity that is never reclaimed is the most common way a self-service platform quietly runs out of room.

How to keep the trap from generating tickets

Set leases short by default and make extension trivial and self-service, so the path of least resistance is to keep a deployment alive deliberately rather than by accident. Make sure expiry notifications actually reach the owner, not a shared mailbox nobody reads. And put the Change Lease action in the day-2 policy for the people who own deployments, so they can extend without opening a ticket. The mistake teams make is setting long default leases to avoid complaints, which just trades a small, visible friction for a large, invisible capacity leak.

The lease lifecycle Extend resets the clock; ignore it and the deployment is reclaimed Active Nearing expiry Expired Destroyed running notify owner powered off, no power-on resources reclaimed Change Lease resets the clock
Extending the lease before expiry is the only graceful exit. After expiry, recovery means extending before the destroy window closes.
In practice: the first thing I check on a "my VM will not start" ticket is the lease, not the hypervisor. Nine times out of ten the deployment is past its lease and the fix is a lease extension the owner could have done themselves.

Utilization insights, so right-sizing is a fact

Application teams can see utilization, CPU and memory, for VMs and VKS clusters directly against their deployments. This is more useful than it first appears. The Change action lets a consumer resize, but without data they resize by feeling, which usually means up and never down. Utilization turns that into evidence: a VM sitting at single-digit CPU for a month is a resize-down candidate, and a deployment pinned at its memory ceiling is a real bottleneck rather than a complaint. Pair the utilization view with a day-2 policy that permits the Change action and you get right-sizing the consumer drives themselves, which is the only kind that scales.

Driving day-2 from the API

The console is fine for one deployment. For many, or for anything repeatable, day-2 belongs in the API. The pattern is the same one that keeps you honest elsewhere in the platform: list, discover the available actions on the specific deployment, then run one by its action id rather than assuming the string. Get a token first, which is covered in Part 20.

# List your deployments
curl -s -H "Authorization: Bearer $TOKEN" 
  https://$VCFA/deployment/api/deployments?expand=true

# Discover the day-2 actions available on ONE deployment (do not guess the id)
curl -s -H "Authorization: Bearer $TOKEN" 
  https://$VCFA/deployment/api/deployments/$DEP_ID/actions

# Run an action using an actionId returned above (here: extend the lease)
curl -s -X POST -H "Authorization: Bearer $TOKEN" 
  -H "Content-Type: application/json" 
  https://$VCFA/deployment/api/deployments/$DEP_ID/requests 
  -d '{"actionId":"Deployment.ChangeLease","inputs":{"Lease Expiration Date":"2026-09-01"}}'

Expected result: the POST returns a request you can poll until it completes, and the deployment lease moves out. Failure mode: a 403 or an empty action list usually means the day-2 policy does not grant that action to the token's user, not that the API is wrong. Confirm the exact paths and action ids against the API reference for your build, because they are versioned. The same loop scripts cleanly for bulk operations like extending every lease in a project before a holiday freeze.

Worked example
A project has 40 deployments with a 14-day default lease. You enable Change Lease and Power actions for deployment owners but withhold Delete from everyone except project admins. Expiry notices go to each owner three days out. Over a quarter, owners self-extend the deployments they still need and let the rest expire, and the project reclaims roughly a third of its capacity without a single admin ticket. The only day-2 requests that reach you are the resize-up cases that breach quota, which is exactly the small, meaningful set you want to see.
Disclaimer
Day-2 actions such as resize, change project and delete change or remove live resources. Destroy is not reversible once the resources are reclaimed. Validate policies in a non-production project, confirm who holds the Delete action, and follow the current Broadcom documentation for your exact VCF Automation build before granting destructive actions broadly.

My Take

Treat the Deployments page as a product you operate, not a screen you ignore after go-live. Scope day-2 actions tightly so owners can do the routine things and only admins can do the irreversible ones, keep default leases short with painless self-service extension, and surface utilization so resizing is driven by data. When would I loosen this? For a mature platform team that owns its own capacity, widen the action set and lengthen leases, because the people bearing the cost are the ones making the call. For everyone else, short leases and a narrow Delete grant will save you more incidents than any amount of monitoring. The console is the front door, but push your heavy consumers to the API early so day-2 scales past what clicking can handle. What does your average lease length look like against how often a project actually reclaims capacity?

References

VCF Automation 9 Series · Part 38 of 41
« Previous: Part 37  |  VCF Automation Guide  |  Next: Part 39 »

About The Author


Discover more from Dr. Pranay Jha

Subscribe to get the latest posts sent to your email.

Leave a Reply

Your email address will not be published. Required fields are marked *

Architect’s Toolkit

About the Author

Dr. Pranay Jha is a Cloud and AI Consultant with 18+ years of experience in hybrid cloud, virtualization, and enterprise infrastructure transformation. He specializes in VMware technologies, multi-cloud strategy, and Generative AI solutions. He holds a PhD in Computer Applications with research focused on Cloud and AI, has published multiple research papers, and has been a VMware vExpert since 2016 and a VMUG Community Leader.

VCF Automation 9 Series

Discover more from Dr. Pranay Jha

Subscribe now to keep reading and get access to the full archive.

Continue reading