- Welcome to XPRESSO!
- About XPRESSO
- Getting Started with XPRESSO
- Quick Start
- Setting up your Test Environment
- Defining your Lab Resources
- Job Creation, Execution & Test Results
- Tracking Events
- Integrating XPRESSO with other Tools and Services
- System Administrator Tasks
- Working with APIs
- Change Log
- Glossary
Reserving Testbeds and Topologies
About Reserving Testbeds and Topologies
Reservations guarantee your system resources for a specific date, time, and duration in advance of your testing requirements.
You can book reservations for both Static and LaaS testbeds (topologies) as a:
- One-time event
- Recurring event
You can view reservations and queue info on the following dashboard pages (see the "Viewing Reservations" sub-topic below for details):
On the Reservations page (Main Navigation Bar→Main Menu→EVENTS→Reservations).
On the Registered Testbeds page (Main Navigation Bar→Main Menu→RESOURCES→Testbeds).
On the Topologies page (Main Navigation Bar→Main Menu→RESOURCES→Topologies). Click the Reservations step in the Topologies Wizard.
On the Job and Reservation Event Schedules page (Main Navigation Bar→Main Menu→EVENTS→Calendar).
Where Reservations Sit in the Priority Queue Hierarchy
Reserving time-slots for utilizing testbeds is handled on a first-come, first-served basis by the Queue Manager based on:
the priority configured assigned to the Job Request.
the priority configured in the reservation.
Two reservation types are available:
First available time-slot reservations
Pick My Time-slot reservations
Reservation Requests in the testbed queue take precedence over Job Runs of the same priority or lower. Jobs Runs with a higher priority take precedence over a Reservation Request. See the "Reservation Time-slot Options" sub-topic below for detailed information about priority rules that apply to reservations.
Why Reservations Matters?
Testbeds are considered scarce resources since they are shared by many users for both automated and manual tests. It is imperative to manage and provide maximum efficiency of testbed usage and its availability to save time and to reduce costs.
With a reservation system, users can manage and make optimal use of the testbed. A reservation guarantees the testbed is available to them and eliminates the risk of double-bookings and maximizes resource utilization when the testbed is not reserved.
With your reservation, you receive an uncontested use of the resource for automated test runs and manual usage. This can be useful when:
- You may want to perform some form of manual testing on your devices beyond (or outside) the functionality that XPRESSO provides. For example, you may want to access the testbed manually via a console or VTY.
- You may want to debug an issue with the testbed or your script and need to look at the device manually after running a Job.
NOTE:
All key reasons why Testbed Queuing can help with your test automation requirements also apply to reservations.
In addition to the advantages listed above that applies to both Static and LaaS-NG testbeds, the following also apply exclusively to LaaS-NG testbeds:
When you reserve a topology, LaaS-NG testbeds are created on-the-fly, then torn down and deleted from XPRESSO when the reservation is over.
In the event you want to run multiple jobs on the same LaaS dynamic testbed, you would need to manually reserve the topology, than run jobs against the testbed. XPRESSO automates this process for you.
Reservation Types
You can choose or request a time-slot to reserve a testbed or topology based on the following criteria:
Option 1 - First Available Time-slot Reservations
With the First Available time-slot option, XPRESSO finds the next available time-slot for the requested testbed/topology which fits the requirement of the reservation.
Priority Rules for Option 1
If Job run is currently occupying the same requested time-slot, the priorities are compared and if the new Reservation has the same priority or lower, the previous Job Run is allowed to complete.
If your Job Run has a higher priority than the current Job Run, there are two possibilities:
- If the current Job Run has not started to execute, it is moved to the appropriate spot in the priority queue based on the queuing rules.
- If the Job Run had started to execute, it will be terminated and transitioned into a "Stopped" state. To re-establish the Job in the priority queue, simply submit another Job Request.
If there are Jobs scheduled to run in the priority queue for the requested testbed, the priority of the existing jobs will be compared against the new reservation priority and the applicable time-slot will be picked.
For all other cases, the reservation will be allocated in the priority queue on a first-come; first-served basis based on the time of submission.
Option 2 - Pick My Time-slot Reservations
You can selects the specific time-slot for a one-time, or reoccurring reservation.
NOTE:
XPRESSO handles time-slot conflicts with Pick My Time reservations. However, it is recommended to proactively avoid potential conflicts by manually checking the testbed reservations page to make sure the testbed is not already reserved for the desired time-slot.
Priority Rules for Option 2
The same priority rules outlined above for Option 1 also apply to Option 2.
In the event of a conflict for the given time-slot between a Job Request, or another Reservation, the following priority rules apply:
- For a Job Request that has a higher priority than the existing reservation, the reservation is cancelled.
- For a Job Request that has the same or a lower priority than the existing reservation, the Job Request is placed in Queue.
- When a new reservation is made that has the same or lower priority when compared against an existing reservation, the reservation is errored-out with a message stating that a reservation for the requested time-slot already exists and to choose an alternate time-slot.
Reservation Rules and Limitations
The following rules and limitations apply to reservations:
Any currently reserved time-slots on the testbed will error-out your reservation request if you choose the same time-slot.
The duration of your reservation is limited to the minimum and maximum reservation duration time period defined in your (Reservation) Group Preferences. See "Configuring Group Preferences" for information about how to change the default value(s) set for the min./max. duration time period.
There are no limits on how many testbeds you can reserve at once.
The following limitations are set by your Group Admin or any permitted member in your Group:
- You can only reserve a testbed if it has been set to be Reservable.
- You can only reserve a testbed if it has an Enabled status.
- Group admins are permitted to reserve a testbed in a Maintenance mode.
Reservation Queuing Rules
Reservations are subject to the testbed queuing rules enforced by XPRESSO.
IMPORTANT:
Reservations guarantee you are allocated a place in the testbed queue at the "specified" time on the designated testbed; the Job associated with the reservation is sent immediately to the specified testbed queue(s). However, this guarantee is still subject to background (persistent and ongoing) queuing rule as other Job Runs are created and dispatched.
Therefore, if a Job Run is dispatched with a higher priority than your reservation, this will bump your reservation from your allocated time-slot. You will be notified in the event this happens.
NOTE:
Reservations are also restricted by the time interval set in the Maximum Reservation Queue Retention parameter specified when you register each testbed. If a reservation does not activate within the specified duration, the reservation will expire.
Job Run Conflict Rules
The following rules apply to reservations when a Job is executed:
In the event a higher priority Job is dispatched while your reservation is active, the reservation will be terminated.
In the event a testbed is busy with another Job Run when your reservation is due to run, XPRESSO automatically determines which reservation takes priority.
Recurring Reservation Rules
The following rules apply to recurring reservations:
General rules:
- When you create a recurring reservation, XPRESSO creates an individual reservation request for each date/time specified for the recurrence duration. Each of these reservations is then queued for reserved date/time based on the aforementioned queuing rules.
- Each recurring reservation in the priority queue is subject to the same limitations as specified above.
Deleting recurring reservations: When you delete (release) a recursive reservation, you can choose to delete an individual selected occurrence of the reservation or choose to delete all occurrences.
Aborted occurrences of recurring reservations: If an individual occurrence of a reservation gets aborted due to any of the above limitations or errors, any upcoming reservations are not affected.
Post-registration Reservation Rules
The following rules apply once a reservation is created and registered:
You cannot edit existing reservations parameters. If you want to make changes to the reservation, delete the reservation and recreate it.
You can perform the following post-registration operations to reservations as follows as long as the reservation is in an active state:
- After XPRESSO prepares your reservation and notifies you, the testbed becomes booked out to you and you only. During this time, if you queue up any job runs on this testbed, they will be dispatched immediately as if you had your own private queue for this time space.
See the Post-registration Reservation Operations sub-topic below for more information.
Reservation States
When a reservation is requested, it transitions through a number of operational states such as Orchestrating, Queued, Reserved, and Active. By default, notifications are sent by XPRESSO when the reservation becomes active and/or terminated/ended. See the Reservation Preferences sub-topic below for information about how you can control the verbosity of when you receive notifications related to reservation states.
See "Operational and Configuration States" for detailed information about each of the different reservation states and the colors that apply to each Reservation state.
Reservation Preferences
You can set the following preferences to control how Reservations are configured:
- General Reservation Preferences: Allows you to set the default setting related to configuring preferences such as the Reservation priority, the maximum Reservation queue retention time, and the min./max. Reservation duration.
- Notification Preferences: Allows you to set the verbosity of when you receive notifications as a reservation transitions through the various operational states. Up to 10 different Reservation transitional states can be toggled ON or OFF to meet your operational requirements.
See "Configuring Group Preferences" for the procedure about how to configure each preference type to meet your operational requirements.
Reserving a Testbed
Testbed reservations are created on the Registered Testbed page but viewed and managed on the Reservation page.
To Reserve a Testbed:
Choose one of the following to initiate a new reservation on a testbed:
- If the current Job Run has not started to execute, it is moved to the appropriate spot in the priority queue based on the queuing rules.If the current Job Run has not started to execute, it is moved to the appropriate spot in the priority queue based on the queuing rules.
- From the Main Navigation Bar, choose Main Menu→RESOURCES→Testbeds to open the Registered Testbeds page.
Locate and highlight the testbed that you want to create the reservation for and click the Reserve floating action button located to the right of the highlighted testbed. The New reservation on Name-of-Selected-Testbed wizard opens.
NOTE 1:
Note the time associated with Maximum Reservation Duration Allowed for selected testbed displays in the Basic Info panel associated with the selected testbed; this is the allowed time limit that can be set in the Duration parameter in step 4.
NOTE 2:
In the event you need to reserve a testbed that is currently in a "Not Reservable" state, the testbed was put into this state intentionally by another Group Member. See the "Post-registration Testbed Operations" topic if you need to toggle the parameter associated with this setting back to an active (Reservable) state.
In the Basic Info wizard step, click one of the following reservation type buttons to specify when you want to reserve the testbed; see the "Reservation Types" sub-topic above for the type of reservations details:
- First Available
- Pick My Time
As required, configure the following reservation parameter details:
NOTE:
*1 Denotes parameters that only applies to Pick my Time Reservations.
*2 Denotes parameters that only applies to LaaS topology reservations.
Description: Provide a unique name to identify your reservation.
Duration: Specify the duration of your reservation: Day | Hours | Minutes that is within the minimum and maximum reservation duration allowed for the selected testbed (displayed in step 2 above).
NOTE:
For LaaS testbeds, the minimum time duration is 30 minutes and the maximum reservation time is enforced by the LaaS testbed maximum settingMore Options:
Reservation Priority: Reservation priority is used to determine the priority of Jobs when there is a conflict, for example, if a reservation is running and a job is submitted by another user or vice-versa. Specify the required priority for the reservation to meet your testing requirements.
Maximum Reservation Queue Retention: Specify the maximum time to wait in queue before an ad-hoc reservation/request with higher priority gets auto-cancelled or completed.
Interest List: Provide a list of users to email with any concerns about the reservation. You are automatically added to the interest list when you create a reservation.
Recurrence *1:
Repeat *1: Specify the frequency of how often this testbed should be reserved: None | Daily | Weekly | Monthly.
Start Time *1: Enter the time you want the reservation to start.
Duration: Specify the duration of your reservation: Day | Hours | Minutes that is within the minimum and maximum reservation duration allowed for the selected testbed (displayed in step 2 above).
Start Date *1: Enter the date you want the reservation to start.
End Date *1: Enter the date you want the reservation to end. This parameter is visible when the Repeat option is set to a value other than none.
Applies to LaaS topologies only:
NOTE:
The Netclean and Power Reset parameters below only appear in the reservation wizard when a LaaS topologies is selected. You would only disable these options in the event you have a Private topology and don't need perform these actions each time in order to expedite the LaaS reservation process from the XPRESSO dashboard.Netclean *2: Specifies if Netclean is enabled or disabled. When enabled, Netclean cleans (purges or resets) all devices or selected devices in a network topology of any previous user-configured settings to an established baseline and reloads the device(s) using an existing (known) clean topology using a script or image. Netclean is executed after a Power Reset.
Power Reset *2: Specifies if Power Reset is enabled or disabled. If enabled, LaaS-NG will power all the devices in a given topology OFF and ON. If disabled, LaaS-NG will power ON the device to ensure the reserved device is in a power ON state.
- This step is optional based on your reservation requirements. In the Reservation Options wizard step, configured the following parameters as required:
Lab VPN Access:
VPN Configuration: Toggle the checkbox to allow/disallow a VPN Connection to be initiated in an active state and disconnected in a terminal state.
VNC Session: Toggle the checkbox to allow/disallow a VNC Session to be initiated in an active state and disconnected in a terminal state.
NOTE:
You can see both the VPN Connection and VNC Session details by clicking on Show Details button next to parameter. See "Lab VPN Access Settings" for information about how to change these setting if required.Advanced Reporting: Update the Reservation progress through Notification and Messages based on the following conditions at the following trigger states (configurable via the pull-down menu): orchestrating | queued | reserved | active | terminal.
NOTE:
The Advance Reporting parameter settings are dynamic based on what was configured through the Group Notification Preference setting. See "Configuring Group Preferences" for information about how to change Notification Preferences if required.
Click the Reserve button to proceed to the Reservation Summary Window.
Review your reservation settings. If required, click Cancel to return to the reservation wizard to adjust any desired settings, otherwise, click the Confirm Reservation button to save your changes. A message appears (bottom left corner) indicating your reservation was submitted.
See the "Viewing Reservations" sub-topic below for information about the various ways you can view your reservation after it becomes active.
Refer to the "Reservation States" sub-topic above if the reservation fails to reach an active state to determine the reason why.
Reserving a Topology
Topology reservations are created on the Registered topologies page but viewed and managed on the Reservation page.
Differences Between Topology and Testbed Reservations
Note the following differences between topology reservations and testbed reservations:
Topology reservations do not have a priority - they are always carried out in a first come, first served basis.
Whether a testbed can be created by XPRESSO is determined by the available pool of devices managed by the backend execution engine.
When the orchestrator fulfills your reservation request, a new testbed based on selected topology is automatically added to XPRESSO, with the testbed YAML generated based on the allocated devices that makes up this testbed.
While the topology reservation remains active, LaaS testbeds behave just like Static testbeds with the exception that these dynamically created testbeds cannot be reserved explicit to topology reservation.
To Reserve a Topology:
Choose one of the following to initiate a new reservation on a topology:
- From the Main Navigation Bar, choose Main Menu→EVENTS→Reservations to open the Reservations page and click the Reserve Topologies button. This provides a quick link to the Registered Topologies page.
- From the Main Navigation Bar, choose Main Menu→RESOURCES→Topologies to open the Registered Topologies page.
Locate and highlight the topology that you want to create the reservation for and click the Reserve floating action button located on the bottom of the selected topology image. The New reservation on Name-of-Topologies page opens.
Follow the same steps outlined in the "To Reserve a Testbed" procedure above (starting at step 3) to complete the required steps to reserve a topology in the reservation wizard.
Viewing Reservations
You can view all "booked" reservations and queue info for a specific testbed on the following GUI forms:
On the Reservations page (Main Navigation Bar→Main Menu→EVENTS→Reservations); this page provides top level details such as the applicable testbed, operational state, and Start/End times. Click on a reservation to see specific details including all Job Requests associated with the reservation. You can also filter reservations by clicking the appropriate button: Current/Future | Last 10 Days | Last 30 Days | Last 60 Days.
On the Registered Testbeds page (Main Navigation Bar→Main Menu→RESOURCES→Testbeds); click on a specific testbed to access the following testbed reservation details:
Click the Reservations tab to access a reservation timeline and all reservations details made on the testbed.
Click the Queue tab to access all detailed Queue information.
On the Calendar (Main Navigation Bar→Main Menu→EVENTS→Calendar); the Calendar provides an at-a-glance graphical timeline to track all pending and previously configured/booked Reservations. Click on a reservation (highlighted with a green color scheme) to access the Reservation date and time details and to perform post-registration operations on a Reservation: only Delete is supported; an Overview button provides a quick link to the Reservation details page.
Post-registration Reservation Operations
Refer to the Post-registration Reservation Rules sub-topic above for information about which operation applies the specified reservation testbed type and the operational state that apply.
To Perform Post-registration Operations on a Reservation:
From the Main Navigation Bar, choose Main Menu→EVENTS→Reservations to open the Reservations page.
Locate and highlight the reservation that you want to perform the post-registration operation on and click the appropriate following floating action button located to the right of the selected reservation.
- Take Snapshot: After you create a LaaS-NG topology and it has an reservation in an active state applied to it, you can take a snapshot of an existing LaaS topology and it's configuration at that point in time so it can be reused to re-create the test environment at a later time. This significantly decreases the time to set up a LaaS-NG topology since the entire test infrastructure is replicated. See Topologies for information about (1) how to access all snapshots associated with a parent topology via the topology page (2) an explanation about the similarities and differences between taking a snapshot of a topology vs. cloning a topology.
- Extend: Allows you to extend a current reservation set on a testbed. For example, if you previously reserved a testbed from 11:00 AM to 12:00 PM, you can extend the reservation to 12:30 PM.
- Release: Allows you release (delete) a reservation in the event it is no longer required.
NOTE:
When you take a snapshot of a LaaS-NG topology, a message displays immediately on the dashboard to acknowledge your request to take a snapshot was received by XPRESSO. However, depending on the complexity of the topology, creating and saving the snapshot can range from minutes to hours.NOTE:
You can Release a reservation under these conditions: (1) You created the reservation; all other reservations created by other users are blocked. (2) The reservation is not in the following operational state: Expired, Errored, Released, or Revoked.
Other Related Reservation Information
Refer to the following topics for other related reservation information:
Lab VPN Reservations: You can use XPRESSO to connect to remote devices and other external resources, for example, making a LaaS connection to a lab in a DMZ using special plugins and connections. You can make a reservation for these connections; see "Using Lab VPN in your Reservation" for more information.
Reservation States: See "Operational and Configuration States" for information about the different reservation states.
General and Notification Reservation Preferences: See "Configuring Group Preferences" for the procedure about how to configure each preference type to meet your operational requirements.
Various states of the Reservation of Testbeds/Topologies can be obtained by Notifications,Messages,Webex Bot Notifications