Skip to content
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

Enhance plugin's reporting functionality #39

Merged
merged 13 commits into from Dec 8, 2021
Merged

Conversation

progala
Copy link
Contributor

@progala progala commented Nov 30, 2021

This PR adds reporting functionality similar to the one implemented in the Golden Configuration Plugin.

Initially we're implementing two models for recording per-device and per-inventory item validation results. These tables are populated by the corresponding jobs and need to be run manually.

Two reports are provided here, one for the Devices Validated Software and one for Inventory Validated Software.

  • Devices Validated Software provides bar chart showing Device Platform breakdown and Table with Device Type breakdown. Report can be filtered on Devices, Device types, Device roles, Software.

  • Inventory Item Validated Software provides bar chart showing Inventory Item Manufacturer breakdown and Table with Device Type Name. Report can be filtered on Inventory Items, Devices, Device types, Device roles, Software.

Device Software Validation Reports - Nautobot

Inventory Item Software Validation Reports - Nautobot

@progala progala linked an issue Nov 30, 2021 that may be closed by this pull request
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.

Looks good to me, great work @progala @pszulczewski

@progala progala changed the title [WIP] Enhance plugin's reporting functionality Enhance plugin's reporting functionality Dec 3, 2021
@progala
Copy link
Contributor Author

progala commented Dec 3, 2021

@dgarros @jvanderaa @josh5276 @pszulczewski

This PR is now ready for the full review.

Copy link

@pszulczewski pszulczewski left a comment

Choose a reason for hiding this comment

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

Great work @progala!
I like the way how you generalized the part where we create charts with bar_chart_attrs and pie_chart_attrs .

@dgarros
Copy link
Contributor

dgarros commented Dec 7, 2021

@josh5276 @jvanderaa would you like to review this one or are we good to merge ?

@jvanderaa
Copy link
Contributor

Once the conflicts are covered, good to merge.

@josh-silvas
Copy link
Contributor

Yes, this is great work guys! Can't wait to take some of this framework and retrofit it into the hardware portions. :)

@pszulczewski
Copy link

I am not sure why pylint terminates with an exception?
I merged with develop branch to resolve conflicts in pyproject.toml and updated poetry.lock file.
Can someone more experienced have a look and advise?

@pszulczewski
Copy link

pszulczewski commented Dec 7, 2021

Sorry I am not able to find the issue myself.
When I merge with develop then the main container exits with this Exception:

nautobot_1  | Traceback (most recent call last):
nautobot_1  |   File "/usr/local/lib/python3.7/site-packages/django/apps/config.py", line 236, in create
nautobot_1  |     app_name = app_config_class.name
nautobot_1  | AttributeError: type object 'NautobotConfig' has no attribute 'name'

and I am able to reproduce the issue in my local dev env.

Steps to reproduce:

  • merge with develop
  • update poerty.lock
  • build & run

I am bringing back the branch to the last working commit.

@dgarros
Copy link
Contributor

dgarros commented Dec 8, 2021

@pszulczewski I've updated the lock file and now the tests are passing

@dgarros dgarros merged commit 36826fd into develop Dec 8, 2021
@pszulczewski
Copy link

Thanks @dgarros, it looks like it was failing with nautobot core 1.1.3 and you changed it to 1.1.6 in CI.
I changed nautobot version from 1.1.3 to 1.1.6 in tasks.py locally and now build is fine. I think it may be worth updating tasks.py to 1.1.6 here.

@bradh11 bradh11 deleted the reporting_improvement branch December 7, 2022 19:08
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.

Enhance reporting functionality
5 participants