Using Resource Limits

Resource limits in CML provide a way to limit underlying hardware resources that a user can consume on a multi-user CML instance. See Resource Limits for an overview of this feature. This section provides some examples of the common ways to use resource limits in CML.

Two Departments Sharing One CML Instance

In this scenario, imagine that two departments in an organization share a single CML instance or CML cluster. Running a single cluster reduces the overhead to administer the CML server itself. With this approach, there’s only one CML instance to back up, upgrade, and monitor.

While the two departments share a CML instance, they both want to operate as though they each have a dedicated instance. The department that funded 70% of the CML instance expects a proportional share of the resources. The CML admin creates a resource pool template and two resource pools, one for each department. The template has no resource limits configured. One resource pool limits usage to 70% of the total node licenses, CPU, and memory resources. The admin assigns the users from the department that provided more funding to this resource pool. The other resource pool limits usage to 30% of the total node licenses, CPU, and memory resources, and the admin assigns the users from the other department to that resource pool.

Ensuring Sufficient Capacity for Critical Use Case

While resource pools do not guarantee or reserve any resources for use, you can still use resource pools to ensure that your CML instance always has capacity available to run a critical lab topology. For example, if you have a lab topology that models a representative portion of your production network for automated validation tests, you need to ensure that the test harness can always start that lab.

In this case, determine the resources needed by that critical lab topology. Determine the excess capacity on your CML instance by subtracting those resources (licensed node count, vCPU cores, and RAM) from the total resources available on your CML instance. Create a resource pool and set its limits to those excess capacity values. Add all of your users to this resource pool except for the account that runs the NetDevOps lab. Your users will have to share that excess capacity, but they can safely run ad hoc experiments or smaller training labs, knowing that their usage will not prevent the critical lab topology from starting or running.

Multiple Students with the Same Resource Needs

In an academic or classroom training scenario, you may have a large number of students who need to run their own copy of a training lab in the same CML instance. You want each student to be able to start and stop their own labs, but you want to prevent them from interfering with other students’ ability to run their labs.

In this case, create a resource pool template and set the limits on the template itself. For example, maybe you know that the largest lab assigned to your students will use 8 node licenses and 12 vCPU cores. On the resource pool template, configure limits of 8 node licenses and 12 vCPU cores. Create a separate resource pool for each student from this resource pool template. That way, each student has his own pool of resources that’s sufficient to run the training labs and complete the training, but no student can consume more than their share of resources of the CML instance.

Related Topics