diff --git a/AUTHORS.rst b/AUTHORS.rst index 2a513965..e2079009 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -11,6 +11,7 @@ Tony Tan (tony.tan@rackspace.com) Malini Kamalambal (malini.kamalambal@rackspace.com) Obulapathi Challa (obulapathi.challa@rackspace.com) Sriram Padmanabhan (sriram.padmanabhan@rackspace.com) +Mohan Madhavan (mohan.madhavan@rackspace.com) See also AUTHORS for a complete list of contributors. diff --git a/poppy/provider/akamai/driver.py b/poppy/provider/akamai/driver.py index e3a2573e..88918e2b 100644 --- a/poppy/provider/akamai/driver.py +++ b/poppy/provider/akamai/driver.py @@ -27,6 +27,7 @@ from poppy.openstack.common import log from poppy.provider.akamai import controllers from poppy.provider.akamai.mod_san_queue import zookeeper_queue from poppy.provider import base +import uuid LOG = log.getLogger(__name__) @@ -201,7 +202,7 @@ class CDNProvider(base.Driver): return san_info_storage.driver def is_alive(self): - + unique_id = str(uuid.uuid4()) request_headers = { 'Content-type': 'application/json', 'Accept': 'text/plain' @@ -210,12 +211,24 @@ class CDNProvider(base.Driver): resp = self.policy_api_client.put( self.akamai_policy_api_base_url.format( configuration_number=self.http_conf_number, - policy_name='healthcheck'), + policy_name=unique_id), data=json.dumps({'rules': []}), headers=request_headers) if resp.ok: + try: + LOG.info('Policy with {0} created'.format(unique_id)) + LOG.info('Akamai Health Check Succeeded') + self.policy_api_client.delete( + self.akamai_policy_api_base_url.format( + configuration_number=self.http_conf_number, + policy_name=unique_id)) + except Exception as e: + LOG.warn( + 'Akamai Health Check Succeeded but \ + failed to delete policy:{0}'.format(e)) return True + else: LOG.warn("Akamai Health Check Failed") LOG.warn("Response Status Code : {0}".format(resp.status_code))