Merge ~afreiberger/prometheus-openstack-exporter-snap:log-level-fix into prometheus-openstack-exporter-snap:master

Proposed by Drew Freiberger
Status: Merged
Merged at revision: 23f0cc580da3f9260c91097f62fe07ffd024e411
Proposed branch: ~afreiberger/prometheus-openstack-exporter-snap:log-level-fix
Merge into: prometheus-openstack-exporter-snap:master
Diff against target: 16 lines (+4/-1)
1 file modified
prometheus-openstack-exporter (+4/-1)
Reviewer Review Type Date Requested Status
James Hebden Pending
Canonical IS SAs Pending
Review via email: mp+375546@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Drew Freiberger (afreiberger) wrote :

When upgrading to new P-O-E snap, if the log_level is not set in the config file (such as is the case with prior p-o-e charm revisions prior to this commit [1], the following traceback is seen and p-o-e fails to start:

Nov 14 12:13:40 loomis prometheus-openstack-exporter.prometheus-openstack-exporter[31476]: Traceback (most recent call last):
Nov 14 12:13:40 loomis prometheus-openstack-exporter.prometheus-openstack-exporter[31476]: File "/snap/prometheus-openstack-exporter/30/bin/prometheus-openstack-exporter", line 795, in <module>
Nov 14 12:13:40 loomis prometheus-openstack-exporter.prometheus-openstack-exporter[31476]: numeric_log_level = getattr(logging, config.get('log_level').upper(), None)
Nov 14 12:13:40 loomis prometheus-openstack-exporter.prometheus-openstack-exporter[31476]: AttributeError: 'NoneType' object has no attribute 'upper'

[1] https://git.launchpad.net/prometheus-openstack-exporter-charm/commit/templates/prometheus-openstack-exporter.yaml?id=f6b2f96dd0c4d4656de8384f1308fcac0fefa2ef

Revision history for this message
Haw Loeung (hloeung) wrote :

Ah, I actually ran into this when testing with the new snap from edge. But looking at the change, it was from 2 years ago so not sure why it suddenly broke things.

Good fix though!

However, I think the project moved to GitHub - https://github.com/CanonicalLtd/prometheus-openstack-exporter

Revision history for this message
Haw Loeung (hloeung) wrote :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/prometheus-openstack-exporter b/prometheus-openstack-exporter
index c2118d4..e02f727 100755
--- a/prometheus-openstack-exporter
+++ b/prometheus-openstack-exporter
@@ -792,7 +792,10 @@ if __name__ == '__main__':
792 else:792 else:
793 log.addHandler(logging.StreamHandler())793 log.addHandler(logging.StreamHandler())
794 config = yaml.safe_load(args.config_file.read())794 config = yaml.safe_load(args.config_file.read())
795 numeric_log_level = getattr(logging, config.get('log_level').upper(), None)795 if config.get('log_level') is not None:
796 numeric_log_level = getattr(logging, config.get('log_level').upper(), None)
797 else
798 numeric_log_level = getattr(logging, 'INFO', None)
796 if not isinstance(numeric_log_level, int):799 if not isinstance(numeric_log_level, int):
797 raise ValueError('Invalid log level: %s' % config.get('log_level'))800 raise ValueError('Invalid log level: %s' % config.get('log_level'))
798 log.setLevel(numeric_log_level) 801 log.setLevel(numeric_log_level)

Subscribers

People subscribed via source and target branches