Nautobot Device Lifecycle Management App 3.0
Announcing Nautobot Device Lifecycle Management App 3.0!
Over the past year, significant progress has been made in transitioning models from the Device Lifecycle Management(DLM) App into Nautobot core models.
We are excited to announce that the following models have now been successfully migrated to Nautobot core:
Device Lifecycle Management App Model | Nautobot Core Model |
SoftwareLCM | SoftwareVersion |
SoftwareImageLCM | SoftwareImageFile |
ContactLCM | Contact |
The DLM models and their instances will remain in place to ensure a smooth migration and prevent data loss.
After installing app version 3.0.0, all existing instances of these models must be moved to the core models. This will enable full DLM app functionality.
> Important: We’ve taken extra care to ensure that no data will be lost as you migrate. The old models will not be removed, but you will see a warning that you need to migrate your data. Read below for the details…
Migrating to the new models
Ok, let’s get into it – we’ve made this easy for you to migrate your old model fields to the new model fields. Included with the DLM Version 3.0 there is a migration job titled “Device Lifecycle Management to Nautobot Core Model Migration”.
This job migrates existing SoftwareLCM, SoftwareImageLCM, and ContactLCM models to the corresponding core models. Importantly, this job can be run multiple times, allowing existing automation or workflows to continue targeting deprecated models and providing operators with additional control over the update process. Full migration process here.
DLM models that now refer to the Core models
The models that previously referenced the deprecated DLM models now reference the core models. The old fields, which have been renamed with the prefix “old_”, remain in place and still reference the deprecated DLM models. The DLM models and their old and new references are outlined in the tables below.
DLM Object | Core Reference | DLM Reference |
CVELCM | affected_softwares | old_affected_softwares |
DeviceSoftwareValidationResult | software | old_software |
InventoryItemSoftwareValidationResult | software | old_software |
ValidatedSoftwareLCM | software | old_software |
VulnerabilityLCM | software | old_software |
Access to the deprecated DLM models through the UI has been disabled to prevent confusion with the core models. However, the old DLM objects remain accessible via API and Django ORM.
Validation Report
The validation report will still be available and now point to the new core models. In order to have the reports be accurate, you must first run the model migration job. These jobs previously relied on deprecated DLM objects and now utilize core objects. From here on out, you should be exclusively using the core Software Version and Contact models:
– CVE Tracking \- \> Generate Vulnerabilities
– Device/Software Lifecycle Reporting \- \> Device Software Validation Report
– Device/Software Lifecycle Reporting \-\> Inventory Item Software Validation Report
Model fields between models
The model fields are mostly identical, but there are subtle differences. Highlighted red are the differences to watch out for.
DLM SoftwareLCM | Core SoftwareVersion |
alias | alias |
release_date | release_date |
end_of_support | end_of_support_date |
documentation_url | documentation_url |
long_term_support | long_term_support |
pre_release | pre_release |
_custom_field_data | _custom_field_data |
DLM SoftwareImageLCM | Core SoftwareImageFile |
image_file_checksum | image_file_checksum |
hashing_algorithm | hashing_algorithm |
default_image | default_image |
_custom_field_data | _custom_field_data |
DLM ContactLCM | Core Contact |
address | address |
comments | comments |
_custom_field_data | _custom_field_data |
Conclusion
Thank you all for your support!
Please feel free to review the documentation or contribute to the open-source app here!
Head over to our Nautobot Apps page to stay up to date on our App Ecosystem.
Authors:
-Przemek Rogala
-Zack Tobar