Skip to content

Release 2.0 #100

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Oct 19, 2020
Merged

Release 2.0 #100

merged 17 commits into from
Oct 19, 2020

Conversation

mzbroch
Copy link
Contributor

@mzbroch mzbroch commented Oct 18, 2020

ntc-netbox-plugin-onboarding v2.0 Release Notes

v2.0

Enhancements

  • NetBox 2.9 support - Supported releases 2.8 and 2.9
  • Onboarding extensions - Customizable onboarding process through Python modules.
  • Onboarding details exposed in a device view - Date, Status, Last success and Latest task id related to the onboarded device are presented under the device view.
  • Onboarding task view - Onboarding details exposed in a dedicated view, including NetBox's ChangeLog.
  • Onboarding Changelog - Onboarding uses NetBox's ChangeLog to display user and changes made to the Onboarding Task object.
  • Skip onboarding feature - New attribute in the OnboardingDevice model allows to skip the onboarding request on devices with disabled onboarding setting.

Bug Fixes

  • Fixed race condition in worker.py
  • Improved logging

Additional Changes

  • Platform map now includes NAPALM drivers as defined in NetBox
  • Tests have been refactored to inherit NetBox's tests
  • Onboarding process will update the Device found by the IP-address lookup. In case of no existing device with onboarded IP-address is found in NetBox, onboarding might update the existing NetBox' looking up by network device's hostname.
  • Onboarding will raise Exception when create_device_type_if_missing is set to False for existing Device with DeviceType mismatch (behaviour pre Re-onboarding of an existing device is not working if the device type is not present #74)
  • Extended search criteria

mzbroch and others added 16 commits October 18, 2020 11:35
The onboarding_extensions_map setting (specified in netbox_onboarding/__init__.py
or overridden in configuration.py) is used to map napalm driver names to a custom
class which extends the driver, allowing extensibility. Currently, when a mapping
doesn't exist for a napalm driver, the NetdevKeepr class's get_onboarding_facts()
method fails. This causes the rq-worker to be unable to run the onbaord_device()
function to onboard a device. The changes in this commit fix the issue.
Currently, the template_content.py DeviceContent class returns `None`
if onboarding is not enabled for an OnboardingDevice object. Likewise,
if no OnboardingDevice object exists, the template continues trying to
access attributes for an OnboardingDevice object. In the first case,
template rendering will fail as an empty string is needed in order
to insert nothing into the rendered HTML template presented to the user.
In the second case, an AttributeError is raised as you can not access
attributes of a NoneType object.
@mzbroch mzbroch requested a review from dgarros October 18, 2020 09:39
Copy link
Contributor

@dgarros dgarros left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exciting ..
LGTM minus the version that needs to be updated in 2 places

@dgarros dgarros merged commit 986fe8b into develop Oct 19, 2020
@dgarros dgarros mentioned this pull request Oct 19, 2020
@mzbroch mzbroch deleted the develop-2.0 branch November 19, 2020 08:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants