New Year, New Version of NRE Labs

by Matt Oswalt - - 3 minutes read - 455 words

Welcome to 2019, Network Reliability Engineers! We hope your holiday was relaxing.

We wanted to start the new year by getting a new release out, which sets the stage for some new content that’s just around the corner. v0.1.4 is released, and running live on the NRE Labs site!

In this release, we focus almost entirely on improving the user experience, specifically in two main ways:

  • Some planned content requires some capabilities in the platform that didn’t quite work yet. Several changes in this release do a really good job of setting the stage for future content, which is nearly ready, and will be included in the next release. Stay tuned!
  • There were some long-standing housekeeping related issues that weren’t quite dealbreakers, but really caused some frustration when they reared their heads. For instance, we used the “merge” strategy in NAPALM when configuring network devices for use in a lesson. This made it difficult to move between labs in a lesson cleanly. We moved to “replace” and you should be able to move freely between labs a lot more seamlessly, without strange resulting configurations.

Detailed changelog to follow:

Release Summary


  • Iframes are finally working again on the new model, which will enable all kinds of useful content. As a result, we’ve re-enabled the NAPALM lesson so the Jupyter notebook can be shown. #141
  • NRE Labs now has a useful “maintenance mode” so we can provide more useful status information when we’re taking the site offline for maintenance, rather than ugly “connection failed” messages. #144
  • Not every lesson can be run purely in containers. Some upcoming content, like eBPF and Docker, require greater access to kernel resources. To facilitate this, we’ve created a new image called utility-vm which runs an instance of Ubuntu in a virtual machine. #142


  • Consolidate lesson definition logic, and provide local validation tool (syrctl) #30
  • Redesign and fix the way iframe resources are created and presented to the API#32
  • Make metrics upload more resilient #35
  • Migrate to dep for dependency management #36
  • Use the ‘replace’ strategy when applying config changes with NAPALM (this fixes a big issue we’ve had for a while where moving between labs in a lesson didn’t quite reconfigure the network devices correctly.) #37
  • Record lesson provisioning time in TSDB. This helps us get a handle on overall performance and user experience. #39


  • Minor fix to the iframe path based on recent syringe changes #20
  • Adding lesson video modal; sorting tabs #21

We hope you enjoy these changes! As always, we welcome feedback in the #nrelabs channel in Juniper’s EngNet Slack Community or via Github Issues on the Antidote project. Last, consider contributing to NRE Labs. We welcome bugfixes, feature enhancements, and of course, lesson content!