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

Graphs #56

Merged
merged 21 commits into from
Jun 27, 2023
Merged

Graphs #56

merged 21 commits into from
Jun 27, 2023

Conversation

vegu
Copy link
Contributor

@vegu vegu commented Jun 22, 2023

API endpoints and tasks for updating and fetching virtual / physical port traffic data

Needs fullctl/fullctl#160 merged

@vegu vegu requested a review from grizz June 22, 2023 16:21
@vegu vegu mentioned this pull request Jun 23, 2023
@codecov-commenter
Copy link

codecov-commenter commented Jun 27, 2023

Codecov Report

Merging #56 (a0b06c8) into prep-release (9f719e6) will decrease coverage by 1.42%.
The diff coverage is 11.61%.

❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@               Coverage Diff                @@
##           prep-release      #56      +/-   ##
================================================
- Coverage         27.75%   26.33%   -1.42%     
================================================
  Files                50       51       +1     
  Lines              2000     2195     +195     
================================================
+ Hits                555      578      +23     
- Misses             1445     1617     +172     
Impacted Files Coverage Δ
src/django_devicectl/rest/serializers/devicectl.py 0.00% <0.00%> (ø)
...jango_devicectl/rest/serializers/service_bridge.py 0.00% <0.00%> (ø)
src/django_devicectl/rest/views/devicectl.py 0.00% <0.00%> (ø)
src/django_devicectl/rest/views/service_bridge.py 0.00% <0.00%> (ø)
src/django_devicectl/models/tasks.py 44.08% <25.00%> (-28.89%) ⬇️
src/devicectl/settings/__init__.py 100.00% <100.00%> (ø)
src/django_devicectl/migrations/0025_port_meta.py 100.00% <100.00%> (ø)
src/django_devicectl/models/devicectl.py 54.07% <100.00%> (+0.27%) ⬆️

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@vegu vegu merged commit 7658b63 into prep-release Jun 27, 2023
grizz added a commit that referenced this pull request Jan 16, 2024
* update version

* poetry lock

* Version 1.0.0-rc1

* add facility_slug to device api output (#39)

* add facility_slug to device api output

* linting

* poetry lock

* Version 1.0.0-rc2

* Add API View button to each device (#40)

* add api button for device in device list

* add open api on device view api button

* change api url to pretify content

* poetry lock

* Version 1.0.0-rc3

* poetry lock

* Version 1.0.0-rc4

* add build args for base images

* poetry lock

* poetry lock, update actions versions

* GPF Fixes (#41)

* adapt to peerctl dummy port changes

* linting

* poetry lock

* Version 1.0.0-rc5

* fix a typo (#42)

the method name does not seem to be called anywhere in FullCtl so this fix should be safe

* rm codecov

* poetry lock

* Version 1.0.0-rc6

* 20230418 fixes (#43)

* wire up sync requests to peerctl on ip address (re)assignments

* linting

* fix github action for linting with temporary workaround

* poetry lock

* Version 1.0.0-rc7

* poetry lock

* Version 1.0.0-rc8

* Device operational status (#44)

* device operational status

* operational status
device details
dashboard

* linting

* Version 1.0.0-rc9

* poetry lock

* Version 1.0.0-rc10

* Changes to support ixctl member ports (#45)

* logical ports filtered by facility instead of per device, as multiple devices at the same facility can connect to the same logical port

* add physical port join on service bridge data for ports

* linting

* add port to virtualport serializer
automaticall create port on virtualport creation

* linting

* also auto create port info

* poetry lock

* Version 1.0.0-rc11

* fix issue with create dummy ports introduced by recent changes to signals (#46)

* poetry lock

* Version 1.0.0-rc12

* Fix signals (#47)

* fix issue with create dummy ports introduced by recent changes to signals

* signal fixes

* linting

* Version 1.0.0-rc13

* poetry lock

* Version 1.0.0-rc14

* Nautobot sync improvements (#48)

* fix issue with create dummy ports introduced by recent changes to signals

* make site / facility sync more stable by also looking for slug matches

* fix issues with ip address sync if existing ip is changed in nautobot
add address search to ip-address admin interface

* linting

* poetry lock

* Version 1.0.0-rc15

* Device details improvements (#49)

* fix issue with create dummy ports introduced by recent changes to signals

* fix device details error message showing up on ok devices

* device details improvements progress

* devicectl details wrap up

* stop dashboard button from wrapping to next line

* poetry lock

* Version 1.0.0-rc16

* Fix dashboard button (#50)

* fix issue with create dummy ports introduced by recent changes to signals

* fix dashboard button

* Version 1.0.0-rc17

* Auditctl link (#51)

* fix issue with create dummy ports introduced by recent changes to signals

* auditctl event link

* Version 1.0.0-rc18

* poetry lock

* Version 1.0.0-rc19

* Port autocomplete (#52)

* fix issue with create dummy ports introduced by recent changes to signals

* port autocomplete endpoint

* linting

* poetry lock

* Version 1.0.0-rc20

* Fixes 20230511 (#53)

* fixes devices showing all logical ports regardess of whether a physical port connection to it exists or not

* linting

* retroactively fix orphaned virtual ports (fixes "VirtualPort has no port." error)

* poetry lock

* Version 1.0.0-rc21

* Device config (#54)

* fixes devices showing all logical ports regardess of whether a physical port connection to it exists or not

* linting

* retroactively fix orphaned virtual ports (fixes "VirtualPort has no port." error)

* device config progress

* device config

* linting

* linting and poetry relock

* linting

* poetry lock

* Version 1.0.0-rc22

* Device config history on status change (#55)

* fix issue with create dummy ports introduced by recent changes to signals

* create config history entry also if diff is the same but status has changed

* allow for independent update of current and reference config

* config history creeation moved from signal to service bridge

* device filter for port service bridge

* Version 1.0.0-rc23

* poetry lock

* Version 1.0.0-rc24

* poetry lock

* Version 1.0.0-rc25

* Version 1.0.0-rc26

* Graphs (#56)

* fix issue with create dummy ports introduced by recent changes to signals

* first progress on port traffic graphing

* add rrdtool
load graph data from rrd
wire up rest api for reading and updating graphs (needs testing)

* batch update and some fixes

* clean up

* linting

* take out debug code

* rrdtool out of pyproject for now, since it otherwise breaks github CI

* fix service bridge endpoint

* fixes to graph update task

* linting

* gracefully exit on no traffic context objects (need to add validation)

* poetry relock

* poetry lock

* Version 1.0.0-rc27

* Graph fixes 1 (#58)

* fix issue with create dummy ports introduced by recent changes to signals

* limit concurrent processing of traffic graph update tasks to 1 per org

* linting

* poetry lock

* Version 1.0.0-rc28

* 20230622 Peerctl UX updates (#57)

* fix issue with create dummy ports introduced by recent changes to signals

* change Device.display_name to name only

* service bridge allow filtering Port by set of ids and whether or not the port has ip addresses set

* fix service_bridge Port returning duplicates

---------

Co-authored-by: Stefan Pratter <stefan@20c.com>

* drop py3.7

* poetry lock

* poetry lock

* Version 1.0.0-rc29

* 20230703 fixes (#59)

* fix issue with create dummy ports introduced by recent changes to signals

* pull in interfaces without LAG

* Version 1.0.0-rc30

* poetry lock

* Version 1.0.0-rc31

* poetry lock

* Version 1.0.0-rc32

* Filter ports by devices (#62)

* fix issue with create dummy ports introduced by recent changes to signals

* add devices filter to Port servicebridge

* Ix / device traffic aggregation (#60)

* fix issue with create dummy ports introduced by recent changes to signals

* aggregate ix traffic
aggregate device traffic
split out traffic read logic

* Descriptions (#61)

* add virtual port description field
sync nautobot interface description

* linting

* expose virtual_port_description on Port service bridge

* add description to VirtualPort service bridge

* poetry lock

* Version 1.0.0-rc33

* fix devicectl dashboard styles (#64)

* render ix traffic graphs to file using OrganizationFile model (#63)

* render ix traffic graphs to file using OrganizationFile model

* linting

* render image graphs for 5m, 30m, 2h, 1d avg

* poetry lock

* Version 1.0.0-rc34

* use the aaactl org id (#65)

* use the aaactl org id

* linting

* use remote id instead

* poetry lock

* Version 1.0.0-rc35

* poetry lock

* Version 1.0.0-rc36

* Version 1.0.0-rc37

* Nautobot tags (#66)

* sync nautobot tags to virtual port, logical port and device (using meta field)
add `tags` read-only field to virtual port, logical port and device api serializers

* re-enable push

* use slug instead

* Version 1.0.0-rc38

* Device platform (#67)

* sync device platform from nautobot

* linting

* remove debug message

* expose devie meta to api

* device meta schema

* device meta only show platform and version if they are set

* add tags to meta

* poetry lock

* Version 1.0.0-rc39

* device meta fixes (#68)

* device meta PATCH endpoint
device meta made read only on device GET endpoint
device meta rename firmware to firmware_version

* linting

* poetry lock

* Version 1.0.0-rc40

* 20230728 UX (#69)

* formatting

* change deviceMeta.firmware to deviceMeta.firmware_version

* add meta to device_widget UI

* fix dashboard not redirecting correctly

sync application after select_device value changed

* move device_widget_info_row title case to css

* fix device widget form field duplication (#70)

* poetry lock

* Version 1.0.0-rc41

* poetry lock

* Version 1.0.0-rc42

* Fix device status error message (#71)

* dont limit error message blob in device operational status

* add missing migration

* poetry lock

* Version 1.0.0-rc43

* Fix nb new mgmt ip sync (#72)

* fix issue when a new management ip is pushed to a device, where it would not clear the old ip

* linting

* Referee reports (#73)

* referee report schema and display

* linting

* poetry lock

* Version 1.0.0-rc44

* poetry lock

* Version 1.0.0-rc45

* poetry lock

* Version 1.0.0-rc46

* poetry lock

* Version 1.0.0-rc47

* poetry lock

* Version 1.0.0-rc48

* poetry lock

* Version 1.0.0-rc49

* poetry lock

* Version 1.0.0-rc50

* bump to py3.9

* poetry lock

* Version 1.0.0-rc51

* poetry lock

* Version 1.0.0-rc52

* poetry lock

* Version 1.0.0-rc53

* poetry lock

* Version 1.0.0-rc54

* Device table sorting (#74)

* fix device table sorting

* formatting

* remove dbg statement

---------

Co-authored-by: Stefan Pratter <stefan@20c.com>

* poetry lock

* Version 1.0.0-rc55

* poetry lock

* poetry lock

* Version 1.0.0-rc56

* rm unused changelog, causing changelog validation to fail

* Version 1.0.0

---------

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: Jason Mishike <98209208+jason20c@users.noreply.github.com>
Co-authored-by: Martin Komon <mkomon@users.noreply.github.com>
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.

2 participants