def delete_if_group_deleted(f): f.trap(NoSuchScalingGroupError) audit(log).msg( "A pending server belonging to a deleted scaling group " "({scaling_group_id}) is now active, and hence deletable. " "Deleting said server.", event_type="server.deletable") job = _DeleteJob(self.log, self.transaction_id, self.scaling_group, result, self.supervisor) job.start()
def delete_if_group_deleted(f): f.trap(NoSuchScalingGroupError) audit(log).msg( "A pending server belonging to a deleted scaling group " "({scaling_group_id}) is now active, and hence deletable. " "Deleting said server.", event_type="server.deletable") job = _DeleteJob(self.log, self.transaction_id, self.scaling_group, result, self.supervisor) d = job.start() self.supervisor.deferred_pool.add(d)
def _do_convergence_audit_log(_, log, delta, state): """ Logs a convergence event to the audit log """ audit_log = audit(log) if delta < 0: msg = "Deleting {0}".format(-delta) event_type = "convergence.scale_down" else: msg = "Starting {convergence_delta} new" event_type = "convergence.scale_up" msg += " servers to satisfy desired capacity" audit_log.msg( msg, event_type=event_type, convergence_delta=delta, # setting policy_id/webhook_id to None is a hack to prevent # them from making it into the audit log policy_id=None, webhook_id=None, **state.get_capacity() ) return state
def _do_convergence_audit_log(_, log, delta, state): """ Logs a convergence event to the audit log """ audit_log = audit(log) if delta < 0: msg = "Deleting {0}".format(-delta) event_type = "convergence.scale_down" else: msg = "Starting {convergence_delta} new" event_type = "convergence.scale_up" msg += " servers to satisfy desired capacity" audit_log.msg( msg, event_type=event_type, convergence_delta=delta, # setting policy_id/webhook_id to None is a hack to prevent # them from making it into the audit log policy_id=None, webhook_id=None, **state.get_capacity()) return state
def test_audit_msg(self): """ audit_log keyword is bound when msg is called """ auditlog = audit(self.log) auditlog.msg('hey') self.msg.assert_called_once_with('hey', audit_log=True)
def handle_success(group, state): if self.job_id not in state.pending: # server was slated to be deleted when it completed building. # So, deleting it now audit(log).msg( "A pending server that is no longer needed is now active, " "and hence deletable. Deleting said server.", event_type="server.deletable") job = _DeleteJob(self.log, self.transaction_id, self.scaling_group, result, self.supervisor) job.start() else: state.remove_job(self.job_id) state.add_active(result['id'], result) audit(log).msg("Server is active.", event_type="server.active") return state
def test_audit_err(self): """ audit_log keyword is bound when err is called """ exc = ValueError('boo') auditlog = audit(self.log) auditlog.err(exc) self.err.assert_called_once_with(exc, audit_log=True)
def handle_success(group, state): if self.job_id not in state.pending: # server was slated to be deleted when it completed building. # So, deleting it now audit(log).msg( "A pending server that is no longer needed is now active, " "and hence deletable. Deleting said server.", event_type="server.deletable", **_log_capacity(state)) job = _DeleteJob(self.log, self.transaction_id, self.scaling_group, result, self.supervisor) d = job.start() self.supervisor.deferred_pool.add(d) else: state.remove_job(self.job_id) state.add_active(result['id'], result) audit(log).msg("Server is active.", event_type="server.active", **_log_capacity(state)) return state
def _job_completed(self, _): audit(self.log).msg('Server deleted.', event_type="server.delete")
def set_logger(self, log): """ Sets the logger to a new bound log """ self._logger = audit(log)
def _scrub_succeeded(_): audit(self.log).msg("Otter-specific metadata scrubbed.", event_type="server.scrub_otter_metadata")