I'll look at bumping a bunch of the warnings down: current warings below, I'll be agressive and we can go through them on the review: heat/engine/environment.py: LOG.warn(_('Removing %(item)s from %(path)s') % { heat/engine/environment.py: LOG.warn(_('Removing %(item)s from %(path)s') % { heat/engine/environment.py: LOG.warn(_('Changing %(path)s from %(was)s to %(now)s') % details) heat/engine/event.py: LOG.warning(_('Duplicating event')) heat/engine/resource.py: LOG.warn(_('db error %s') % ex) heat/engine/resource.py: LOG.warning(_("Resource %s does not implement metadata update") heat/engine/resources/eip.py: LOG.warn(_("Floating IPs not found")) heat/engine/resources/eip.py: LOG.warn(_("Floating IPs not found")) heat/engine/resources/eip.py: LOG.warn(_('Skipping association, InstanceId not specified')) heat/engine/resources/eip.py: LOG.warn(_('Skipping association, resource not specified')) heat/engine/resources/neutron/neutron.py: LOG.warn(_("failed to fetch resource attributes: %s") % ex) heat/engine/resources/nova_utils.py: LOG.warning(msg % {'name': server.name, heat/engine/resources/nova_utils.py: LOG.warning(msg % {'name': server.name, heat/engine/resources/nova_utils.py: LOG.warn(_('Instance (%(server)s) not found: %(ex)s') heat/engine/resources/os_database.py: LOG.warning(msg % {'name': self.stack.name, heat/engine/resources/server.py: LOG.warn(_('Instance (%s) not found') % self.resource_id) heat/engine/resources/swift.py: LOG.warn(_("Head container failed: %s") % ex) heat/engine/resources/user.py: LOG.warning(_("Ignoring policy %s, must be string " heat/engine/resources/user.py: LOG.warning(_("Ignoring policy %s, must be string " heat/engine/resources/user.py: LOG.warning(_('Error deleting %s - user not found') % str(self)) heat/engine/resources/user.py: LOG.warn(_('could not get secret for %(username)s ' heat/engine/resources/user.py: LOG.warn(_('could not get secret for %(username)s ' heat/engine/resources/volume.py: LOG.warn(_('can not delete volume when in-use')) heat/engine/resources/volume.py: LOG.warning(_('%s - volume not found') % str(self)) heat/engine/resources/volume.py: LOG.warning(_('%(res)s - %(err)s') % {'res': str(self), heat/engine/resources/volume.py: LOG.warning(_('%s - volume not found') % str(self)) heat/engine/resources/wait_condition.py: LOG.warning(_("Overwriting Metadata item for id %s!") heat/engine/service.py: LOG.warn(_('periodic_task db error watch rule removed? %(ex)s') heat/engine/service.py: LOG.warning(_("Stack create failed, status %s") % stack.status) heat/engine/service.py: LOG.warning(_("Access denied to resource %s") % resource_name) heat/engine/service.py: LOG.warn(_('show_watch (all) db error %s') % ex) heat/engine/service.py: LOG.warn(_('show_metric (all) db error %s') % ex) heat/engine/signal_responder.py: LOG.warning(_('Cannot generate signed url, ' heat/engine/stack.py: LOG.warning(_("Unable to set parameters StackId identifier")) heat/engine/stack_lock.py: LOG.warning(_("Lock was already released on stack %s!") % stack_id) heat/engine/stack_resource.py: LOG.warning(not_implemented_msg % self.__class__.__name__) heat/engine/stack_user.py: LOG.warning(_('Reverting to legacy user delete path')) heat/engine/template.py: LOG.warn(_('Template does not contain any resources, so ' heat/engine/watchrule.py: LOG.warn(_('WatchRule.load (%(watch_name)s) db error ' heat/engine/watchrule.py: LOG.warning(_("Could not process watch state %s for stack") heat/engine/watchrule.py: LOG.warning(_("Unable to override state %(state)s for "