Commit Graph

61 Commits

Author SHA1 Message Date
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
151ddf1bd0 adds feature to sync tags from vCenter to NetBox
refs: #65
2021-10-18 15:16:10 +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
ffff4904c7 Merge branch 'main' into feature/source-check-redfish 2021-09-14 18:25:45 +02:00
ricardo.bartels@telekom.de
6268a84cbd fixes error with shadowed name 'version' in NetBoxHandler 2021-09-14 18:21:57 +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
ricardo.bartels@telekom.de
9dea35655c add content type headers to netbox requests to stay compliant 2021-09-14 12:49:19 +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
53c97b47b8 prevents exception if "API-Version" in NetBox response header is missing
refs: #57
2021-04-23 12:10:01 +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
98e28dd70a skips pruning of objects from disabled sources
refs: #38
2021-02-11 22:59:29 +01:00
Ricardo Bartels
ebda6af266 fixes orphaned tagging for disabled sources
refs: #38
2021-02-05 18:35:55 +01:00
Ricardo Bartels
8205fc821e enhances pruning and adds description
refs: #18
2020-11-30 14:26:47 +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
4dd7aed5f9 fixes search for devices by serial and asset tag
refs: #15
2020-11-23 15:57:33 +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
2b3757b945 adds documentation to README.md and settings-example.ini 2020-11-17 18:49:45 +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
Ricardo Bartels
fca25a8376 WIP: adds untagged_vlan to interfaces and fixes primary_ip assignment 2020-11-11 16:30:18 +01:00