Commit Graph

60 Commits

Author SHA1 Message Date
ricardo.bartels@telekom.de c4e0e77726 fixes IP addresses marked as orphan when VM is turned off #192 2022-05-20 11:33:09 +02:00
ricardo.bartels@telekom.de 3d52e3950c adds arbitrary object attributes as custom fields to objects in NetBox
refs: #170
refs: #191
2022-05-19 17:31:06 +02:00
ricardo.bartels@telekom.de 077d0cd672 handles IP address objects better to support FHRP groups better
refs: #185
refs: #174
2022-05-03 14:33:23 +02:00
ricardo.bartels@telekom.de def19faabe fixes issue with wrong vm primary ip object type #172 2022-04-09 20:15:31 +02:00
ricardo.bartels@telekom.de a139c7ec42 fixes issue with tags assigned to NB objects which were not part of the data model
refs: #120
2022-04-08 00:15:00 +02:00
ricardo.bartels@telekom.de c0e1895382 give hint about device missing it's name #162 2022-03-29 21:33:29 +02:00
ricardo.bartels@telekom.de 6f8b9c0ccc adds an error message if a tag was not resolved #120 2022-03-29 16:56:53 +02:00
ricardo.bartels@telekom.de 6181795a3c allow to ignore objects which don't have a primary key set (devices) #162 2022-03-29 14:44:15 +02:00
ricardo.bartels@telekom.de 51dcd7a45d adds 'ipam.fhrpgroup' to IP addresses permitted 'assigned_object_type's #137 2022-01-31 15:10:14 +01:00
ricardo.bartels@telekom.de a9f25a6307 prepare release v1.2.2 2022-01-27 18:35:58 +01:00
ricardo.bartels@telekom.de 120f6757ad Adds support to import interface WWN from redfish source
refs: #121
2021-12-21 11:15:51 +01:00
ricardo.bartels@telekom.de ce5eb04ff8 adds syncing of vCenter Custom Attributes #114 2021-10-31 14:29:24 +01:00
ricardo.bartels@telekom.de efced66ec5 removes comments about circular dependencies #62 2021-10-26 14:27:10 +02:00
ricardo.bartels@telekom.de b358a833af Enhances README to Cleary use of multiple sources
* fixes typos
* adds version and date to log on each run

refs: #109
2021-10-22 11:20:10 +02:00
ricardo.bartels@telekom.de a87904c626 Merge remote-tracking branch 'obestwalter/main' into development
refs: #61
2021-10-21 23:30:30 +02:00
ricardo.bartels@telekom.de 5a00cc5c3c adds "cluster_tenant_relation" and "cluster_tag_relation" to vmware source #110 2021-10-21 00:02:39 +02:00
ricardo.bartels@telekom.de b3f4928b9d Merge branch 'fix/skip-items-missing-primary-key-104' into development 2021-10-18 15:25:20 +02:00
ricardo.bartels@telekom.de 8a1d65aaea Merge branch 'fix/manufacturer-slug-issue' into development 2021-10-18 15:22:53 +02:00
ricardo.bartels@telekom.de db5eb64055 enhances logic of checkig if primary object key is present
Refs: #104
2021-10-16 08:16:29 +02:00
ricardo.bartels@telekom.de 20aa45b790 reduce DEBUG and DEBUG2 logging #97 2021-10-15 22:26:13 +02:00
ricardo.bartels@telekom.de 627e3c5215 adds check if object data contains primary key before adding #104
refs: #104
2021-10-15 21:25:16 +02:00
ricardo.bartels@telekom.de 48ab641d06 adds finding objects by slug name to match first when searching for objects
refs: #79
2021-10-15 15:10:10 +02:00
ricardo.bartels@telekom.de f2aeca0a7e adds ":" to characters in format_slug to substitute with "-" 2021-10-13 11:45:50 +02:00
ricardo.bartels@telekom.de 7d600bd5b1 fixes issue with manufacterer slug name
refs: #99
refs: #79
2021-09-30 23:10:21 +02:00
ricardo.bartels@telekom.de b775edbb58 adds class and methods descriptions to newly added objects
refs: #91
2021-09-24 17:42:53 +02:00
ricardo.bartels@telekom.de cbed134951 WIP: enhances the data enrichment on inventory items 2021-09-23 11:15:10 +02:00
ricardo.bartels@telekom.de 6a5000cfbd adds network interface speed detection
refs: #91
2021-09-22 23:20:59 +02:00
ricardo.bartels@telekom.de 716ee29446 WIP: adds ip address support for check_redfish source
refs: #91
2021-09-17 16:18:06 +02:00
ricardo.bartels@telekom.de f12dad5a65 WIP: enhances redfish import and deletes incorrect inv items
refs: #91
2021-09-14 18:17:00 +02:00
ricardo.bartels@telekom.de 34d11017ac WIP: adds more custom fields for a better data representation 2021-09-14 18:16:52 +02:00
ricardo.bartels@telekom.de 37715b2fa7 WIP: adds new source check_redfish #91
refs: #91
refs: #79
2021-09-14 18:16:43 +02:00
Oliver Bestwalter 7ab8e31117 workaround for problem of undefined objects
There is a circular dependency between class objects that are needed during class creation. There is no way to solve this during module import when the class objects are created. An easy way to fix this is to defer the the creation of the data_model dict to a time where all class objects are already created. Her it is deferred to the point in time, when an object of that class is created, simply making data_model an instance object.

As long as not too many objects are created this is the easiest way to ensure that all objects are already created. The fact that there is now one data_model per instance, instead of one per class will only start to be a problem, if this code needs to adhere to strict memory restrictions or millions of objects are created. Then there are ways to make sure that only the first instance that is created, initializes the data_model on the class object and later initializations have no effect. As that is "cleverer" code though, this should only be done if really necessary.
2021-05-12 16:10:03 +02:00
Oliver Bestwalter af0d1a5636 clarify intent and make static code analysis happy
Add the mandatory class attributes expected of all subclasses to the parent class. This clarifies the intent that they must be set and which type they have by assigning a falsy object of the correct type. A check on instantiation makes sure then, that all values are set now. There are other ways of doing that, but this is the simplest in the current implementation.

Adding an assert isinstance(...) doubles as a sanity check and a help for the IDE to infer the type of an object (therefore append not being flagged as an undefined method on resolved_object_list anymore).
2021-05-12 13:57:20 +02:00
Ricardo Bartels d6bd331e2a fixes issue with with last commit if current value is None
refs: #58
refs: #59
2021-04-26 09:44:21 +02:00
Ricardo Bartels 380e78a9ff adds support for NetBox 2.11 "vcpus" float change
refs: #58
2021-04-23 16:55:16 +02:00
Ricardo Bartels 95d285309a prepared first release (Ada)
sets version to 1.0.0
2021-02-26 16:46:36 +01:00
Ricardo Bartels 98661fc9bb exclude object classes from pruning #18
refs: #18
2020-11-27 23:28:30 +01:00
Ricardo Bartels dcf47bc3e1 fixes problem with objects wrongly marked as orphaned
refs: #17
2020-11-27 14:03:40 +01:00
Ricardo Bartels b5513e8fdb fix creating/updating VLANs 2020-11-24 18:48:28 +01:00
Ricardo Bartels 3c8a1f7719 adds a 'vm_tenant_relation' config option to assign tenants to VMs
refs: #10
2020-11-23 18:32:39 +01:00
Ricardo Bartels 632a801505 speeds up object creation and fixes small bugs 2020-11-20 17:16:21 +01:00
Ricardo Bartels 5bb6f6289d fixes issues with last commit, caching is optional now
* primary_ip4/6 attribute will only be assigned in last run

refs: #6
refs: #7
2020-11-19 13:24:30 +01:00
Ricardo Bartels 4367ec3542 fixes use of internal names as var names 2020-11-17 22:44:50 +01:00
Ricardo Bartels b007dc6f81 adds MIT license to this porject 2020-11-17 12:15:54 +01:00
Ricardo Bartels 1783bfc09f fixes errors and typos in last commit 2020-11-16 21:01:53 +01:00
Ricardo Bartels 5ad5bedb51 WIP: documenting code, refactoring class names, NOT FNISHED
* need to finish documentation of VMWare handler class
* README.md needs to be rewritten completely
2020-11-16 18:31:52 +01:00
Ricardo Bartels 32125916bf removed standalone ESXi cluster type 2020-11-15 22:24:59 +01:00
Ricardo Bartels 321327f0b2 fixes wrong var name in last commit 2020-11-14 11:28:06 +01:00
Ricardo Bartels ed8ccda150 unresolved relations for object name resolution is now a soft error
which will be logged
2020-11-14 10:45:16 +01:00
Ricardo Bartels 4e2cb031d7 fixes a lot of logical errors and adds object caching by default
This is the first full (hopefully) working version of this syncing
script.

Now documentation needs some excessive love. Probably a lot of
dead code as well which needs to be removed.
2020-11-13 23:53:14 +01:00