Cloud Services

Enterprise Marketplace

Service Chaining
Published On Sep 20, 2024 - 9:47 AM

Service Chaining

Bundle services together so your users can order multiple services at once.
In addition to being ordered separately, services can be linked together with other services so that the entire chain can be ordered at the same time. This feature allows you to bundle together groups of services that are ordered at the same time, saving time while ordering and managing the stacks. This group of services is called a pattern. Only services based on Terraform are supported.
As part of a pattern, you can optionally link parameters so that entering information for one parameter will automatically fill in the linked parameter in a subsequent service in the chain. Limiting the number of services to 10 is recommended. The hard limit is 25. You can link some or all of the services in the chain. Links are optional.
To learn more about navigating to the different services from each tenant, refer to Landing page navigation or Kyndryl Bridge Landing page navigation.
The
Service Chaining
page shows all existing patterns in the system. They are categorized as
Drafts
(not yet available on the Catalog),
Published
(available in the Catalog), and
Retired
(removed from the Catalog) on separate tabs. 
In addition, patterns can be labeled as
Blocked
, which means that one or more services in the pattern have been retired. To correct the problem, edit the pattern if it is in Draft status or clone it, remove the retired services, and replace the original with the clone.
Published patterns cannot be edited or deleted. A published pattern can be cloned and then edited freely.

Roles required

The following roles can access the Service Chaining feature:
  • Catalog Admin
  • Service Designer

Prerequisites

Your system needs to meet these minimums:
  • vSphere VMware 8.0 or later
  • The
    em_bcm_6334_beta
    UI flag must be set to
    true
    before Service Chaining can be used. It is set to true by default.
  • A Regular CT tenant. Other tenant types such as Service Provider and Managed are not supported.

Locating a pattern

The
Service Chaining
page provides a
Search
bar that allows you to locate patterns containing the terms you enter. You can also filter the patterns using these types of items. If the specific item is not visible, click
<number> More
under the category to display all of the terms in that category.
  • Provider
  • Category
  • Label
Only patterns in the tab that you are viewing that meet your criteria will be displayed. However, the counts next to the checkbox items will show all of the patterns that meet that criteria across all three tabs (
Drafts
,
Published
, and
Retired
).

Creating a pattern

To create a new pattern, complete these steps.
The services to be included in the pattern must already be Published in the system. For more information, see Provider management.
  1. Click
    Create Pattern
    .
  2. Enter the following parameters and then click
    Next
    :
    • Name:
      Enter a meaningful name for the pattern.
    • Category:
      Select a category from the provided options. For more information about categories, see Provider management.
    • Description:
      Enter an optional more detailed description of the service chain.
    • Composable Pattern:
      Select this if you want all of the subsequent services in the pattern to be provisioned based on what is entered in and generated for the first service. For more information, see Composable patterns.
    • Failure Management:
      If you select this option, if the provisioning of one of the stacks in the pattern fails, the system will delete that stack and all the stacks that have been provisioned for that pattern automatically.
    • Add Labels:
      You can add labels to help identify the pattern in a search. You can select
      Existing Labels
      that are already in your system, or you can enter one in the
      New Label
      field and then click
      New Label
      to add it to the list. Existing labels are listed in blue, and new labels in green.
    • Upload Image:
      Click this link to navigate to an image that will represent the card for the pattern in the UI. The image must be 5 MB or less. The supported extensions are bmp, jpg, jpeg, png, jfif, and svg.
  3. Select what type of sources are involved by completing these fields.
    • Select Provider:
      Select the provider that you want to use services from. The following providers are supported. Of these, AWS, Microsoft Azure, and VMware vSphere have been tested. Up to five providers can be used in a pattern.
      • Alibaba Cloud
      • Amazon Web Services (AWS)
      • Microsoft Azure
      • Google Cloud Platform (GCP)
      • IBM Cloud
      • Red Hat Marketplace
      • Terraform Automation
      • ServiceNow
      • VMware vSphere
    • Select Source:
      Select the type of source you want to use. Currently the only option is
      Service
      .
  4. A list of available services for the provider that you selected is displayed in the left navigation pane. You can switch providers at any time to get the list of services for that provider. Create your chain by dragging and dropping services onto the canvas. Each service that you place will appear as an icon on the canvas that lists its type in bold and the name of the provider as well as allowing you to
    Copy
    and
    Delete
    them using the icons. Services from up to five providers can be freely mixed in a chain. The order that you add the services in will be the order in which they are presented when your users order them unless you link them. For more information, see the next step.
    Use the scroll bars as needed to navigate the mapping area. You can zoom in and out using the controls in the lower right. You can also expand to canvas to full screen using the full screen icon.
    If you add multiple versions of the same service, the second and subsequent items will have _copy_1 and so on appended to the end of them so you can tell them apart. You can give each copy an alias as well. Click the
    Pencil
    icon in the
    Alias
    section of the item and then provide an alias in the
    Edit Service Alias
    window. Click
    Save
    when done.
  5. The output of services can be used as the input for subsequent services by linking their parameters. If the parameter that you want to link to does not exist, you can create a parameter by clicking the service and clicking
    Add Static Parameter
    on the
    Output Parameters
    tab that opens by default, entering the following parameters, and clicking
    Save
    . The custom parameter will be displayed in green, and can be freely edited and used as input in subsequent services as part of a linked parameter.
    • Data Type:
      Select the type of data from the following options:
      • Number
      • String
    • Key:
      Enter the key value for the parameter.
    • Value:
      Enter the value for the key.
  6. The output parameters of a service earlier in the sequence can be used as input for the services later in the sequence. To link parameters in this way, click
    Add Linked Parameter
    in the parameter that you want to link to in the
    Service Details
    pane, enter the following parameters, and then click
    Save
    . The linked parameter will appear as a line between the two resources and is listed in the
    Linked Parameters between Services
    section in the
    Service Details
    pane for both services. Any number of services can be linked together in this manner. All the services must be either not bound or all bound into a single chain. Multiple chains are not supported. The parent-child relationships are used to determine which service is presented to your users first during ordering. The parents are presented first, followed by their children, and then their children.
    Care must be taken that the bindings are technically correct. The system does not verify the bindings during the creation process. If the bindings are incorrect, the provisioning process will fail with an error.
    • Target Service:
      The child service that you want to bind to. This is automatically the service that you are creating the Linked Parameter in.
    • Target Parameter:
      Select the parameter in the child service that you want to bind to the output of an earlier service.
    • Source:
      Select the service that you want to use the output from (the parent service). This can be either an offering or a condition. For conditions, only parameters that are common in all the branch offerings are available for selection.
    • Source Type:
      Select from the following source types, which will open a new field to select the parameter in the parent source that you want to use.
      • Output Parameter:
        Any parameter that is generated when the service is provisioned. If this information is in the JSON format, select the checkbox below the field. If you select this, you will need to enter the JSON path in the field that is displayed. Enter the complete, strict JSON path complete with any underscores, backslashes, and colons
      • Input Parameter:
        Any parameter that is entered by the user during provisioning.
      • System Configuration:
        Any parameter set during the creation of the service by a catalog admin. You need to select the Source and the System Configuration from the fields that are displayed.
      • Pattern Instance:
        Any metadata of the pattern itself, either entered or system generated, such as the name of the pattern, the pattern ID, and so on.
      • Requestor Additional Info:
        Any data added after the user places the order. If this information is in the JSON format, select the checkbox below the field. If you select this, you will need to enter the JSON path in the field that is displayed. Enter the complete, strict JSON path complete with any underscores, backslashes, and colons
      • Plain String:
        Sets a default for the parameter when provisioning the pattern. Enter the value you want to use in the
        Enter String
        field that is displayed.
  7. In addition to linking services together with parameters, you can also create branching paths so that one branch or the other is selected based on criteria that you set. The conditional rule that determines what branch to take is defined as a node just like the services themselves. When a condition node is reached, the set of rules in that node are evaluated in the same order as they were defined. When a rule is matched, that branch of the pattern is selected and those services will be displayed to the user for provisioning. The nodes on any branch that is not taken are orphaned and will not be included when the order is submitted. You can include multiple additional nodes, including other conditional rules, within a branch. Any nodes that come after the branch should have the conditional rule node set as their parent so they will be provisioned after the branch has been completed. To set a conditional rule, complete these steps:
    1. Click the
      Condition
      link.
    2. Enter a
      Condition Name
      and select the
      Parent Link
      from the drop-down menu.
    3. Add all the rules that you want to use to determine which branch to use. Click
      Add
      , enter all these parameters and click
      Save
      for each rule:
      • Source Parameter:
        Select either
        Input Parameter
        , which are parameters that are entered during the ordering process, or
        System Configurations
        that are predefined parameters.
      • Source Service Offering:
        Select the parent from which the branching will occur. This parent must include the parameters that are used to determine the condition.
      • Input Parameters:
        The parameter that will be used in the conditional rule.
      • Conditional Parameter:
        Select the type of rule that you want to use:
        • Less than or equal to
        • Greater than or equal to
        • Not equal to
        • Equal to
        • Less than
        • Greater than
      • Value:
        Enter the value that will determine the rule, such as OS equal to linux.
      • Target Service Offering:
        When the rule is true, this in the offering is next in the chain, such as ec2-for-chaining-linux when the OS is Linux.
    4. Click
      Save Condition
      .
    5. If you use conditions, you can either add more offerings to each branch as normal, or you can have each branch node lead to a single offering by completing these steps:
      1. Click the child offering that you want to occur after the conditional split.
      2. Click the
        Sequence
        tab.
      3. Click
        Add
        .
      4. In the
        Parent/Source
        field, instead of selecting an offering, select the condition that you created. It will be displayed as Condition :: [Condition Name].
      5. Click
        Save
        .
  8. Click
    Create Pattern
    . The new pattern will be displayed in the
    Service Chaining
    page on the
    Drafts
    tab.
Binding parameters have the following rules:
  • If you bind a parameter from one service to another (service1 → service2), you cannot have a second binding in the opposite direction (service2 → service1) because this will create a cyclic dependency between the two. This limitation includes the entire chain, so for example if you have service1 → S02 → service3, you cannot link service3 → service1.
  • All the services must be either not bound or all bound into a single chain. Multiple chains are not supported.
The order that the service appear in when the users order the pattern is either the order in which you added them for a pattern without bindings, or based on the child-parent relationships as shown in the diagram if the pattern has bindings. You can also set the order using Sequencing patterns.

Sequencing patterns

The sequencing feature was recently released to select clients that allows you to set the order in which the services are presented to your users without requiring you to link parameters.
Sequencing allows you to create branching chains. In this case, the child service that was added first will be displayed first in the ordering sequence.
Service Chaining sequencing is in limited release and might not be available on your tenant. For more information about enabling this flag, contact your Kyndryl representative. If you have the flag enabled, these procedures are used instead of those in step 6 of Creating a pattern.
To set the order in which the services will be displayed, complete these steps:
  1. Click the service that you want to link to.
  2. On the details window for the service, click the
    Links
    tab.
  3. Click
    Add Link
    .
  4. Select
    Without Parameter
    or
    With Parameter
    .
  5. The service that you selected is automatically filled in as the
    Target Service
    . Select the
    Source Service
    using the dropdown.
  6. If you selected
    With Parameter
    , select the
    Target Parameter
    from the dropdown that shows the parameters in the target service, and the
    Source Parameter
    from the source service.
    The system will check to see if you have created a cyclic dependency and display an error message in that case.
  7. If the source parameter is JSON, select
    Do you think the selected "Source Parameter" is a JSON?
    If you select this, you will need to enter the JSON path in the field that is displayed. Enter the complete, strict JSON path complete with any underscores, backslashes, and colons like the example shown below. Stringified JSON is not allowed. In this example,
    key = "command_output"
    and
    path = "datacenter"
    where the path resolves to a string value.
    "command_output": { "value": { "cp4mcm_connection": "{CONNECTION}", "datacenter": "{DATA_CENTER}", "dvswitch": "anthwdc04-cp4mcm-dummy-nodelete" }, "type": [ "map", "string" ] }
  8. Click
    Add
    .
Links can be edited by clicking the service and clicking the
Pencil
icon for the link you want to change. You can change a link with parameters to one without, and vice versa.

Adding conditions to patterns

In addition to linking services together with parameters, you can also create branching paths so that one branch or the other is selected based on criteria that you set. The conditional rule that determines what branch to take is defined as a node just like the services themselves. When a condition node is reached, the set of rules in that node are evaluated in the same order as they were defined. When a rule is matched, that branch of the pattern is selected and those services will be displayed to the user for provisioning.The nodes on any branch that is not taken are orphaned and will not be included when the order is submitted. You can include multiple additional nodes, including other conditional rules, within a branch. Any nodes that are come after the branch should have the conditional rule node set as their parent so they will be provisioned after the branch has been completed.
All services that are part of a branch are exclusive to that branch. If you want to use the same service in multiple branches, create duplicates of that service and add them to each branch.
To create a branching pattern, use the following API. In this pattern, NodeIds 1 and 2 are first. After NodeId 2, nodeId 5 is invoked that determines whether the operating system is Linux or Windows. If it is Linux, the chain continues with nodeId 3. Otherwise it continues with nodeId 4. After one of those branches is complete, the provisioning continues with nodeId 6.
  • API
    :
    POST /catalog/v2/admin/patterns
  • Sample payload:
{ "providers": [ "aws" ], "source": [ "serviceoffering" ], "status": "WorkInProgress", "chainedSOs": [ { "nodeId": "1", "serviceOfferingId": "9ded9fa4-b3af-497f-a6fb-62458c35cf42", "name": "vpc-for-chaining", "alias": "", "additionalOutputParams": [], "bindingParameters": {}, "provider": "aws", "providerCode": "aws", "nodeType": "serviceoffering", "parents": [] }, { "nodeId": "2", "serviceOfferingId": "e5c41b98-b887-43d7-b1ac-0ba4ad0cb897", "name": "subnet-for-chaining", "alias": "", "additionalOutputParams": [], "bindingParameters": { "vpc_id": "${chained.1.output.vpc_id}" }, "provider": "aws", "providerCode": "aws", "nodeType": "serviceoffering", "parents": [ "1" ] }, { "nodeId": "3", "serviceOfferingId": "2235db11-36be-4f06-8fd9-1cd0b2a0e310", "name": "ec2-for-chaining-linux", "alias": "", "additionalOutputParams": [], "bindingParameters": { "subnet_id": "${chained.2.output.subnet_id}" }, "provider": "aws", "providerCode": "aws", "nodeType": "serviceoffering", "parents": [] }, { "nodeId": "4", "serviceOfferingId": "fa8d27e1-8675-4827-bdc1-6e3ce67a9942", "name": "ec2-for-chaining-windows", "alias": "", "additionalOutputParams": [], "bindingParameters": { "subnet_id": "${chained.2.output.subnet_id}" }, "provider": "aws", "providerCode": "aws", "nodeType": "serviceoffering", "parents": [] }, { "nodeId": "6", "serviceOfferingId": "beb0c57e-d8fb-4a3b-89eb-d81fdf69f27f", "name": "network-interface-for-chaining", "alias": "", "additionalOutputParams": [], "bindingParameters": { "subnet_id": "${chained.2.output.subnet_id}", "instance_id": "${chained.5.output.instance_id}" }, "provider": "aws", "providerCode": "aws", "nodeType": "serviceoffering", "parents": [ "5" ] } ], "conditions": [ { "name": "OS Condition", "alias": "", "nodeId": "5", "nodeType": "decision", "parents": [ "2" ], "rules": { "3": [ "chainedSO.2.input.items[1].configGroups[2].configs[0].selectedValues[0].label==linux" ], "4": [ "chainedSO.2.input.items[1].configGroups[2].configs[0].selectedValues[0].label==windows" ] } } ], "patternName": "conditioning-test-6", "description": "", "rollbackOnError": true, "logo": "", "category": [ "compute" ], "labels": [] }
Keep in mind the following guidelines when adding conditions:
  • All branching service nodes belonging to a condition must have empty parents array and cannot be sequenced together with other regular service nodes.
  • Any regular service node pointing to the condition node as its parent will eventually point to the selected branch node after the condition's rule evaluation.
  • The selected branch node will eventually point to the parent of the condition node as its parent
  • It is possible to have a chain of regular service nodes originating from the all or some branch nodes, In this case all the unselected branch nodes are considered orphaned and child nodes of the orphaned nodes are also considered orphaned nodes and all orphaned nodes are deleted in the final result at the time of order submission
  • Condition nodes should only have a single parent, otherwise the behavior is not known or undefined.
  • You can create multiple condition nodes and have them sequenced in multiple different ways in the pattern definition.
To submit an order for a pattern with conditions, use this API:
  • API
    :
    POST /orders/v2/submit
  • Sample request payload:
{ "patternId": "07c23c98-dbe0-11ee-b967-be34a138c43a", "patternInstancePrefix": "mytest-pattern", "patternName": "conditioning-test-6", "context": [ { "tagValueCode": "Consume_Team1", "tagType": "team" }, { "tagValueCode": "admin_org", "tagType": "org" } ], "requestorAdditionalInfo": { "presetParams": {} }, "items": [ { "providerCode": "aws", "serviceOfferingId": "9ded9fa4-b3af-497f-a6fb-62458c35cf42", "providerAccountRefId": "1e55349d-db54-4b9b-8a85-529d601e6837", "providerCredentialRefId": "ef608a71-c648-4e1a-970f-2e194c225b73", "nodeId": "1", "serviceInstancePrefix": "vpc-for-chaining", "quantity": 1, "configGroups": [ { "configGroupCode": "Configure Region", "sections": [], "configs": [ { "configId": "AWS::Region", "selectedValues": [ { "label": "us-east-1", "valueId": "us-east-1" } ] } ] }, { "configGroupCode": "Aws vpc main", "sections": [], "configs": [ { "configId": "cidr_block", "selectedValues": [ { "label": "10.0.0.0/16", "valueId": "10.0.0.0/16" } ] }, { "configId": "instance_tenancy", "selectedValues": [ { "label": "default", "valueId": "default" } ] } ] } ], "additionalServices": [], "alias": "vpc-for-chaining" }, { "providerCode": "aws", "serviceOfferingId": "e5c41b98-b887-43d7-b1ac-0ba4ad0cb897", "providerAccountRefId": "1e55349d-db54-4b9b-8a85-529d601e6837", "providerCredentialRefId": "ef608a71-c648-4e1a-970f-2e194c225b73", "nodeId": "2", "serviceInstancePrefix": "subnet-for-chaining", "quantity": 1, "configGroups": [ { "configGroupCode": "Configure Region", "sections": [], "configs": [ { "configId": "AWS::Region", "selectedValues": [ { "label": "us-east-1", "valueId": "us-east-1" } ] } ] }, { "configGroupCode": "Aws subnet public_subnet", "sections": [], "configs": [ { "configId": "vpc_id", "selectedValues": [ { "label": "_binding_parameter_", "valueId": "_binding_parameter_" } ] }, { "configId": "cidr_block", "selectedValues": [ { "label": "10.0.1.0/24", "valueId": "10.0.1.0/24" } ] }, { "configId": "availability_zone", "selectedValues": [ { "label": "us-east-1a", "valueId": "us-east-1a" } ] } ] }, { "configGroupCode": "Configurations", "sections": [], "configs": [ { "configId": "operating_system", "selectedValues": [ { "label": "windows", "valueId": "windows" } ] } ] } ], "additionalServices": [], "alias": "subnet-for-chaining" }, { "providerCode": "aws", "serviceOfferingId": "2235db11-36be-4f06-8fd9-1cd0b2a0e310", "providerAccountRefId": "1e55349d-db54-4b9b-8a85-529d601e6837", "providerCredentialRefId": "ef608a71-c648-4e1a-970f-2e194c225b73", "nodeId": "3", "serviceInstancePrefix": "ec2-for-chaining-linux", "quantity": 1, "configGroups": [ { "configGroupCode": "Configure Region", "sections": [], "configs": [ { "configId": "AWS::Region", "selectedValues": [ { "label": "us-east-1", "valueId": "us-east-1" } ] } ] }, { "configGroupCode": "Aws instance server", "sections": [], "configs": [ { "configId": "ami", "selectedValues": [ { "label": "ami-0b5eea76982371e91", "valueId": "ami-0b5eea76982371e91" } ] }, { "configId": "instance_type", "selectedValues": [ { "label": "t2.micro", "valueId": "t2.micro" } ] }, { "configId": "subnet_id", "selectedValues": [ { "label": "_binding_parameter_", "valueId": "_binding_parameter_" } ] } ] } ], "additionalServices": [], "alias": "ec2-for-chaining-linux" }, { "providerCode": "aws", "serviceOfferingId": "fa8d27e1-8675-4827-bdc1-6e3ce67a9942", "providerAccountRefId": "1e55349d-db54-4b9b-8a85-529d601e6837", "providerCredentialRefId": "ef608a71-c648-4e1a-970f-2e194c225b73", "nodeId": "4", "serviceInstancePrefix": "ec2-for-chaining-windows", "quantity": 1, "configGroups": [ { "configGroupCode": "Configure Region", "sections": [], "configs": [ { "configId": "AWS::Region", "selectedValues": [ { "label": "us-east-1", "valueId": "us-east-1" } ] } ] }, { "configGroupCode": "Aws instance server", "sections": [], "configs": [ { "configId": "ami", "selectedValues": [ { "label": "ami-0ee25f582ea1faaac", "valueId": "ami-0ee25f582ea1faaac" } ] }, { "configId": "instance_type", "selectedValues": [ { "label": "t2.micro", "valueId": "t2.micro" } ] }, { "configId": "subnet_id", "selectedValues": [ { "label": "_binding_parameter_", "valueId": "_binding_parameter_" } ] } ] } ], "additionalServices": [], "alias": "ec2-for-chaining-windows" }, { "providerCode": "aws", "serviceOfferingId": "beb0c57e-d8fb-4a3b-89eb-d81fdf69f27f", "providerAccountRefId": "1e55349d-db54-4b9b-8a85-529d601e6837", "providerCredentialRefId": "ef608a71-c648-4e1a-970f-2e194c225b73", "serviceInstancePrefix": "ec2-for-chaining-windows", "quantity": 1, "nodeId": "6", "configGroups": [ { "configGroupCode": "Configure Region", "sections": [], "configs": [ { "configId": "AWS::Region", "selectedValues": [ { "label": "us-east-1", "valueId": "us-east-1" } ] } ] }, { "configGroupCode": "Aws network interface network_interface", "sections": [], "configs": [ { "configId": "subnet_id", "selectedValues": [ { "label": "_binding_parameter_", "valueId": "_binding_parameter_" } ] }, { "configId": "instance_id", "selectedValues": [ { "label": "_binding_parameter_", "valueId": "_binding_parameter_" } ] } ] } ], "additionalServices": [] } ] }

Composable patterns

The pattern can be set up so that the end user only needs to enter information in the first service offering, after which the other catalogs are automatically provisioned using that information. The other service offerings will be automatically provisioned using the bound parameters with no additional action needed from the user. To set up this, called a composable pattern, complete these steps while creating a pattern.
All parameters in the subsequent services in the pattern must be either linked to the first service or have a Plain String set for them.
  1. Create the pattern as normal. While entering the pattern metadata, select
    Composable Pattern
    .
  2. Sequence the services as normal.
  3. For each parameter in each subsequent service in the pattern, complete these steps:
    1. Click the service.
    2. Click the
      Bindings
      tab.
    3. Click
      Add
      .
    4. Enter the following parameters and then click
      Save
      :
      • Target Service Offering:
        This is automatically the service that you have selected, which must be the child of the first service in the pattern.
      • Target Parameter:
        Select the parameter in the child service that you want to bind to the parent service.
      • Source Type:
        Select from the following source types:
        • Output Parameter:
          Any parameter that is generated when the service is provisioned. If this information is in the JSON format, select the checkbox below the field. If you select this, you will need to enter the JSON path in the field that is displayed. Enter the complete, strict JSON path complete with any underscores, backslashes, and colons.
        • Input Parameter:
          Any parameter that is entered by the user during provisioning.
        • System Configuration:
          Any parameter set during the creation of the service by a catalog admin. You need to select the
          Source
          and the
          System Configuration
          from the fields that are displayed.
        • Pattern Instance:
          Any metadata of the pattern itself, either entered or system generated, such as the name of the pattern, the pattern ID, and so on.
        • Requestor Additional Info:
          Any data added after the user places the order. If this information is in the JSON format, select the checkbox below the field. If you select this, you will need to enter the JSON path in the field that is displayed. Enter the complete, strict JSON path complete with any underscores, backslashes, and colons.
        • Plain String:
          Sets a default for the parameter when provisioning the pattern. Enter the value you want to use in the
          Enter String
          field that is displayed.
The bindings are listed on the
Bindings
tab. You can
View
and
Delete
them freely using the
Action
icon for each binding.

Managing patterns

To manage patterns, click the
Actions
icon for that pattern on the
Service Chaining
page. The options vary based on what state the pattern is in. Select
View
to view details about the parameters.
For Drafts, these options are available:
  • View:
    View the details of the pattern. See Creating a pattern for details about the fields.
  • Edit:
    Allows you to open the pattern and make changes. The steps are the same as Creating a pattern.
  • Preview:
    View the pattern as it will appear to users of the Catalog.
  • Publish:
    Depending on the status of the pattern, either make it available for use in the Catalog or remove it from the Catalog.
  • Clone:
    Create a duplicate of the pattern that you can then customize as desired. The cloned pattern will be created in the Work in Progress status.
  • Delete:
    Permanently remove the pattern from the system.
For Published chains, these options are available:
  • View:
    View the details of the pattern. See Creating a pattern for details about the fields.
  • Clone:
    Create a duplicate of the pattern that you can then customize as desired. The cloned pattern will be created in the Work in Progress status.
  • Retire:
    Remove the pattern from the Catalog so that it can no longer be ordered.
For Retired chains, these options are available:
  • View:
    View the details of the pattern. See Creating a pattern.
  • Clone:
    Create a duplicate of the pattern that you can then customize as desired. The cloned pattern will be created in the Work in Progress status.
  • Unretire:
    Changed the pattern back into the Drafts status.
  • Delete:
    Permanently remove the pattern from the system.
A pattern goes into the Block state if one or more services in the pattern are retired. The pattern will be displayed with a
Blocked
icon. To unblock a pattern, either edit it to removed the retired services or, if it has been published, clone it and edit out the services and replace the original with the cloned version.

Known issues

The following are the known issues for Service Chaining.
  • The following features are not supported:
    • Base price of the pattern
    • Quote generation
    • Shopping carts
  • After a Logo has been added, it cannot be removed.
  • Services cannot be moved on the planning pane after they are added to a chain.
  • Hard to distinguish service names in the
    Select Service
    dropdown list.
  • Information related to patterns is not available on the
    Approve Order
    page.
  • The actual values of bound parameters do not appear during the ordering process. They are displayed as __binding_parameter__.
  • No dropdown option for Pattern Order is available on the Order History page to view individual service status.
  • Day2Ops is not supported.
  • When patterns that have multiple copies of services have these options:
    1. When the patterns are Completed with Failure, some resources are not getting deleted properly.
    2. When Retrying a pattern that is Completed with Failure, the order is displayed as completed successfully but some of the targeted resources are not deleted.
  • Service components are still loading after deletion of a pattern.
  • Linking of the configurations of one service to another is not allowed. Services can only be linked using output parameters.
  • Using a Static Parameter of the type JSON/Object as a Linked Parameter is not supported.
Do you have two minutes for a quick survey?
Take Survey