What’s New with Nautobot Lab

Nautobot Lab has not seen many updates over the past year. However, I wanted to call out some recent updates that have improved Nautobot Lab. In this blog post, I’ll cover what has changed.

What is Nautobot Lab? Check out Getting Nautobot Up and Running in the Lab.

First, the mock data is gone. It became apparent early on that it wasn’t going to be a maintainable solution. This is because in the back end, the mock data was just a SQL dump from Postgres. As database models changed in Nautobot and the ability to add plugins became a priority, the solution became infeasible. After a lot of thought, it was decided to remove it. There are some alternatives in the form of plugins that I’ll cover shortly.

The plugins installed in Nautobot Lab that should make importing data easier are:

  1. Device Onboarding Application: Allows you to incorporate your devices into Nautobot.
  2. Welcome Wizard Application: Facilitates quick data definition and import.
  3. Nautobot SSoT Application: Enables the import of devices from another Nautobot instance into your Nautobot Lab instance.

The Nautobot SSoT application is currently equipped with an example SSoT data source and target app. A known issue with the current version of the example job exists, but the bug has been addressed in the main branch of Nautobot SSoT. The fix should be available in the next release of Nautobot SSoT.

Second, a CI/CD solution has been implemented to keep the Nautobot Lab container in Docker Hub up to date with the current release of Nautobot. Within 24 hours of a Nautobot release, Docker Hub should reflect an updated version of Nautobot Lab. We’re doing this by comparing the version of the latest Nautobot release in GitHub with the latest tag version of Nautobot Lab in Docker Hub. This will ensure that Nautobot Lab is updated as frequently as Nautobot so that you can ensure that your lab environment is up to date with the latest release.

Third, a number of Nautobot plugins / applications have been added to Nautobot Lab by default. The current plugins installed by default are:

Almost all plugins from the Nautobot GitHub organization have been included. The only real plugins that were excluded were plugins such as ChatOps or specific SSoT plugins that require users to configure extra parameters in nautobot_config.py. If you want Nautobot Lab to access network devices directly, you can set the NAPALM_USERNAME and NAPALM_PASSWORD environment variables before starting up your Nautobot Lab instance.

docker run -itd --name nautobot -p 8000:8000 \
  --env NAPALM_USERNAME="demouser" \
  --env NAPALM_PASSWORD="demopass" \
  networktocode/nautobot-lab:latest

Lastly, a default superuser account is now created when building the container. It uses the username of demo and the password of nautobot, just like our online demo instance. If you choose to build your own container, this default account can be modified by setting the NAUTOBOT_USERNAMENAUTOBOT_EMAILNAUTOBOT_PASSWORD, and NAUTOBOT_TOKEN environment variables when building the container.

The default username is demo and password is nautobot.

export NAUTOBOT_USERNAME="demo"
export NAUTOBOT_EMAIL="opensource@networktocode.com"
export NAUTOBOT_PASSWORD="nautobot123"
export NAUTOBOT_TOKEN="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

docker build -t nautobot-lab:latest .

Conclusion

These constitute the major updates to Nautobot Lab. Although much has changed, these modifications are designed to improve Nautobot Lab’s maintainability and utility, particularly for individuals wanting to test beyond the basic Nautobot installation. If you have any questions or comments, feel free to reach out on the Network to Code Slack. You can also open issues on GitHub, where we can discuss your concerns further!

-James


Tags :

ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!

Author