Parking Policies

A parking policy is a set of rules that Turbonomic must satisfy when enforcing parking actions (stop and start) on public cloud entities.

Supported entities include VMs, Virtual Machine Specs (AWS Auto Scaling groups and Azure Virtual Machine Scale Sets), Database Servers (AWS RDS), and Databases (Azure dedicated SQL pools). Click Park on the main menu to see a list of parkable entities.

Parking policies take precedence over:

  • Parking actions that were manually executed from the Parking page.

  • Parking schedules that were attached to parkable entities from the Parking page.

For example, if a parking policy dictates that a VM must be started everyday from 9:00 AM to 6:00 PM, and a Turbonomic user manually stopped the VM from the Parking page at 3:00 PM, the VM will be started to comply with the parking policy.

There is no default policy for parkable entities. You must create policies to enforce parking actions. In addition, parking policies do not require you to set the scope to specific entities. Entities are matched to policies based on their membership to predefined groups – Global, Cloud Providers, Accounts, and Resource Groups (Azure only). For example, if a policy applies to a specific account, all parkable entities in that account apply the policy, including new entities added in the future.

Prioritization

When an entity matches multiple policies, any resulting conflicts are resolved using prioritization. Parking policies are prioritized in the following ways.

  1. Priority by action enforcement

    Parking Policy levels

    You can enable or disable the enforcement of parking actions in a policy. For example, you may have virtual machines in your production environment that must be running all the time. You can prevent the enforcement of parking actions by creating a parking policy that disables parking actions.

    A parking policy that disables parking actions has a higher priority than a policy that enables parking actions. When parking actions are disabled in a policy, any entity that applies the policy cannot be parked on demand (in the Parking page) or automatically using schedules. In the Parking page, the Unparkable column indicates if parking actions are currently disabled on an entity.

  2. Priority by level

    Level represents the first of two tiers of prioritization for policy matching. A policy associated with a lower level (such as Account) has a greater priority than a policy associated with a higher level (such as Global). This mitigates the complexity of prioritizing a large set of policies in a single list.

    Level is a required setting when creating parking policies.

    Parking Policy levels

    Level

    Notes

    Global

    Set a policy at the global level if you have multiple cloud providers and all parkable entities discovered from these providers must apply the same policy.

    This level has the lowest priority.

    Cloud Provider

    • AWS

    • Azure

    • Google Cloud

    Set a policy at the cloud provider level if all parkable entities discovered from a specific provider must apply the same policy.

    This level has a higher priority than Global, but a lower priority than Account or Resource Group.

    Account

    • AWS accounts

    • Azure subscriptions

    • Google Cloud projects

    Set a policy at the account level if all parkable entities discovered from specific accounts must apply the same policy.

    For AWS and Google Cloud, this level has the highest priority.

    For Azure, this level has a lower priority than Resource Group.

    Resource Group - Azure only

    Set a policy at the Resource Group level if all parkable entities discovered from specific Resource Groups must apply the same policy.

    This level has the highest priority for Azure. If you do not have Azure targets, this level will not display in the user interface, and you can start at the Account level.

  3. Priority within each level

    If you have created multiple parking policies for a given level, you can control the priority by rearranging policies via the drag-and-drop functionality in the user interface (highlighted in the following image). Priority is given from top to bottom. The current priority for each policy is indicated on the right.

    Parking policy

Points to consider:

  • A newly created policy appears last in the list. If you want the policy to have a higher priority, move it up the list.

  • Changes to the order of policies take effect on the next policy evaluation cycle. Turbonomic runs policy evaluations every 10 minutes.

  • If there are no entities applying the policy at the top of the list, the next policy will be applied to matching entities.

Example

Assume you created three policies, two at the cloud provider level and one at the global level.

Policy

Level

Policy Settings

A

Cloud Provider (first in the list)

Stop parkable entities

Saturday, 1:00 PM - 5:00 PM (America_New_York)

B

Cloud Provider (second in the list)

Stop parkable entities

Saturday, 2:00 PM - 3:00 PM (America_New_York)

C

Global

Start parkable entities

Monday - Friday, 9:00 AM - 6:00 PM (America_New_York)

A parkable entity that matches all three policies will apply policy A instead of policy B, because policy A has a higher priority. The entity will also ignore Policy C in favor of Policy A. This means that the entity will be stopped every Saturday, between 1:00 PM and 5:00 PM. No parking policies are enforced outside this window.

Creating Parking Policies

  1. Navigate to Settings > Policies.

    This opens the Policy Management Page, which lists all the currently available policies.

  2. Click New Policy > Parking Policy.

  3. Provide a meaningful name for the policy.

  4. Enable or disable the enforcement of parking actions.

  5. If a policy enables parking actions, you can attach a schedule to the policy so that actions can be enforced automatically according to the specified schedule.

    For instructions on creating parking schedules, see Managing Parking Schedules.

  6. Configure the level.

    For details about this setting, see Prioritization.

    • Global – Select Global.

    • Cloud Provider – Select one or several cloud providers.

    • Account – Expand one or several cloud providers and then select the accounts that will apply the policy.

    • Resource Group (Azure only) – Under Azure, expand one or several accounts and then select the Resource Groups that will apply the policy.

  7. Select one or several filters.

    Each policy can have filters applied on top of the chosen level. This gives you more fine-grained control over which schedule should apply to each entity. Filters do not the change the priority of a policy.

    Filter

    Expressions

    Input

    Name

    equals (regex), not equals (regex)

    Text

    Tag

    equals, not equals

    Multi-text (tag name and tag value)

    Guest OS

    equals (regex), not equals (regex)

    Text

    Instance Type

    equals, not equals

    Multi-select

    Region

    equals, not equals

    Multi-select

  8. Click Save Policy.

Managing Parking Policies

You can perform any of the following tasks after creating policies.

  • Drag and drop policies within the same level, as needed. Remember that priority is given from top to bottom.

  • Delete a policy by selecting the policy and then clicking the trash bin icon.