Skip to content
This repository has been archived by the owner on Dec 17, 2021. It is now read-only.

fix: matching on both dysDescr and sysObjectId #156

Merged
merged 3 commits into from
Oct 18, 2021
Merged

Conversation

weliasz
Copy link
Contributor

@weliasz weliasz commented Oct 18, 2021

Description

Matching is now done on both dysDescr and sysObjectId

Type of change

Please delete options that are not relevant.

  • Bug fix

How Has This Been Tested?

Run full matching process and confirmed both properties are used for matching

Checklist

  • My commit message is conventional
  • I have run pre-commit on all files before creating the PR
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have checked my code and corrected any misspellings

@codecov-commenter
Copy link

codecov-commenter commented Oct 18, 2021

Codecov Report

Merging #156 (db51d1a) into develop (4602304) will decrease coverage by 0.02%.
The diff coverage is 88.88%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #156      +/-   ##
===========================================
- Coverage    47.30%   47.28%   -0.03%     
===========================================
  Files           22       22              
  Lines         1205     1214       +9     
===========================================
+ Hits           570      574       +4     
- Misses         635      640       +5     
Impacted Files Coverage Δ
splunk_connect_for_snmp_poller/manager/poller.py 0.00% <0.00%> (ø)
...onnect_for_snmp_poller/manager/profile_matching.py 72.72% <100.00%> (+2.72%) ⬆️
..._connect_for_snmp_poller/manager/task_utilities.py 22.26% <0.00%> (-0.05%) ⬇️
...onnect_for_snmp_poller/manager/poller_utilities.py 40.90% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4602304...db51d1a. Read the comment docs.

@@ -251,7 +251,7 @@ def process_unmatched_devices(self, server_config):
if realtime_collection:
descr = extract_desc(realtime_collection)

if descr:
if any(descr):
Copy link
Contributor

Choose a reason for hiding this comment

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

so previously we were checking for if descr is not None, now we are using any that works a little bit differently.
What is the use case for change of logic?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So previously sysDescr took precedence over sysObjectId and imagine a scenario when someone added pattern on sysObjectId and both sysDescr and sysObjectId were present the match will not occur. I decided to perform matching on both sysDescr and sysObjectId.

def match_profile_with_device(device_desc, profile, profiles, result):
for pattern in profiles[profile]["patterns"]:
for desc in device_desc:
if desc and re.compile(pattern).match(desc):
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe compile is same as in java and it is not good to call it each time?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed

@github-actions
Copy link
Contributor

github-actions bot commented Oct 18, 2021

Expected release notes (by @weliasz)

features:
force inventory refresh (#149) (8026248)
add additionalvarbinds to enricher (#126) (98aeaf3)
enrich data with linked tables (#101) (75bdb13)
extract enricher data from config (#97) (123864f)
extract IF-MIB data from an SNMPWALK (#96) (7699591)
support polling the same IP address using multiple profiles (#92) (a6320ca)

fixes:
PR comments (42d4b7e)
build fix (db51d1a)
matching on both dysDescr and sysObjectId (0695d5d)
default event formatting (#155) (ed96f44)
fetch frequency (#152) (4602304)
allow * in profile (#151) (880dbce)
changed order of validation (#147) (8dd65e4)
add some restrictions for getting profiles from mib server (#145) (3c690a5)
add missing "break" (#144) (9b728d6)
error with no snmp received before timeout (#143) (b50480f)
'get_snmp_data() missing 1 required positional argument: 'additional_metric_fields'' and change error logger to debug (494ecbb)
change github.repository_owner to github.actor (#129) (89a3fb5)
add toJson() method to onetime_task (#127) (04b16f7)
update splunk indexes with meta_index (#116) (6d3f1bc)
changed indexes (#114) (9644663)
change way of checking if profile is an OID to use regex (#112) (277a050)
mongo real time data check (#107) (4526b0c)
change the way of creating host name which is an id in the database (#104) (bbf2733)
forced commit for creating new release (f3081c1)

others (will not be included in Semantic-Release notes):
861a40e [ADDON-43362] special builder for error message
bf2293d Feature/dynamic profile (#138)
adding pull request template (7314352)
better exception handling for mib request (a41fab9)
1.5.0-develop.9 (51d7678)
5a8a418 added 2 missing variables
0c2faf1 encapsulated hec sending request + test + correct pycov coverage report
803ff1a added sending error messages to hec isntead of ignoring them
remove local actionlint (3cc058e)
8ea42f0 added missing error messages
c23399b fixing logging level
1.5.0-develop.8 (8e7cc3d)
change image path (7167c4c)
edf4fc9 adding frequency to all metric data and profile if it is set in conf
4dd2c28 Feat/async rework (#122)
disable shellcheck SC1090 (734d523)
add actionlint as pre-commit step (52ac6f8)
allow dependabot[bot] and remove custom allow policy (437745f)
pre-commit autoupdate [ci skip] (e0544a4)
7ef1a09 refactor
remove black from dev dependency (1b07dd8)
add pre-commit step and remove lint step (9ef6611)
update severity threshold for snyk to "high" (#113) (7540a5b)
pre-commit autoupdate [ci skip] (6ff7b00)
pre-commit and debug statements [ci skip] (bb5e0ff)
set threshold for jscdp linter (#105) (c01fb4d)
1.5.0-develop.3 (7306e5d)
fix of duplicated code linter problem (c855088)
fix shellcheck (2fa415a)
apply mypy and flake8 (ec32122)
apply pre-commit isort (9c906f9)
exclude json files from copyright check (f3d6b2d)
update README to include pre-commit (cd6a9eb)
apply pre-commit black (c53b8b6)
pre-commit (9a24536)
33acbbf feat: Replace multiple SNMP walks with one SNMP Bulk (#100)
ebe3ebf Feature/redo walk (#95)
d5879c5 Stubs for lint
9cff184 Stubs for lint
adddbea Stubs for lint
5dc1549 Stubs for lint
2c5a5c3 Feat/multiple profiles2 (#93)

  • I hereby acknowledge these release notes are 🥙 AWESOME 🥙

@weliasz weliasz merged commit 15158e8 into develop Oct 18, 2021
@weliasz weliasz deleted the feat/matching_fix branch October 18, 2021 08:14
@github-actions github-actions bot locked and limited conversation to collaborators Oct 18, 2021
@ryanfaircloth
Copy link
Contributor

🎉 This PR is included in version 1.5.0-develop.19 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants