"""A Webserver to send alarm notifications from Aodh to the SO."""
import json
import logging
+import os
import sys
import time
-import os
from six.moves.BaseHTTPServer import BaseHTTPRequestHandler
from six.moves.BaseHTTPServer import HTTPServer
from osm_mon.plugins.OpenStack.common import Common
from osm_mon.plugins.OpenStack.response import OpenStack_Response
-from osm_mon.plugins.OpenStack.settings import Config
+from osm_mon.core.settings import Config
class NotifierHandler(BaseHTTPRequestHandler):
def do_GET(self):
"""Get request functionality."""
self._set_headers()
- self.wfile.write("<html><body><h1>hi!</h1></body></html>")
def do_POST(self):
"""POST request function."""
# Gets the size of data
content_length = int(self.headers['Content-Length'])
post_data = self.rfile.read(content_length)
- self.wfile.write("<html><body><h1>POST!</h1></body></tml>")
+ try:
+ post_data = post_data.decode()
+ except AttributeError:
+ pass
log.info("This alarm was triggered: %s", json.loads(post_data))
# Generate a notify_alarm response for the SO
sev=values['severity'], date=a_date,
state=values['current'], vim_type="openstack")
producer.notify_alarm(
- 'notify_alarm', resp_message, 'alarm_response')
+ 'notify_alarm', resp_message)
log.info("Sent an alarm response to SO: %s", resp_message)
except Exception as exc:
log.exception("Couldn't notify SO of the alarm:")
else:
- log.warn("No resource_id for alarm; no SO response sent.")
+ log.warning("No resource_id for alarm; no SO response sent.")
else:
- log.warn("Authentication failure; SO notification not sent.")
+ log.warning("Authentication failure; SO notification not sent.")
except:
log.exception("Could not notify alarm.")
log.info("Starting alarm notifier server on port: %s", port)
httpd.serve_forever()
except Exception as exc:
- log.warn("Failed to start webserver, %s", exc)
+ log.warning("Failed to start webserver, %s", exc)
if __name__ == "__main__":