Managing Isolation Segments

Page last updated:

This topic describes how operators can isolate deployment workloads into dedicated resource pools called isolation segments.

Requirements

You must have Cloud Foundry Command Line Interface (cf CLI) v.6.26.0 or later installed to manage isolation segments. To download the latest version of the cf CLI, see the Releases section of the Cloud Foundry CLI repository on GitHub. For more information about installing the cf CLI, see Installing the cf CLI.

Target the API endpoint of your deployment with cf api and log in with cf login before performing the procedures in this topic. For more information, see the Identifying the API Endpoint for your PAS Instance topic.

Overview

To enable isolation segments, an operator must install the PCF Isolation Segment tile by performing the procedures in the Installing PCF Isolation Segment topic. Installing the tile creates a single isolation segment.

After an admin creates a new isolation segment, the admin can then create and manage relationships between the orgs and spaces of a Pivotal Application Service (PAS) deployment and the new isolation segment.

Create an Isolation Segment

Before you create an isolation segment in PCF, you must install the PCF Isolation Segment tile by performing the procedures in the Installing PCF Isolation Segment topic.

To register an isolation segment with Cloud Controller, use the cf CLI.

Note: The isolation segment name used in the cf CLI command must match the value specified in the Segment Name field of the PCF Isolation Segment tile. If the names do not match, PCF fails to place apps in the isolation segment when apps are started or restarted in the space assigned to the isolation segment.

To create an isolation segment:

  1. Log in to your deployment by running:

    cf login
    
  2. Run:

    cf create-isolation-segment SEGMENT-NAME
    

    Where SEGMENT-NAME is the name you give your isolation segment.

If successful, the command returns an OK message:

Creating isolation segment SEGMENT-NAME as admin...
OK

Retrieve Isolation Segment Information

The cf isolation-segments, cf org, and cf space commands retrieve information about isolation segments. The isolation segments you can see depends on your role, as follows:

  • Admins see all isolation segments in the system.
  • Other users only see the isolation segments that their orgs are entitled to.

List Isolation Segments

To see a list of the isolation segments that are available to you:

  1. Log in to your deployment by running:

    cf login
    
  2. Run:

    cf isolation-segments
    

The command returns results similar to this example output:

Getting isolation segments as admin...
OK

name           orgs
SEGMENT-NAME     org1, org2

Display Isolation Segments Enabled for an Org

An admin can entitle an org to multiple isolation segments.

To view the isolation segments that are available to an org:

  1. Log in to your deployment by running:

    cf login
    
  2. Run:

    cf org ORG-NAME
    

    Where ORG-NAME is the name of your org.

The command returns results similar to this example output:

Getting info for org ORG-NAME as user@example.com...

name:                 ORG-NAME
domains:              example.com, apps.example.com
quota:                paid
spaces:               development, production, sample-apps, staging
isolation segments:   SEGMENT-NAME, SEGMENT-NAME-2

Show the Isolation Segment Assigned to a Space

Only one isolation segment can be assigned to a space.

To view the isolation segment assigned to a space:

  1. Log in to your deployment by running:

    cf login
    
  2. Run:

    cf space SPACE-NAME
    

    Where SPACE-NAME is the name of the space to which your isolation segment is assigned.

For example:

The command returns results similar to this example output:

name:                staging
org:                 ORG-NAME
apps:
services:
isolation segment:   SEGMENT-NAME
space quota:
security groups:     dns, p-mysql, p.mysql, public_networks, rabbitmq, ssh-logging

Delete an Isolation Segment

Note: An isolation segment with deployed apps cannot be deleted.

Only admins can delete isolation segments.

To delete an isolation segment:

  1. Log in to your deployment by running:

    cf login
    
  2. Run:

cf delete-isolation-segment SEGMENT-NAME

Where SEGMENT-NAME is the name of the isolation segment you want to delete.

If successful, the command returns an OK message:

$ cf delete-isolation-segment SEGMENT-NAME
Deleting isolation segment SEGMENT-NAME as admin...
OK

Manage Isolation Segment Relationships

The commands listed in the sections below manage the relationships between isolation segments, orgs, and spaces.

Enable an Org to Use Isolation Segments

Only admins can enable orgs to use isolation segments.

To enable the use of an isolation segment:

  1. Log in to your deployment by running:

    cf login
    
  2. Run:

    cf enable-org-isolation ORG-NAME SEGMENT-NAME
    

    Where:

    • ORG-NAME is the name of your org.
    • SEGMENT-NAME is the name of the isolation segment you want your org to use.

If an org is entitled to use only one isolation segment, that isolation segment does not automatically become the default isolation segment for the org. You must explicitly set the default isolation segment of an org. For more information, see Set the Default Isolation Segment for an Org.

Disable an Org from Using Isolation Segments

Note: You cannot disable an org from using an isolation segment if a space within that org is assigned to the isolation segment. Additionally, you cannot disable an org from using an isolation segment if the isolation segment is configured as the default for that org.

To disable an org from using an isolation segment:

  1. Log in to your deployment by running:

    cf login
    
  2. Run:

    cf disable-org-isolation ORG-NAME SEGMENT-NAME
    

    Where:

    • ORG-NAME is the name of your org.
    • SEGMENT-NAME is the name of the isolation segment you want to disable the org from using.

If successful, the command returns an OK message:

Removing entitlement to isolation segment SEGMENT-NAME from ORG-NAME as admin...
OK

Set the Default Isolation Segment for an Org

Note: This section requires cf CLI v6.29.0 or later. To download cf CLI v6.29.0 or later, go to the Releases section of the Cloud Foundry CLI repository on GitHub.

Only admins and org managers can set the default isolation segment for an org.

When an org has a default isolation segment, apps in its spaces belong to the default isolation segment unless you assign them to another isolation segment. You must restart running apps to move them into the default isolation segment.

To set the default isolation segment for an org:

  1. Log in to your deployment by running:

    cf login
    
  2. Run:

    cf set-org-default-isolation-segment ORG-NAME SEGMENT-NAME
    

    Where:

    • ORG-NAME is the name of your org.
    • SEGMENT-NAME is the name of the isolation segment you want to set as your org’s default.

If successful, the command returns an OK message:

$ cf set-org-default-isolation-segment ORG-NAME SEGMENT-NAME
Setting isolation segment SEGMENT-NAME to default on ORG-NAME as admin...
OK

To display the default isolation segment for an org:

  1. Run:

    cf org
    

Assign an Isolation Segment to a Space

Admins and org managers can assign an isolation segment to a space. Apps in that space start in the specified isolation segment.

To assign an isolation segment to a space, you must first enable the space’s org to use the isolation segment. For more information, see Enable an Org to Use Isolation Segments.

To assign an isolation segment to a space:

  1. Log in to your deployment by running:

    cf login
    
  2. Run:

    cf set-space-isolation-segment SPACE-NAME SEGMENT-NAME
    

    Where:

    • SPACE-NAME is the name of your space.
    • SEGMENT-NAME is the name of the isolation segment you want to assign to your space.

Reset the Isolation Segment Assignment for a Space

Admins can reset the isolation segment assigned to a space to use the org’s default isolation segment.

To assign the default isolation segment for an org to a space:

  1. Log in to your deployment by running:

    cf login
    
  2. Run:

    cf reset-space-isolation-segment SPACE-NAME
    

    Where SPACE-NAME is the name of the space to which you want to assign your org’s default isolation segment.