Upload a Custom Service Design
Custom service designs can be created in two ways:
Create a new custom service design from scratch—A custom service design can be designed specifically for your use case and tailored for requirements that are not met by existing designs. You have flexibility in designing workflow, configuration, and user interface to suit your requirements.
Leverage and customize an existing service design—A leveraged custom service design, reuses an existing service design, inherits the workflow, configuration, and user interface of the base service design, and eliminates the need to build it from scratch. The existing service designs offered by Routing Director are L3VPN, E-LAN EVPN CSM, E-Line EVPN VPWS CSM, and E-Line L2 Circuit NSM, which can be customized and used to provision L3VPN, EVPN, EVPN-VPWS, and L2 circuit services, respectively.
To create and customize a service design, you must contact Juniper Networks Professional Services. The Juniper
Networks Professional Services team provides you with a
custom
service design file in the .tgz format. Additionally, they will
also provide you with common.tgz and
network-resource.tgz files with corresponding configurations
that map
to
the
custom
service design.
To upload the customized service design to the GUI (Orchestration > Service > Service Catalog), perform the following steps:
Log in to the Deployment Shell CLI as the root user.
Type
exitto exit Deployment Shell to the Linux root shell.Start a cMGD pod using the following command:
root@node:~# kubectl -n foghorn scale --replicas=1 deployments/cmgd deployment.apps/cmgd scaled
Launch the service orchestration cMGD CLI bash shell using the following command:
root@node:~# kubectl -n foghorn exec -it -c cmgd deployment/cmgd -- bash root@cmgd-6866d5d9c9-4bwsr>
You are now logged in to the service orchestration cMGD CLI bash shell.
Copy the custom service design file and the dependent files required to upload a custom service design to the
/data-models/projectsfolder in the service orchestration cMGD CLI.In this topic, we refer to a custom service design file
CSD.tgz.Copy the
CSD.tgzfile as well as thecommon.tgzandnetwork-resource.tgzfiles to the/data-models/projectsfolder. Thecommon.tgzandnetwork-resource.tgzfiles are the dependency files.Type
cliand press Enter to launch the CLI mode.View organizations available in Routing Director to add the custom service design.
root@cmgd-6866d5d9c9-4bwsr> show routing director orgs Org-Name Org-ID SD-test cd71dd08-72bb-4697-b516-655de87f69c6
Where:
Org-Nameis the name of the organization created in Routing Director.Org-IDis the unique auto-generated alphanumeric ID assigned to the organization.Enter the configuration mode.
root@cmgd-6866d5d9c9-4bwsr> configure Entering configuration mode [edit]
Configure the organization ID to set the context of all tasks required to add the custom service design.
root@cmgd-6866d5d9c9-4bwsr# set foghorn:core org-id cd71dd08-72bb-4697-b516-655de87f69c6 [edit]
Where:
cd71dd08-72bb-4697-b516-655de87f69c6is the unique Org-ID.Commit the changes and exit the configuration mode.
root@cmgd-6866d5d9c9-4bwsr# commit and-quit commit complete Exiting configuration mode
Add projects to the service catalog for all organizations. Projects contain a service design and its dependency files required to provision a service.
Add common files to the service catalog. Common files are reusable components required by multiple service designs.
root@cmgd-6866d5d9c9-4bwsr> request service catalog project add /data-models/projects/common.tgz
Where
common.tgzfile contains common files that includes standard YANG models, Jinja templates, third-party schemas, shared JQS, party files, standard ITEF templates, YANG models, and so on.Add network resource configuration files to the service catalog. The network resource file contains network resource service designs that acts as producers of shared resources and are consumed by service designs.
root@cmgd-6866d5d9c9-4bwsr> request service catalog project add /data-models/projects/network-resource.tgz
Where
network-resource.tgzfile contains definitions of network elements such as IP address pools, VLAN IDs, VPN route distinguishers, and so on.Add your custom service design to the service catalog.
root@cmgd-6866d5d9c9-4bwsr> request service catalog project add /data-models/projects/CSD.tgz
Verify the projects that you added to the service catalog using the following command:
root@cmgd-6866d5d9c9-4bwsr> show service catalog projects Project Name Project ID common 1670dc07-c891-4031-a15c-2885939f75c7 DesignID: iana Version: 0.1.2 DesignID: ietf Version: 0.1.4 DesignID: ietf-draft Version: 0.1.3 DesignID: juniper Version: 0.2.30 network-resource d090c91c-3163-4b3d-ba43-cba9b824a0e9 DesignID: network-design Version: 0.1.9 DesignID: l2-addr Version: 0.1.32 DesignID: l3-addr Version: 0.2.16 DesignID: routing Version: 0.1.17 DesignID: topo Version: 0.8.58 DesignID: vpn-resources Version: 0.5.23 CSD e5c6a17f-7b24-4136-908a-145e80b9d898 DesignID: csd Version: 0.0.1 <Output Snipped>Where:
Project Namedisplays the names of projects that you added to the service catalog.Project IDdisplays the unique ID assigned to different projects available in the service catalog.Install all the files that you added to the service catalog using the following command:
root@cmgd-6866d5d9c9-4bwsr> request service project add common_1670dc07-c891-4031-a15c-2885939f75c7
root@cmgd-6866d5d9c9-4bwsr> request service project add network-resource_d090c91c-3163-4b3d-ba43-cba9b824a0e9
root@cmgd-6866d5d9c9-4bwsr> request service project add CSD_e5c6a17f-7b24-4136-908a-145e80b9d898
This command may take some time to complete.
A warning message confirms a successful update. Restart the CLI to complete installation of the new version. Confirm Yes, when prompted.
root@cmgd-6866d5d9c9-4bwsr> request service project add CSD_e5c6a17f-7b24-4136-908a-145e80b9d898 root@cmgd-6866d5d9c9-4bwsr> WARNING: cli has been replaced by an updated version: CLI release 20240313.184005_ningarajs.r1408131 built by ningarajs on 2024-03-13 19:02:49 UTC Restart cli using the new version ? [yes,no] (yes) yes Restarting cli ... root@cmgd-6866d5d9c9-4bwsr>
Now the customized service design is installed and must be available in the GUI.
For customized service designs based on existing service designs, the user interface and workflow remain the same as those of the original service design.
Log in again to the Routing Director GUI and the newly installed service design version 0.0.1 must be listed as Default under the Version column on the Service Designs page (Orchestration > Service Catalog). For more information, see About the Service Designs Page.
You can create and provision a service based on the service design that you added. The Add drop-down on the Service Instances page (Orchestration > Service Instances) displays the name of the service design that you installed. Select the service design to create a corresponding service instance. For more information, see About the Service Instances Page.