Juniper Cloud Labs User Guide
Juniper Cloud Labs User Guide
Juniper Networks, the Juniper Networks logo, Juniper, and Junos are registered trademarks of Juniper Networks, Inc. and/or its affiliates in the United States and other
countries. All other trademarks may be property of their respective owners.
Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right to change, modify, transfer, or otherwise revise this
publication without notice.
The information in this document is current as of the date on the title page.
Chapter 5: Automating Processes with the HelperVM and the JCL Git Server
Adding the HelperVM to a Blueprint
Creating and Accessing an Account on the JCL Git Server
Saving a Snapshot to the JCL Git Server
Updating a Snapshot Configuration
Making a Snapshot Shareable
Loading a Snapshot from the JCL Git Server
Opening an Inventory File
A JCL topology is created by assembling resources into a blueprint using the JCL graphical user
interface. A resource in JCL is broadly defined and can be many things, including a router, a switch, a
virtual machine, a traffic generator, a port, or any other number of assets. A blueprint topology can include
specific concrete resources—for instance, the vMX virtual router named VM1—and generic abstract
resources—for instance, any available vMX virtual router. Resources are interconnected in a blueprint
using connections.
The JCL ecosystem includes a pool of concrete and abstract resources that can be added to any
blueprint. The ecosystem includes a HelperVM resource, for instance, that assists with automating tasks
between sandboxes. The HelperVM resource can, among other things, communicate with the JCL Git
server and run Ansible playbooks that save and load snapshot configurations between sandboxes. JCL
topologies can be accessed from anywhere and augmented with learning aids, making JCL an ideal
choice for showcasing Juniper equipment in customer demonstrations or highlighting Juniper technology
for technical audiences.
JCL Terminology
This section provides a summary of commonly-used JCL terms.
● Abstract Resource—a generic representation of a resource. For example, any vMX virtual router.
Abstract resources are included in blueprints and give the JCL automated setup process the
flexibility to choose any available concrete resource when creating a sandbox. For instance, a
blueprint that includes a vMX virtual router is reserved and the JCL automated setup process
uses the virtual router named vMX-0123 to represent the resource in the sandbox. The vMX
virtual router is the abstract resource and vMX-0123 is the concrete resource.
● Automated Setup Procedure— a procedure that runs when a blueprint is reserved to instantiate
the blueprint into a sandbox. The automated setup procedure creates VMs of virtual resources,
powers on virtual resources, configures management interfaces, connects interfaces, and creates
inventory files for the sandbox that can be accessed using the HelperVM, among other things.
● Blueprint—a JCL topology template where networks in JCL are created. Blueprints are used to
collect resources into a topology. Blueprints becomes active topologies with active resources
when they are reserved and instantiated into sandboxes.
● Build Your Own topology—The Build Your Own topology feature allows users to create topologies
by dragging and dropping resources onto a blueprint using the JCL graphical user interface. Build
Your Own topologies are built in the Build-Your-Own domain. Blueprints designed using the Build
Your Own topology feature become active topologies upon reservation. These active topologies
are called sandboxes.
● Concrete Resource—a specific representation of a resource. For example, a vMX virtual router
named vMX-0123.
Concrete resources can be added to b lueprints or used in sandboxes to instantiate abstract
resources. For instance, a blueprint that includes a vMX virtual router abstract resource is
reserved and the JCL automated setup process uses the virtual router named vMX-0123 to
represent that abstract resource in the sandbox. The vMX virtual router is the abstract resource
and vMX-0123 is the concrete resource.
Concrete resources should only be added to blueprints when there is a specific need for the
concrete resource. Use abstract resources to ensure resource availability whenever possible.
● Connection—any link that connects devices. A connection can be a physical link between
physical devices or a virtual link between virtual machines.
● Demonstrations—a domain in JCL. The demonstrations domain contains blueprints that are
typically purpose-built and enhanced with learning aids to walk users through a specific network
design or a set of tasks.
● Domain— an area within JCL. Domains logically group resources and b lueprints. Domains are
selected in the top right corner of the JCL graphical user interface and currently include
Build-Your-Own, Demonstrations, and vLabs. A JCL user has different permissions to edit or
create blueprints depending on their permissions in a domain.
● Guided demonstration—A guided demonstration is a fully-configured topology that is enhanced
with learning aids, such as demonstration scripts, presentations, videos, or other information
assets.
● JCL Git Server—a Git Server that is only accessible to JCL users. The JCL Git Server interacts
with the HelperVM resource and is primarily used to store and load snapshot configurations onto
sandboxes.
● HelperVM— a virtual machine resource that helps automate various JCL tasks, including
configuration sharing, between blueprints. The HelperVM resource has the ability to run Ansible
scripts and communicate with the JCL Git server. One HelperVM resource can be added to any
blueprint and can run in a sandbox.
● Inventory file—a file generated by the HelperVM resource during the automated setup procedure.
Inventory files store sandbox-specific information onto the HelperVM. Inventory files are useful for
gathering information about a sandbox.
● Resource—anything that can be included in a blueprint and reserved within JCL. A resource can
be a device such as a router or a switch, a virtual machine, a revenue port, a traffic generator, or
any other reservable asset. A blueprint c an include generic abstract resources and specific
concrete resources, although we recommend using abstract resources in blueprints as much as
possible to ensure resource availability.
● Sandbox— an active topology that is an instantiation of a blueprint. A sandbox is an active
topology with active resources that is created by the JCL automated setup procedure when a
blueprint is reserved. All resources in a topology are accessible and configurable and traffic can
be passed over connections in a s andbox.
● Snapshot— a directory stored on the JCL Git Server that stores the configuration of resources in a
sandbox. Sandboxes that include a HelperVM resource can load snapshots during the automated
setup procedure. A snapshot currently saves all Junos, Spirent, and Ixia configurations from a
sandbox.
● vLabs— a domain in JCL that provides Juniper customers with a platform to test drive use cases
and features at any time and at no risk to their production networks. The vLabs domain provides
pre-configured routing, switching, and security topologies and is intended for use by external
Juniper customers.
Prerequisites
This section covers the following topics:
❏ JCL Prerequisites
❏ Build Your Own Topology Prerequisites
JCL Prerequisites
JCL is engineered to operate on any computer’s web browser over the Internet without the user having to
install any additional software, including browser plug-ins or software programs.
Some JCL prerequisites:
❏ Login requirements: JCL is available to all Juniper employees and partners that have a
juniper.net user account.
See Create New User Login Account with Juniper Networks for information on creating a
juniper.net account.
❏ Browser requirements: JCL should work on any web browser and was tested using Mozilla
Firefox and Google Chrome web browsers. Always use the most recent version of the web
browser when accessing JCL.
❏ SSH, VNC, and RDP clients: SSH, VNC, and RDP clients can be used to access JCL resources.
A list of available JCL resources for Build Your Own topologies is also available at Details about
resources in JCL Build-Your-Own (BYO).
3. Click the Blueprints tab or icon in the left-hand navigation window. All published blueprints for the
domain appear in the navigation window.
4. Locate the blueprint that you want to access using one of the following methods:
a. Navigate all of the blueprints available on the current page.
b. Use the search bar in the top left-corner to search for a blueprint.
c. Filter the available blueprint options using the Filter By options in the left-hand navigation
menu.
d. Clicking blueprints to see which resources are included in a topology.
The sandbox reservation time varies by sandbox, but sandboxes are often available in 30
minutes or less.
The following indicators can be used to confirm that a sandbox is ready for use:
● The status icon in the top right corner has changed from Setup to Active.
● A Setup Complete email has been received from _ [email protected].
● The resource circles have changed from dotted lines to solid circles.
ialog box
2. Mouse to the target connected resource and click. The Resource Connections d
appears.
For bulk connections created using the Bulk Connection option, define the following
fields:
❏ Connection Type: Always select Route (Logical). The Tap (Logical) and
Connector options are not supported in JCL at this time.
❏ Set number of requested ports box: Select the number of connections you’d like
to create between the resources, then click the Add All button.
❏ Click Save in the bottom right corner to save the connection.
Renaming a Sandbox
By default, a sandbox inherits the name of the blueprint. The sandbox can be renamed during the
blueprint reservation process or from within the sandbox itself. This procedure shows users how to
rename the sandbox from the sandbox.
Renaming the sandbox is optional. You can rename the sandbox for any reason.
Renaming the sandbox is particular useful when two or more sandboxes are generated from the same
blueprint and you need a method of identifying each individual sandbox.
To rename a sandbox:
1. Click the pencil icon next to the sandbox name.
2. Type the new name into the sandbox.
Figure: Renaming a Sandbox
2. Select the amount of time that you wish to extend the reservation. In the figure below, the reservation is
extended 2 hours.
Figure: Extending Sandbox Duration
4. A Sandbox was extended successfully message appears on the screen to confirm the extension.
Ending a Sandbox Reservation
A sandbox is torn down once a reservation expires or if a user manually ends the reservation. This
process shows how to manually end a reservation.
If you need access to the topology after a reservation has ended, start a new sandbox with the same
topology by reserving the blueprint. See Creating a Sandbox from an Existing Blueprint.
To manually end a sandbox reservation:
1. Click the end reservation icon in the top right corner of the interface. The end sandbox dialog box
appears.
You can exit the web browser after confirming the teardown procedure has started; you do not need to
watch the teardown process for it to finish.
To re-initialize a resource, click the Commands button and select the Run button next to the Start Over
(re-init) option.
You can also run a health check on any resource using the health check resource management
command. To run a health check on a resource:
1. Click the Commands button and select the Run button next to the Start Over (re-init) option. The
Health Check dialog opens on the right-side of the interface.
2. Enter a value for timeout and retries. We suggest entering 5 for both fields if your unsure of how
to proceed.
3. Click the Run button.
4. Click the Activity button to view the Activity Feed and review the results.
To change the zoom by selecting a zoom percentage, click the zoom percentage in the right corner of the
interface and select a percentage from the drop-down menu.
JCL also includes related layout options. An arrangement can be saved using the Save Layout option. An
arrangement can also be undone using the Undo option, or reverted to the last saved layout using the
Revert option.
To use the layout options, click the More button near the top-right corner of the user interface and select
the desired layout option:
You can also use the navigator to navigate a canvas. The navigator is especially helpful in navigating
large sandboxes with a high number of resources.
To navigate a sandbox canvas using the Navigator:
1. Click the Navigator button. The Navigator box appears in the bottom left-hand corner of the
interface.
2. Place your mouse in the blue box in the Navigator box. Click and hold the mouse, and move the
mouse in any direction to quickly navigate the canvas.
Figure: Using the Navigator
4. Select one of the templates. Select the BYO Empty template if you are creating a topology that is
not using a traffic generator. Select the BYO Starter with Ixia or BYO Starter with Spirent templates if you
want to create a topology that uses an Ixia or Spirent traffic generator.
5. Depending on your template selection, either the Create Blueprint dialog box or a blank canvas
appears.
❏ Blank canvas: Click the pencil icon at the top header of the JCL graphical user interface.
❏ Create Blueprint dialog box: Name the blueprint by clicking the pencil icon in the Name
field.
Note: We strongly recommend naming your blueprint at this point of the procedure. If your blueprint is
unnamed, it is assigned a non-descriptive default blueprint name that can make identifying and retrieving
the blueprint difficult.
6. (Create Blueprint dialog box only) Review the resource information. Hit the Create button to create
the topology.
Figure: Create Blueprint Dialog
7. (Optional) If you want your blueprint to be public, click the lock icon. The lock icon opens to indicate
the blueprint is public. Click the lock icon again to change the blueprint setting back to private, if desired.
Figure: Public Blueprint
The Loading a Snapshot from the JCL Git Server procedure provides an example of a process completed
using resource attributes.
If you have a need to update an existing snapshot configuration, see Updating a Snapshot Configuration.
Click the Publish up-arrow icon for each of these attributes as part of this process.
Figure: Publish Icons
1. Use SSH or a comparable login method to log into the HelperVM resource from the sandbox. See
Adding the HelperVM to a Topology and Accessing a Resource in a Sandbox.
2. Open the inventory file using the more command.
All inventory files are stored in the /etc/ansible directory. You can navigate to the files you need
from this directory .
To access some of the commonly accessed inventory files.
2. Create a sandbox by reserving your blueprint. Wait for the JCL automation process to create the
sandbox.
3. From the sandbox view, make a note of each interface on the virtual router or switch and the
interface at the opposite end of the link on the SpirentVTC resource. These mappings are used
later in this procedure to configure the networking device and Spirent interfaces.
The interface names can also be identified using the blueprint’s topology inventory file. See
Opening an Inventory File.
4. Log into the virtual routing or switching resource connected to the Spirent traffic generators. See
Accessing a Resource in a Sandbox.
5. Configure an IP address on the interface that connects to the Spirent traffic generator. The IP
address on each interface must be in the same subnet as the virtual spirent interface on the
opposite end of the link configured later in this procedure.
In this example, ge-0/0/1 and ge-0/0/2 on a vMX resource connect to a virtual Spirent resource.
The interfaces are assigned IP addresses 1.1.1.1/24 and 1.1.1.2/24.
Example:
jcl-user@vmx0> c onfigure
Entering configuration mode
[edit]
jcl-user@vmx0# s et interfaces ge-0/0/1 unit 0 family inet address 1.1.1.1/24
jcl-user@vmx0# s et interfaces ge-0/0/2 unit 0 family inet address 2.2.2.1/24
jcl-user@vmx0# c ommit
6. Access the SpirentGUI client by logging into the SpirentGUI resource. RDP is the suggested
method of logging into the client, although other login options exist.
The Spirent test session manager user interface appears. A Spirent session using SpirentVTC
interfaces is already configured. This configuration was performed during the sandbox reservation
process by the automated JCL setup procedure.
7. Click the Connect icon on the SpirentGUI test session manager to establish connections to an
active session on the SpirentLabSrv resource in the sandbox. The Spirent Test Center opens.
8. The Spirent ports connected to the virtual router or switch have been pre-reserved and should
appear in the left-hand navigation menu under All Ports.
9. Click the All Devices option in the left-hand navigation menu, and the Add button in the window.
Figure: Spirent TestCenter - All Devices Option
10. In the Select Ports box, select all of the ports. Click the Finish button.
11. Change the following attributes for each device in the Emulated Device Interface tab:
❏ IPv4 Address
❏ 1.1.1.2—connects to IP address 1.1.1.1
❏ 2.2.2.2—connects to IP address 2.2.2.1
Figure: Spirent Testcenter - Configuring IP Addresses
If the attempted ARP is unsuccessful, check your IP address settings on the virtual router or switch and
on the virtual Spirent resource.
14. Click the All Stream Blocks button.
15. Click the Add button. The Traffic Wizard box appears.
16. Both interfaces should be checked. Click the box next to an interface it is not already checked.
utton.
Click the Next b
17. The traffic wizard box moves to a new screen. Select the source and destination Spirent
resources. Select the Orientation as bidirectional if you want traffic to flow in both directions between the
Spirent resources.
18. The resources appears in the Test Configuration box. Hit the Apply button to initiate the Spirent
resources.
Figure: Spirent TestCenter - Stream Block Additions
19. Select Actions: Start Traffic on All Ports to begin passing traffic.
Figure: Spirent TestCenter - Starting Traffic
20. Log back onto the virtual router or switch and verify that traffic is passing through the resource:
The output for the two interfaces connected to the Spirent resource - ge-0/0/1 and ge-0/0/2 - show that
traffic is passing through these interfaces.
21. Select the Stop Traffic on All Ports button when you want to stop the Spirent ports from generating
traffic.