Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
fd4a9db
Closes #2512: Add device field to inventory item filter form
jeremystretch Nov 6, 2018
5baf86d
fix prefix length for 172.16.0.0/12 (#2548)
bleything Nov 6, 2018
5129538
add temporary support for hyphenated query params for #2549
lampwins Nov 6, 2018
b4998f4
Closes #2388: Enable filtering of devices/VMs by region
jeremystretch Nov 6, 2018
99edb8b
Release v2.4.7
jeremystretch Nov 6, 2018
cb83eb2
Merge pull request #2552 from digitalocean/develop
jeremystretch Nov 6, 2018
8bad25b
Post-release version bump
jeremystretch Nov 6, 2018
ce00226
Merge release v2.4.7 into develop-2.5
jeremystretch Nov 6, 2018
bb114ea
Re-implemented connected device API view & test
jeremystretch Nov 6, 2018
ad4e1f0
Improved templates for cable creation
jeremystretch Nov 6, 2018
5e06c5a
Added cable connection views for front/rear ports
jeremystretch Nov 6, 2018
6140dd9
Set unit_length to empty string when not specified during cable import
jeremystretch Nov 6, 2018
60452a7
Implemented DeviceComponentManager; removed natsort as a dependency
jeremystretch Nov 6, 2018
9f01692
Standardize usage of NaturalOrderingManager
jeremystretch Nov 6, 2018
f41f141
Removed unused class NullableModelMultipleChoiceField
jeremystretch Nov 6, 2018
338ce73
Removed deprecated expand_numeric_pattern()
jeremystretch Nov 6, 2018
e806b58
Release v2.5-beta1
jeremystretch Nov 6, 2018
f61cea6
Release v2.5-beta1
jeremystretch Nov 6, 2018
c063961
Add Cable count to home page (#2556)
Nov 7, 2018
c716ca1
Changelog query optimization
jeremystretch Nov 7, 2018
c183810
Add lag description to lag column
jeremystretch Nov 7, 2018
69d829c
Fixes #2473: Fix encoding of long (>127 character) secrets
jeremystretch Nov 7, 2018
d4e266d
Fixes #2563: Enable export templates for cables
jeremystretch Nov 7, 2018
1e36a88
Changelog for #2563
jeremystretch Nov 8, 2018
0dee558
Fixes #2567: Introduced proxy models to represent console/power/inter…
jeremystretch Nov 8, 2018
4b5181d
Fixes #2566: Prevent both ends of a cable from connecting to the same…
jeremystretch Nov 8, 2018
a228f1e
Closes #2569: Added LSH fiber type; removed SC duplex/simplex designa…
jeremystretch Nov 8, 2018
21fd889
Fix regression from #2566
jeremystretch Nov 8, 2018
bb5432d
PEP8 fix
jeremystretch Nov 8, 2018
3e92aa9
Fixes #2571: Enforce deletion of attached cable when deleting a termi…
jeremystretch Nov 8, 2018
30f8fb4
Fixes #2572: Add button to disconnect cable from circuit termination
jeremystretch Nov 8, 2018
61ca7ee
Closes #2559: Add a pre-commit git hook to enforce PEP8 validation
jeremystretch Nov 8, 2018
788847e
Fixes #2573: Fix bulk console/power/interface disconnections
jeremystretch Nov 8, 2018
be5bf6b
Closes #2570: Add bulk disconnect view for front/rear pass-through ports
jeremystretch Nov 8, 2018
845d467
Fixes #2575: Correct model specified for rack roles table
jeremystretch Nov 9, 2018
0316072
Fixes #2574: Remove duplicate interface links from topology maps
jeremystretch Nov 9, 2018
3bbf4a3
Fixes #2579: Add missing cable disconnect buttons for front/rear ports
jeremystretch Nov 9, 2018
04ae6ec
Fixes #2554: Fix cable trace display when following a rear port with …
jeremystretch Nov 9, 2018
75f0d8e
Closes #2578: Reorganized nested serializers
jeremystretch Nov 12, 2018
59589fd
Fixes #2580: Remove erroneous CSS class from "add components" button
jeremystretch Nov 12, 2018
5785fb6
Added development docs for extending a model
jeremystretch Nov 12, 2018
b6a256d
Expanded the development style guide
jeremystretch Nov 12, 2018
0c33af2
Fixes #2558: Filter on all tags when multiple are passed
jeremystretch Nov 12, 2018
bc8dbfd
Merge branch 'develop' into develop-2.5
jeremystretch Nov 12, 2018
9543b5e
fixed #2584 - validation for connecting front port to corresponding r…
lampwins Nov 13, 2018
7cd0e0b
#2584 changelog
lampwins Nov 13, 2018
8a6913f
fixed #2585 - connections with virtual interfaces
lampwins Nov 13, 2018
7887a70
#2585 changelog
lampwins Nov 13, 2018
65bc8f0
resolved #2586 - tests for the Cable model clean method
lampwins Nov 13, 2018
5649024
#2586 changelog
lampwins Nov 13, 2018
fc41359
removed blank line
lampwins Nov 13, 2018
f8e6cfb
Closes #2426: Introduced SESSION_FILE_PATH configuration setting for …
jeremystretch Nov 13, 2018
2fce7eb
Fixes #2565: Improved rendering of Markdown tables
jeremystretch Nov 13, 2018
7bed48f
Expanded device interfaces display to include MTU, MAC address, and tags
jeremystretch Nov 13, 2018
83be0b5
Closes #2490: Added bulk editing for config contexts
jeremystretch Nov 13, 2018
408f632
Fixes #2588: Catch all exceptions from failed NAPALM API Calls
jeremystretch Nov 14, 2018
23cde65
Fixes #2589: Virtual machine API serializer should require cluster as…
jeremystretch Nov 14, 2018
63bd480
Clean up cable termination types
jeremystretch Nov 14, 2018
641254b
Closes #2053: Introduced the LOGIN_TIMEOUT configuration setting
jeremystretch Nov 14, 2018
3c0181e
added logic to append &type=physical to interface API query for cable…
lampwins Nov 15, 2018
fd9b2f2
cleanup component filters and UI filter forms for device and device t…
lampwins Nov 15, 2018
dfe6ba5
#2583 changelog
lampwins Nov 15, 2018
7dde370
Fixes #2593: Fix toggling of connected cable's status
jeremystretch Nov 15, 2018
3366a6a
Closes #2557: Added object view for tags
jeremystretch Nov 15, 2018
a324638
Improved logic for recording cable path connection status
jeremystretch Nov 19, 2018
55cc327
Updated migrations
jeremystretch Nov 19, 2018
8c3a294
Standardized behavior and display of connection_status
jeremystretch Nov 19, 2018
5ce955a
Fixed toggling of connection status for cable path endpoints
jeremystretch Nov 20, 2018
c29ae9b
Added missing import buttons to cables list
jeremystretch Nov 20, 2018
55c153c
Release v2.4.8
jeremystretch Nov 20, 2018
34bfb89
Post-release version bump
jeremystretch Nov 20, 2018
8d43291
Merge pull request #2600 from digitalocean/develop
jeremystretch Nov 20, 2018
874acab
Merge v2.4.8
jeremystretch Nov 20, 2018
89622f1
Fixes #2602: Return HTTP 204 when no new IPs/prefixes are available f…
jeremystretch Nov 20, 2018
2b1516e
Changelog for #2602
jeremystretch Nov 20, 2018
240d226
Strip annotations from queryset when retrieving object count for API …
jeremystretch Nov 21, 2018
d59be29
Closes #2601: Added a description field to pass-through ports
jeremystretch Nov 21, 2018
a46f68c
Fixes #2608: Fixed null outer_unit error on rack import
jeremystretch Nov 26, 2018
2bae50f
Enforce consistent ordering of value/label keys for ChoiceField
jeremystretch Nov 26, 2018
7d8ae5e
Fixes #2609: Fixed exception when ChoiceField integer value is passed…
jeremystretch Nov 26, 2018
f052bbc
Refactor Extras Migration Version Check (#2604)
tyler-8 Nov 26, 2018
7346083
Fixes #2606 - Added MultipleChoiceFilter for form_factor (#2610)
DanSheps Nov 26, 2018
90a4b62
Changelog for #2606
jeremystretch Nov 26, 2018
3f1b42d
Release v2.5-beta2
jeremystretch Nov 26, 2018
7d26229
Added a description and repo URL for each dependency
jeremystretch Nov 27, 2018
f3aef37
Add developer guidance for the introduction of new dependencies
jeremystretch Nov 27, 2018
bd7aee7
Closes #2614: Simplify calls of super() for Python 3
jeremystretch Nov 27, 2018
4da755e
Formatting cleanup
jeremystretch Nov 27, 2018
5d07a5a
Fixes #2613: Decrease live search minimum characters to three
jeremystretch Nov 27, 2018
d274470
Fixes #2615: Tweak live search widget to use brief format for API req…
jeremystretch Nov 27, 2018
c3cdf8e
Fix type mismatches in API view (#2429)
tatsushid Nov 27, 2018
112aaea
Updated changelog for #2400
jeremystretch Nov 27, 2018
c6d048c
Fixes #2576: Correct type for count_* fields in site API representation
jeremystretch Nov 27, 2018
879d879
Closes #2617: Explicitly mention that test service runs on port 8000
jeremystretch Nov 28, 2018
6c2a910
Closes #2597: Add FibreChannel SFP28 (32GFC) interface form factor
jeremystretch Nov 28, 2018
5acd429
Fixes #2624: Delete associated content type and permissions when remo…
jeremystretch Nov 28, 2018
08b4b24
Fixes #2622: Enable filtering cables by multiple types/colors
jeremystretch Nov 28, 2018
a43fc0d
Closes #2560: Add slug to DeviceType UI view
jeremystretch Nov 28, 2018
ca0248c
Closes #2089: Add SONET interface form factors
jeremystretch Nov 30, 2018
a1a9396
Closes #2594: upgrade.sh no longer invokes sudo
jeremystretch Nov 30, 2018
d1cd366
Fixes #2616: Convert Rack outer_unit and Cable length_unit to integer…
jeremystretch Nov 30, 2018
232e6f5
#2635 - Update documentation for python3 update (#2636)
Dec 3, 2018
a3ade01
Fixes #2639: Fix preservation of length/dimensions unit for racks and…
jeremystretch Dec 3, 2018
0dcab07
fixes #2623 - model class being passed to rqworker
lampwins Dec 4, 2018
e6ee26c
CHANGELOG.md
lampwins Dec 4, 2018
90e7080
Closes #2641: Restored link to NetBox shell documentation
jeremystretch Dec 4, 2018
7bbf33e
Don't force the docs to open in a new window
jeremystretch Dec 4, 2018
dffa2d3
Closes #2632: Change representation of null values from 0 to 'null'
jeremystretch Dec 4, 2018
f0874f4
Add missing choices for new cable and rack fields
jeremystretch Dec 4, 2018
4e35676
Add reminder to update static field choices
jeremystretch Dec 4, 2018
d3d6c83
Fixes #2634: Enforce consistent representation of unnamed devices in …
jeremystretch Dec 4, 2018
ab4cb46
Additional API change notes
jeremystretch Dec 5, 2018
686a658
Closes #2495: Enable deep-merging of config context data
jeremystretch Dec 5, 2018
2a07e8f
Move queryset_to_csv() utility into ObjectListView to allow overridin…
jeremystretch Dec 5, 2018
870edbb
Fixes #2626: Remove extraneous permissions generated from proxy models
jeremystretch Dec 5, 2018
71dee27
Simplified filter_device() for Interfaces
jeremystretch Dec 6, 2018
64d37cd
Closes #2648: Include the connection_status field in nested represena…
jeremystretch Dec 6, 2018
360303f
Closes #2474: Add cabled and connection_status filters for device com…
jeremystretch Dec 6, 2018
45a1dfb
Closes #2649: Add connected_endpoint_type to connectable device compo…
jeremystretch Dec 6, 2018
703be25
Normalize connection_status for non-connected device components durin…
jeremystretch Dec 6, 2018
9689ba2
Fix representation of connected_endpoint_type for non-connected compo…
jeremystretch Dec 6, 2018
aa8c836
Closes #2611: Fix error handling when assigning a clustered device to…
jeremystretch Dec 7, 2018
8691943
Release v2.4.9
jeremystretch Dec 7, 2018
bf00835
Merge pull request #2653 from digitalocean/develop
jeremystretch Dec 7, 2018
65edffe
Merge v2.5 work
jeremystretch Dec 7, 2018
77fbc42
Relax Python version requirement to 3.4
jeremystretch Dec 7, 2018
44a2919
Django 2.1 requires Python 3.5+
jeremystretch Dec 7, 2018
2bd9f8a
Updated installation docs for v2.5 release
jeremystretch Dec 7, 2018
baeb793
Updated requirements for v2.5 release
jeremystretch Dec 7, 2018
7d4fa69
Fixes #2657: Fix typo
jeremystretch Dec 10, 2018
4e6652d
Change pip command to pip3
jeremystretch Dec 10, 2018
acbe5f6
Release v2.5.0
jeremystretch Dec 10, 2018
8863a31
Merge pull request #2660 from digitalocean/develop
jeremystretch Dec 10, 2018
93c95fd
Post-release version bump
jeremystretch Dec 10, 2018
b697c30
#2627: Removed reference to provider from Circuit.__str__()
jeremystretch Dec 11, 2018
064dd9b
Updating LDAP documentation
Jemikwa Dec 11, 2018
b4f79f1
Fixes #2666: Uses correct function for displaying choices label
DanSheps Dec 11, 2018
24d1707
Merge pull request #2670 from DanSheps/2666-fix-length-display
jeremystretch Dec 11, 2018
b8a4316
Changelog for #2666
jeremystretch Dec 11, 2018
8364e56
Fixes #2676: Fix exception when passing dictionary value to a ChoiceF…
jeremystretch Dec 11, 2018
b0a6781
Fixes #2680: Disallow POST requests to /dcim/interface-connections/ A…
jeremystretch Dec 12, 2018
6460c95
Fixes #2678: Fix error when viewing webhook in admin UI without write…
jeremystretch Dec 12, 2018
ee038bd
Closes #2655: Add 128GFC Fibrechannel interface type
jeremystretch Dec 12, 2018
3480832
Added changelog for #2662 (fixed under #2680)
jeremystretch Dec 12, 2018
785cdce
Closes #2671: Add documentation of API brief format
jeremystretch Dec 12, 2018
2418fed
Fixes #2663: Prevent duplicate interfaces from appearing under VLAN m…
jeremystretch Dec 12, 2018
edd763b
Fixes #2684: Fix custom field filtering
jeremystretch Dec 12, 2018
0d3b1bf
Fixes #2683: Fix exception when connecting a cable to a RearPort with…
jeremystretch Dec 12, 2018
a6c8c61
Closes #2674: Enable filtering changelog by object type under web UI
jeremystretch Dec 13, 2018
dd2a6a4
Fixes #2687: Correct naming of before/after filters for changelog ent…
jeremystretch Dec 13, 2018
bb56436
Fix regression from #2683
jeremystretch Dec 13, 2018
9f1fcca
Release v2.5.1
jeremystretch Dec 13, 2018
27a893a
Merge pull request #2688 from digitalocean/develop
jeremystretch Dec 13, 2018
d4a9318
Post-release version bump
jeremystretch Dec 13, 2018
f499f2d
Closes #2693
DanSheps Dec 14, 2018
82e8c01
Fixes #2707: Correct permission evaluation for circuit termination ca…
jeremystretch Dec 19, 2018
68cb8b6
Closes #2701: Enable filtering of prefixes by exact prefix value
jeremystretch Dec 19, 2018
aca57ec
Fixes #2698: Remove pagination restriction on bulk component creation…
jeremystretch Dec 19, 2018
f4a22e5
Introduced fgcolor template filter to render ideal foreground color f…
jeremystretch Dec 19, 2018
2f1db2f
Fixes #2691: Cable trace should follow circuits
jeremystretch Dec 19, 2018
40cb576
Fixes #2673: Fix exception on LLDP neighbors view for device with a c…
jeremystretch Dec 19, 2018
ba9fe40
#2675: Added InventoryItem search form field for 'discovered'
jeremystretch Dec 19, 2018
7f71fc1
Closes #2561: Add 200G and 400G interface types
jeremystretch Dec 19, 2018
b44a76e
Closes #2537: Added AUTH_LDAP_MIRROR_GROUPS setting to LDAP docs
jeremystretch Dec 19, 2018
6b19a2b
Fixes #2709: Update example report for compatibility with v2.5
jeremystretch Dec 19, 2018
aae10f7
Tweaked 200GE and 400GE interface type labels
jeremystretch Dec 20, 2018
8498e00
Merge pull request #2667 from Jemikwa/develop
jeremystretch Dec 20, 2018
7acbeb5
Minor tweaks
jeremystretch Dec 20, 2018
853b1fa
Fixes #2712: Preserve list filtering after editing objects in bulk
jeremystretch Dec 20, 2018
4a10b4e
Fixes #2704: Fix form select widget population on parent with null value
jeremystretch Dec 20, 2018
91a2168
Fixes #2717: Fix bulk deletion of tags
jeremystretch Dec 21, 2018
38276d9
Fixes #2723: Correct permission evaluation when bulk deleting tags
jeremystretch Dec 21, 2018
a3097d2
Fixes #2721: Detect loops when tracing front/rear ports
jeremystretch Dec 21, 2018
ebe5193
Fixes #2724: Limit rear port choices to current device when editing a…
jeremystretch Dec 21, 2018
3705e37
Release v2.5.2
jeremystretch Dec 21, 2018
8cf8710
Merge pull request #2725 from digitalocean/develop
jeremystretch Dec 21, 2018
d144d3a
Post-release version bump
jeremystretch Dec 21, 2018
c6d9206
Added ability to search for cables in global search
MarcHagen Dec 29, 2018
28a02e9
initial select2 support
lampwins Dec 30, 2018
c581661
Show exception description on failure to render graphviz
candlerb Jan 1, 2019
f3cfc17
fix processing of initial tags
lampwins Jan 3, 2019
5285b69
updated filter-for attr handling
lampwins Jan 3, 2019
0c86693
Closes #2693
DanSheps Jan 3, 2019
6ca045e
Merge pull request #2694 from DanSheps/2693-fiber-cable-colors
jeremystretch Jan 3, 2019
27ca0d0
Merge pull request #2737 from TakeMeNL/feature/2726
jeremystretch Jan 3, 2019
3101a86
Changelog updates; import cleanup
jeremystretch Jan 3, 2019
209a9f0
Closes #1630: Enable bulk editing of prefix/IP mask length
jeremystretch Jan 3, 2019
0a820d9
Closes #1871: Enable filtering sites by parent region
jeremystretch Jan 3, 2019
81a0889
initial static select2 fields
lampwins Jan 4, 2019
848aa0b
Closes #1870: Add per-page toggle to object lists
jeremystretch Jan 4, 2019
99dc46a
Fixes #2742: Preserve cluster assignment when editing a device
jeremystretch Jan 4, 2019
170e01b
Closes #1983: Enable regular expressions when bulk renaming device co…
jeremystretch Jan 4, 2019
7a5a73c
fixed whitespace
lampwins Jan 4, 2019
fca97f9
Merge branch 'develop' of github.com:digitalocean/netbox into select2-ui
lampwins Jan 4, 2019
f7f6704
Preserve filtering/ordering parameters when modifying per_page count
jeremystretch Jan 4, 2019
c27cea9
select2 for all create/edit forms in dcim
lampwins Jan 4, 2019
6d5d9c8
implemented #2590 - improved color picker with actual colors
lampwins Jan 5, 2019
72d5c6f
#2590 changelog
lampwins Jan 5, 2019
73a1d6a
Fixes #2762: Add missing DCIM field values to API _choices endpoint
jeremystretch Jan 8, 2019
0d415d9
Fixes #2757: Always treat first/last IPs within a /31 or /127 as usable
jeremystretch Jan 8, 2019
bf8d57c
DCIM filter forms select2
lampwins Jan 8, 2019
5676bd1
Closes #2682: Add DAC and AOC cable types
jeremystretch Jan 9, 2019
f3216ab
Merge branch 'develop' of github.com:digitalocean/netbox into select2-ui
lampwins Jan 9, 2019
c89735c
Disable wrapping of report labels
jeremystretch Jan 9, 2019
a6564c4
DCIM removed annotates from querysets
lampwins Jan 9, 2019
86bafbb
Tenancy Select2 forms
lampwins Jan 10, 2019
951e7a6
Secrets Select2 forms
lampwins Jan 10, 2019
6dcd48f
Virtulization Select2 forms
lampwins Jan 10, 2019
60224be
Merge branch 'develop' of github.com:digitalocean/netbox into select2-ui
lampwins Jan 10, 2019
5f1f8ee
Circuits Select2 forms
lampwins Jan 10, 2019
ad4fb3c
IPAM Select2 forms and changelog
lampwins Jan 11, 2019
17d6584
removed deprecated code
lampwins Jan 11, 2019
dd5f373
Fixes #2777: Fix cable validation to handle duplicate connections on …
jeremystretch Jan 11, 2019
d356e28
Expanded the bug report template
jeremystretch Jan 11, 2019
28a2981
Release v2.5.3
jeremystretch Jan 11, 2019
e17d79e
Merge pull request #2778 from digitalocean/develop
jeremystretch Jan 11, 2019
9e492cb
Post-release version bump
jeremystretch Jan 11, 2019
4a290f3
Fixes #2783: Fix AttributeError exception when attempting to delete r…
jeremystretch Jan 15, 2019
1d7a7e2
Fixes #2779: Include "none" option when filter IP addresses by role
jeremystretch Jan 15, 2019
d6d8b07
Merge branch 'develop' into select2-ui
lampwins Jan 15, 2019
c5f2cbf
Syntax fix
jeremystretch Jan 15, 2019
b6737af
Remove invalid kwarg (conflict w/ #2779)
jeremystretch Jan 15, 2019
2d7e5a5
handle disabled-indicator
lampwins Jan 15, 2019
af6bb53
removed debug log
lampwins Jan 15, 2019
1abbaf9
Merge pull request #2772 from digitalocean/select2-ui
lampwins Jan 16, 2019
dc9e9fd
select2 changelog items
lampwins Jan 16, 2019
a950c95
Merge pull request #2738 from candlerb/candlerb/graphviz-exception
jeremystretch Jan 16, 2019
bd74e2f
Closes #2782: Add is_pool field for prefix filtering
jeremystretch Jan 17, 2019
92a2f52
Closes #2766: Extend users admin table to include superuser and activ…
jeremystretch Jan 17, 2019
c69fad7
Closes #2733: Enable bulk assignment of MAC addresses to interfaces
jeremystretch Jan 17, 2019
fb0ed3d
Fixes #2798: URL encode physical_address in links
bgilmore Jan 18, 2019
ae8c5ae
Merge pull request #2799 from bgilmore/develop
jeremystretch Jan 18, 2019
0d717cd
Changelog for #2798
jeremystretch Jan 18, 2019
1469503
Strip return characters when removing line breaks
jeremystretch Jan 18, 2019
4227c6b
Add select2-bootstrap for consistent widget styling
jeremystretch Jan 23, 2019
22eebbb
Fixes #2795: Fix duplicate display of pagination controls on child pr…
jeremystretch Jan 23, 2019
d532490
Closes #2807: Include device site/rack assignment in cable trace view
jeremystretch Jan 23, 2019
61a4832
Add pagination widget to console/power/interface connections views
jeremystretch Jan 23, 2019
ff40a13
fixed select2 paging offset calculation to index at 1
lampwins Jan 29, 2019
afb4c63
Fix #2802 (#2803)
ChrisPortman Jan 29, 2019
8977ded
Changelog for #2802
jeremystretch Jan 29, 2019
b4c9ec2
Updated optional-settings.md - Webhook links (#2818)
fouram Jan 29, 2019
ce1a287
Closes #2808: Loosen version pinning for Django to allow patch releases
jeremystretch Jan 29, 2019
dc70fdb
Force string formatting of integer values
jeremystretch Jan 29, 2019
0256448
Closes #2810: Include description fields in interface connections export
jeremystretch Jan 29, 2019
8bd9b25
Fixes #2816: Handle exception when deleting a device with connected c…
jeremystretch Jan 29, 2019
f6d18d2
Release v2.5.4
jeremystretch Jan 29, 2019
6726403
Merge pull request #2821 from digitalocean/develop
jeremystretch Jan 29, 2019
988730e
Fixed merge conflict
netcrafter Jan 30, 2019
db322d0
Fix prefix table layout
netcrafter Jan 31, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 10 additions & 5 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,20 @@ about: Report a reproducible bug in the current release of NetBox
-->
### Environment
* Python version: <!-- Example: 3.5.4 -->
* NetBox version: <!-- Example: 2.3.6 -->
* NetBox version: <!-- Example: 2.5.2 -->

<!--
Describe in detail the steps that someone else can take to reproduce this
bug using the current stable release of NetBox (or the current beta release
where applicable).
Describe in detail the exact steps that someone else can take to reproduce
this bug using the current stable release of NetBox (or the current beta
release where applicable). Begin with the creation of any necessary
database objects and call out every operation being performed explicitly.
If reporting a bug in the REST API, be sure to reconstruct the raw HTTP
request(s) being made: Don't rely on a wrapper like pynetbox.
-->
### Steps to Reproduce

1.
2.
3.

<!-- What did you expect to happen? -->
### Expected Behavior
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@
fabfile.py
*.swp
gunicorn_config.py
.DS_Store
.vscode
1 change: 0 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ addons:
postgresql: "9.4"
language: python
python:
- "2.7"
- "3.5"
install:
- pip install -r requirements.txt
Expand Down
3,613 changes: 1,920 additions & 1,693 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ or join us in the #netbox Slack channel on [NetworkToCode](https://networktocode

### Build Status

NetBox is built against both Python 2.7 and 3.5. Python 3.5 or higher is strongly recommended.

| | status |
|-------------|------------|
| **master** | [![Build Status](https://travis-ci.org/digitalocean/netbox.svg?branch=master)](https://travis-ci.org/digitalocean/netbox) |
Expand Down
69 changes: 58 additions & 11 deletions base_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,25 +1,72 @@
# django-filter-1.1.0 breaks with Django-2.1
Django>=1.11,<2.1
# The Python web framework on which NetBox is built
# https://github.com/django/django
Django

# Django middleware which permits cross-domain API requests
# https://github.com/OttoYiu/django-cors-headers
django-cors-headers

# Runtime UI tool for debugging Django
# https://github.com/jazzband/django-debug-toolbar
django-debug-toolbar
# django-filter-2.0.0 drops Python 2 support (blocked by #2000)
django-filter==1.1.0

# Library for writing reusable URL query filters
# https://github.com/carltongibson/django-filter
django-filter

# Modified Preorder Tree Traversal (recursive nesting of objects)
# https://github.com/django-mptt/django-mptt
django-mptt

# Abstraction models for rendering and paginating HTML tables
# https://github.com/jieter/django-tables2
django-tables2

# User-defined tags for objects
# https://github.com/alex/django-taggit
django-taggit

# A Django REST Framework serializer which represents tags
# https://github.com/glemmaPaul/django-taggit-serializer
django-taggit-serializer

# A Django field for representing time zones
# https://github.com/mfogel/django-timezone-field/
django-timezone-field
# https://github.com/encode/django-rest-framework/issues/6053
djangorestframework==3.8.1

# A REST API framework for Django projects
# https://github.com/encode/django-rest-framework
djangorestframework

# Swagger/OpenAPI schema generation for REST APIs
# https://github.com/axnsan12/drf-yasg
drf-yasg[validation]

# Python interface to the graphviz graph rendering utility
# https://github.com/xflr6/graphviz
graphviz
Markdown
natsort
ncclient

# Simple markup language for rendering HTML
# https://github.com/Python-Markdown/markdown
# py-gfm requires Markdown<3.0
Markdown<3.0

# Library for manipulating IP prefixes and addresses
# https://github.com/drkjam/netaddr
netaddr
paramiko

# Fork of PIL (Python Imaging Library) for image processing
# https://github.com/python-pillow/Pillow
Pillow

# PostgreSQL database adapter for Python
# https://github.com/psycopg/psycopg2
psycopg2-binary

# GitHub-flavored Markdown extensions
# https://github.com/zopieux/py-gfm
py-gfm

# Extensive cryptographic library (fork of pycrypto)
# https://github.com/Legrandin/pycryptodome
pycryptodome
xmltodict
4 changes: 2 additions & 2 deletions docs/additional-features/reports.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class DeviceConnectionsReport(Report):

# Check that every console port for every active device has a connection defined.
for console_port in ConsolePort.objects.select_related('device').filter(device__status=DEVICE_STATUS_ACTIVE):
if console_port.cs_port is None:
if console_port.connected_endpoint is None:
self.log_failure(
console_port.device,
"No console connection defined for {}".format(console_port.name)
Expand All @@ -63,7 +63,7 @@ class DeviceConnectionsReport(Report):
for device in Device.objects.filter(status=DEVICE_STATUS_ACTIVE):
connected_ports = 0
for power_port in PowerPort.objects.filter(device=device):
if power_port.power_outlet is not None:
if power_port.connected_endpoint is not None:
connected_ports += 1
if power_port.connection_status == CONNECTION_STATUS_PLANNED:
self.log_warning(
Expand Down
8 changes: 8 additions & 0 deletions docs/additional-features/webhooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ A webhook defines an HTTP request that is sent to an external application when c

An optional secret key can be configured for each webhook. This will append a `X-Hook-Signature` header to the request, consisting of a HMAC (SHA-512) hex digest of the request body using the secret as the key. This digest can be used by the receiver to authenticate the request's content.

## Installation

If you are upgrading from a previous version of Netbox and want to enable the webhook feature, please follow the directions listed in the sections below.

* [Install Redis server and djano-rq package](../installation/2-netbox/#install-python-packages)
* [Modify configuration to enable webhooks](../installation/2-netbox/#webhooks-configuration)
* [Create supervisord program to run the rqworker process](../installation/3-http-daemon/#supervisord-installation)

## Requests

The webhook POST request is structured as so (assuming `application/json` as the Content-Type):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This will launch a customized version of [the built-in Django shell](https://doc
```
$ ./manage.py nbshell
### NetBox interactive shell (jstretch-laptop)
### Python 2.7.6 | Django 1.11.3 | NetBox 2.1.0-dev
### Python 3.5.2 | Django 2.0.8 | NetBox 2.4.3
### lsmodels() will show available models. Use help(<model>) for more info.
```

Expand Down
48 changes: 47 additions & 1 deletion docs/api/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ The base serializer is used to represent the default view of a model. This inclu
}
```

Related objects (e.g. `ForeignKey` fields) are represented using a nested serializer. A nested serializer provides a minimal representation of an object, including only its URL and enough information to construct its name. When performing write api actions (`POST`, `PUT`, and `PATCH`), any `ForeignKey` relationships do not use the nested serializer, instead you will pass just the integer ID of the related model.
Related objects (e.g. `ForeignKey` fields) are represented using a nested serializer. A nested serializer provides a minimal representation of an object, including only its URL and enough information to construct its name. When performing write api actions (`POST`, `PUT`, and `PATCH`), any `ForeignKey` relationships do not use the nested serializer, instead you will pass just the integer ID of the related model.

When a base serializer includes one or more nested serializers, the hierarchical structure precludes it from being used for write operations. Thus, a flat representation of an object may be provided using a writable serializer. This serializer includes only raw database values and is not typically used for retrieval, except as part of the response to the creation or updating of an object.

Expand All @@ -122,6 +122,52 @@ When a base serializer includes one or more nested serializers, the hierarchical
}
```

## Brief Format

Most API endpoints support an optional "brief" format, which returns only a minimal representation of each object in the response. This is useful when you need only a list of the objects themselves without any related data, such as when populating a drop-down list in a form.

For example, the default (complete) format of an IP address looks like this:

```
GET /api/ipam/prefixes/13980/

{
"id": 13980,
"family": 4,
"prefix": "192.0.2.0/24",
"site": null,
"vrf": null,
"tenant": null,
"vlan": null,
"status": {
"value": 1,
"label": "Active"
},
"role": null,
"is_pool": false,
"description": "",
"tags": [],
"custom_fields": {},
"created": "2018-12-11",
"last_updated": "2018-12-11T16:27:55.073174-05:00"
}
```

The brief format is much more terse, but includes a link to the object's full representation:

```
GET /api/ipam/prefixes/13980/?brief=1

{
"id": 13980,
"url": "https://netbox/api/ipam/prefixes/13980/",
"family": 4,
"prefix": "192.0.2.0/24"
}
```

The brief format is supported for both lists and individual objects.

## Static Choice Fields

Some model fields, such as the `status` field in the above example, utilize static integers corresponding to static choices. The available choices can be retrieved from the read-only `_choices` endpoint within each app. A specific `model:field` tuple may optionally be specified in the URL.
Expand Down
20 changes: 18 additions & 2 deletions docs/configuration/optional-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,14 @@ Setting this to True will permit only authenticated users to access any part of

---

## LOGIN_TIMEOUT

Default: 1209600 seconds (14 days)

The liftetime (in seconds) of the authentication cookie issued to a NetBox user upon login.

---

## MAINTENANCE_MODE

Default: False
Expand Down Expand Up @@ -223,6 +231,14 @@ The file path to the location where custom reports will be kept. By default, thi

---

## SESSION_FILE_PATH

Default: None

Session data is used to track authenticated users when they access NetBox. By default, NetBox stores session data in the PostgreSQL database. However, this inhibits authentication to a standby instance of NetBox without write access to the database. Alternatively, a local file path may be specified here and NetBox will store session data as files instead of using the database. Note that the user as which NetBox runs must have read and write permissions to this path.

---

## TIME_ZONE

Default: UTC
Expand All @@ -235,7 +251,7 @@ The time zone NetBox will use when dealing with dates and times. It is recommend

Default: False

Enable this option to run the webhook backend. See the docs section on the webhook backend [here](../miscellaneous/webhooks/) for more information on setup and use.
Enable this option to run the webhook backend. See the docs section on the webhook backend [here](../additional-features/webhooks/) for more information on setup and use.

---

Expand All @@ -258,7 +274,7 @@ SHORT_DATETIME_FORMAT = 'Y-m-d H:i' # 2016-06-27 13:23

## Redis Connection Settings

[Redis](https://redis.io/) is a key-value store which functions as a very lightweight database. It is required when enabling NetBox [webhooks](../miscellaneous/webhooks/). A Redis connection is configured using a dictionary similar to the following:
[Redis](https://redis.io/) is a key-value store which functions as a very lightweight database. It is required when enabling NetBox [webhooks](../additional-features/webhooks/). A Redis connection is configured using a dictionary similar to the following:

```
REDIS = {
Expand Down
2 changes: 1 addition & 1 deletion docs/core-functionality/circuits.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Circuit types are fully customizable.

A circuit may have one or two terminations, annotated as the "A" and "Z" sides of the circuit. A single-termination circuit can be used when you don't know (or care) about the far end of a circuit (for example, an Internet access circuit which connects to a transit provider). A dual-termination circuit is useful for tracking circuits which connect two sites.

Each circuit termination is tied to a site, and optionally to a specific device and interface within that site. Each termination can be assigned a separate downstream and upstream speed independent from one another. Fields are also available to track cross-connect and patch panel details.
Each circuit termination is tied to a site, and may optionally be connected via a cable to a specific device interface or pass-through port. Each termination can be assigned a separate downstream and upstream speed independent from one another. Fields are also available to track cross-connect and patch panel details.

!!! note
A circuit represents a physical link, and cannot have more than two endpoints. When modeling a multi-point topology, each leg of the topology must be defined as a discrete circuit.
Expand Down
Loading