compute-future-reservations
Evaluates future GPU and TPU reservation feasibility and calendar-mode booking options in Google Compute Engine (GCE). Use when planning future AI/ML training runs, checking reservation availability windows, verifying accelerator cluster topologies, or assessing future capacity lead times. Don't use for active on-demand reservations (use compute-on-demand-reservations), immediate Spot capacity queries (use compute-spot-capacity-advice), or Standard Future Reservations (--reservation-mode=DEFAULT).
Try your first task
A source-grounded starter task has not been verified for this skill yet.
SKILL.md
name: compute-future-reservationsmetadata: version: "1.0.0" category: Computedescription: >- Evaluates future GPU and TPU reservation feasibility and calendar-mode booking options in Google Compute Engine (GCE). Use when planning future AI/ML training runs, checking reservation availability windows, verifying accelerator cluster topologies, or assessing future capacity lead times. Don't use for active on-demand reservations (use compute-on-demand-reservations), immediate Spot capacity queries (use compute-spot-capacity-advice), or Standard Future Reservations (--reservation-mode=DEFAULT).Compute Engine Future Reservations & Calendar-Mode Feasibility
The compute-future-reservations skill assesses future capacity availability and feasibility for high-demand AI/ML hardware (NVIDIA GPUs, H4D VMs, and Google Cloud TPUs). It enables infrastructure engineers to evaluate future reservation windows, match cluster topologies, and manage calendar-mode bookings.
[!NOTE] Scope Boundary (Calendar Mode vs. Standard Future Reservations): This skill covers Calendar-Mode Future Reservations (
--reservation-mode=CALENDAR, backed by Dynamic Workload Scheduler for up to 90 days on supported families such asa3*,a4*,h4d*, and Cloud TPUs; for newly released machine series, verify Calendar Mode support dynamically viagcloud compute advice calendar-modeor the official Calendar Mode documentation). Do not apply Calendar-Mode flags (--reservation-mode=CALENDAR,--deployment-type=DENSE) to Standard Future Reservations (--reservation-mode=DEFAULTfor general-purpose CPU families,a2*/g2*GPUs,DRAFTplanning workflows, or multi-month/CUD commitments).
Usage Attribution
MUST READ: Before executing any gcloud, REST API, or MCP command, you MUST read and follow the instructions in Usage Attribution.
Prerequisites, IAM & Billing
Before querying calendar-mode advice or submitting future reservation requests, ensure the environment meets these requirements:
- Project & Region Configuration: Prefer passing
--project={project_id}and--region={region}(or--zone={zone}) directly on each command to avoid overwriting global workstation state, or obtain explicit user confirmation before setting defaults (e.g.,us-central1):gcloud config set project {project_id} gcloud config set compute/region {region} - Billing & API Enablement: Ensure the project has an active billing account attached and the Compute Engine API is enabled:
gcloud services enable compute.googleapis.com --project={project_id} - Cloud SDK & Authentication: Ensure the Google Cloud CLI is installed (never execute unprompted host installation commands such as
apt-getorcurl | bashwithout explicit user approval; direct the user to the installation guide instead), then authenticate viagcloud auth login(for interactive CLI),gcloud auth application-default login(for SDKs), orGOOGLE_APPLICATION_CREDENTIALS(for service accounts). - IAM Permissions:
- Feasibility, Creation & Inspection (
advice calendar-mode,create,list,describe,delete): Grantroles/compute.futureReservationUser(includescompute.advice.calendarMode,compute.futureReservations.create,compute.futureReservations.delete,compute.futureReservations.get,compute.futureReservations.list, andcompute.reservations.create, excludingcompute.futureReservations.cancel). - Cancelling Requests (
cancel): Grantroles/compute.futureReservationAdmin(orroles/compute.admin), which is required forcompute.futureReservations.cancel.
- Feasibility, Creation & Inspection (
- Quota & Organization Policy: Submitting a Calendar-Mode request requires 0 reservation quota for GPUs and TPUs, but H4D VMs require sufficient regional CPU quota at submission, and all workloads require sufficient VM/TPU, boot disk, and IP quota at
start-timeto consume the auto-created reservation. Sharing across projects requires allowlisting the host project in organization policyconstraints/compute.sharedReservationsOwnerProjects. - Billing & Pricing Warning: Approved Calendar-Mode Future Reservations automatically provision capacity at
start-timeand bill for the entire committed window whether or not VMs or TPUs are actively running. Review Compute Engine Pricing, Available Regions and Zones, and Google Cloud Locations (strip.md.txtsuffixes when presenting documentation URLs to human users) before submitting requests.
Command Syntax & Reference
1. Evaluate Calendar-Mode Feasibility Advice
Query the optimal time window and zone for a planned block of GPU or TPU capacity:
# For GPU / H4D VMs:
gcloud compute advice calendar-mode \
--project={project_id} \
--region={region} \
--machine-type={machine_type} \
--vm-count={total_instances} \
--start-time-range=from={start_date},to={end_date} \
--duration-range=min={min_duration},max={max_duration} \
[--location-policy={zone}={policy}]
# For Cloud TPUs (supported --tpu-version values: V6E, V5P, V5E; --workload-type is required for V5E):
gcloud compute advice calendar-mode \
--project={project_id} \
--region={region} \
--tpu-version={V6E|V5P|V5E} \
--chip-count={chip_count} \
--start-time-range=from={start_date},to={end_date} \
--duration-range=min={min_duration},max={max_duration} \
[--workload-type={BATCH|SERVING}] \
[--location-policy={zone}={policy}]
2. Inspect Existing Future Reservations
# List planned future reservations
gcloud compute future-reservations list \
--project={project_id} \
[--zones={zone}]
# Inspect a specific future reservation plan
gcloud compute future-reservations describe {future_reservation_name} \
--zone={zone} \
--project={project_id}
3. Create a Calendar-Mode Future Reservation Request
[!IMPORTANT] Submitting a future reservation request (
--planning-status=SUBMITTED) commits to capacity billing once approved. Always obtain explicit human approval before executinggcloud compute future-reservations create.
Once a feasible reservation window and zone are confirmed via calendar-mode, create and submit the request:
# For GPU / H4D VMs (requires --deployment-type=DENSE):
gcloud compute future-reservations create {future_reservation_name} \
--project={project_id} \
--zone={zone} \
--total-count={total_instances} \
--machine-type={machine_type} \
--deployment-type=DENSE \
--reservation-mode=CALENDAR \
--planning-status=SUBMITTED \
--require-specific-reservation \
--reservation-name={reservation_name} \
--start-time={start_rfc3339} \
--end-time={end_rfc3339} \
--auto-delete-auto-created-reservations \
[--share-setting=projects --share-with={consumer_project_ids}]
# For Cloud TPUs:
gcloud compute future-reservations create {future_reservation_name} \
--project={project_id} \
--zone={zone} \
--tpu-version={tpu_version} \
--chip-count={chip_count} \
--reservation-mode=CALENDAR \
--planning-status=SUBMITTED \
--require-specific-reservation \
--reservation-name={reservation_name} \
--start-time={start_rfc3339} \
--end-time={end_rfc3339} \
--auto-delete-auto-created-reservations \
[--workload-type={BATCH|SERVING}] \
[--share-setting=projects --share-with={consumer_project_ids}]
4. Cancel or Delete a Future Reservation (Resource Teardown)
To cancel a pending/submitted request or clean up a cancelled/completed future reservation (requires explicit human approval; cancel requires roles/compute.futureReservationAdmin):
- Cancellation Cutoff (
cancel): AnAPPROVEDCalendar-Mode request can only be self-service cancelled whenstart-timeis at least 30 days (720hours) away, or within 24 hours of submission providedstart-timeis at least 4 days (96hours) away. - Deletion Preconditions (
delete):deleteonly succeeds once the request isCANCELLEDor pastend-time, and prompts interactively unless--quietis passed.
# Cancel a pending or approved future reservation request (within the allowed window)
gcloud compute future-reservations cancel {future_reservation_name} \
--zone={zone} \
--project={project_id}
# Delete a cancelled or completed future reservation record
gcloud compute future-reservations delete {future_reservation_name} \
--zone={zone} \
--project={project_id}
5. Consume the Auto-Created Reservation at start-time
When start-time arrives, Compute Engine automatically provisions the targeted reservation {reservation_name}:
- For GPU / H4D VMs: Launch instances with
--provisioning-model=RESERVATION_BOUND,--maintenance-policy=TERMINATE,--instance-termination-action={STOP|DELETE}, private networking (--no-addresswith IAP TCP forwarding), and a custom least-privilege--service-account:gcloud compute instances create {vm_name} \ --project={project_id} \ --zone={zone} \ --machine-type={machine_type} \ --reservation-affinity=specific \ --reservation={reservation_name} \ --provisioning-model=RESERVATION_BOUND \ --maintenance-policy=TERMINATE \ --instance-termination-action=DELETE \ [--no-address] \ [--service-account={service_account_email}] - For Cloud TPUs: Consume the auto-created reservation via the Compute Engine API using
gcloud compute instances createor a Compute Engine Managed Instance Group (gcloud compute instance-templates create+gcloud compute instance-groups managed create) with the TPU machine type (e.g.,ct6e-standard-8t),--reservation-affinity=specific,--reservation=projects/{project_id}/reservations/{reservation_name},--provisioning-model=RESERVATION_BOUND, and--maintenance-policy=TERMINATE(see Consume a TPU reservation).
Key Parameters & Planning Dimensions
- Calendar-Mode Query Flags:
--start-time-range=from={start_date},to={end_date}: Required acceptable start window in date or RFC 3339 format (e.g.,from=2026-11-01T00:00:00Z,to=2026-11-30T00:00:00Z).--duration-range=min={min_duration},max={max_duration}: Required minimum and maximum operational duration needed (e.g.,min=7d,max=14dormin=14d,max=14d). Bothminandmaxmust be provided.--location-policy={zone}={policy}: Optional per-zone inclusion/exclusion policy (ALLOWorDENY, e.g.,us-central1-a=ALLOW,us-central1-b=DENY).--tpu-version={V6E|V5P|V5E}: Supported TPU versions inadvice calendar-mode(TPU7Xis supported only infuture-reservations create, not inadvice calendar-mode).--workload-type={BATCH|SERVING}: Required when--tpu-version=V5Eand optional forV6EandV5P.BATCHoptimizes for high-throughput batch ML training;SERVINGoptimizes for low-latency concurrent ML inference requests. Do not specify for GPU or H4D VMs.
- Calendar-Mode Reservation Creation Flags:
--reservation-mode=CALENDAR: Required to create a Calendar-Mode future reservation.--planning-status=SUBMITTED: Required to submit the Calendar-Mode request for GCP review immediately (self-service Calendar-Mode requests rejectDRAFTstatus).--require-specific-reservation&--reservation-name={reservation_name}: Required to name and target the reservation that Compute Engine automatically creates atstart-time({reservation_name}must be at most 38 characters, e.g.,{future_reservation_name}-res).--deployment-type=DENSE: Required when reserving GPU or H4D VMs to ensure tightly coupled placement.--share-setting={share_type}: Optional for single-project (local) reservations; required only when sharing across consumer projects (projects, specified via--share-with).--auto-delete-auto-created-reservations: Required flag in Calendar Mode so auto-created reservations are automatically deleted atend-time(--no-auto-delete-auto-created-reservationsis rejected withCALENDAR_MODE_MISSING_AUTO_DELETE).
- Lead Times & Hardware Limits (baseline self-service limits; verify current limits dynamically via
gcloud compute advice calendar-modeor the official VM Calendar Mode and TPU Calendar Mode documentation as new hardware or limits roll out):- GPU (
a4-highgpu-8g,a3-ultragpu-8g,a3-megagpu-8g,a3-highgpu-8g,a3-edgegpu-8g) and H4D VMs (h4d-standard-192,h4d-highmem-192,h4d-highmem-192-lssd):- Instance Count (
--vm-count/--total-count):1to80VMs for GPUs (1to256VMs for H4D). Note:a2-*,g2-*, anda4x-*families are not supported in Calendar Mode. - Minimum Lead Time: Earliest start time must be at least 87 hours (3 days, 15 hours) in advance of current time.
- Booking Horizon: Can reserve up to 60 days in advance.
- Duration: Minimum 24 hours, maximum 90 days.
- Instance Count (
- Cloud TPUs:
- Valid Chip Counts (
--chip-count) by TPU Version (check the official TPU Calendar Mode documentation or CLI validation feedback if newly released TPU versions or slice sizes are requested):V6E:1, 4, 8, 16, 32, 64, 128, 256chips.V5P:4, 8, 16, 32, 64, 128, 256, 512, 1024chips (1chip is invalid; self-service requests in Calendar Mode allow up to1024chips per request).V5E(--workload-typerequired):SERVINGsupports1, 4, 8chips;BATCHsupports16, 32, 64, 128, 256chips.TPU7X(allowlist-only;future-reservations createonly; not supported inadvice calendar-mode):4, 8, 16, 32, 64, 128, 256, 512, 1024chips (1chip is invalid).
- Minimum Lead Time: Earliest start time must be at least 6 hours in advance of current time.
- Booking Horizon: Can reserve up to 120 days in advance.
- Duration: Minimum 24 hours, maximum 90 days.
- Valid Chip Counts (
- GPU (
Output Interpretation & Decision Matrix
gcloud compute advice calendar-mode returns a recommendations list containing recommendationsPerSpec.spec:
recommendations:
- recommendationsPerSpec:
spec:
endTime: '2026-11-29T00:00:00Z'
location: zones/us-central1-a
otherLocations:
zones/us-central1-b:
details: this machine family is not supported in this zone
status: NOT_SUPPORTED
recommendationId: 87cc2159-5205-4804-b764-a0ca8d10397c
recommendationType: FUTURE_RESERVATION
startTime: '2026-11-15T00:00:00Z'
Feasibility States
- FEASIBLE (Direct Match Available):
specincludesstartTime,endTime, andlocation(e.g.,zones/us-central1-a; strip thezones/prefix when passing the bare zone name such asus-central1-ato--zoneingcloud compute future-reservations create).otherLocationskeys are always intra-region zones (zones/<zone>) within the single queried--region, and may report runner-up zones within that same region withstatus: RECOMMENDED(orNO_CAPACITY,CONDITIONS_NOT_MET,NOT_SUPPORTED).- Action: Present the recommended window and copy-pasteable
gcloud compute future-reservations createcommand, and ask for explicit human approval before creating the reservation.
- INFEASIBLE / CONSTRAINED (No
startTime/locationReturned):- Hardware or window constraints prevent fulfillment in the requested region or timeframe, and all intra-region
otherLocationsentries (zones/<zone>) reportstatus: NO_CAPACITY,CONDITIONS_NOT_MET, orNOT_SUPPORTED(RECOMMENDEDis never returned whenstartTime/locationis absent, andotherLocationsnever lists other regions). - Mitigations:
- Query Alternative Regions: Re-run
gcloud compute advice calendar-mode --region={other_region}against other regions that host the target accelerator (e.g.,us-east4orus-west1). - Flex Time Window: Widen
--start-time-range=from=...,to=...to grant the scheduler a broader search window. - Shorten Duration: Reduce
--duration-rangeby breaking massive training runs into smaller checkpointed phases. - Alternative Hardware Generations: Evaluate equivalent compute alternatives (e.g., comparing
a3-highgpu-8gwitha3-megagpu-8gor newer generation TPU slices).
- Query Alternative Regions: Re-run
- Hardware or window constraints prevent fulfillment in the requested region or timeframe, and all intra-region
Operational Guardrails
- Human-Approval Guardrail & Request Immutability: Never execute mutating commands (
gcloud compute future-reservations create,cancel,delete, orgcloud compute reservations update) without explicit human approval from the user. Submitted Calendar-Mode future reservation requests cannot be modified viagcloud compute future-reservations update; only the auto-created reservation can be updated afterstart-timeviagcloud compute reservations update(for example, to modify shared consumer projects or Vertex AI access). - Compute Engine MCP Server Guardrail: The Compute Engine MCP server exposes zero tools for
AdviceService(advice calendar-mode) orFutureReservationsService, and MCPcreate_instancecannot setprovisioning_model: RESERVATION_BOUNDwhen consuming auto-created Calendar-Mode reservations. Always use thegcloudCLI. - Past Date Validation: If the user's requested reservation window or start date is in the past relative to the current date, do not generate speculative future reservation queries or commands. Ask clarifying questions requesting valid future start and end dates.
- Negative Guardrail (No Spot Capacity Telemetry): Do not use real-time Spot capacity advice (
gcloud beta compute advice capacity --provisioning-model=SPOT) or emit obtainability scores when planning future GPU/TPU reservations. Future capacity planning requires calendar-mode feasibility analysis, not real-time Spot preemption metrics.