def delete_completed_rows(self, context):
     if self._rows_retention > 0:
         LOG.debug("Deleting completed rows")
         with db_api.autonested_transaction(context.session):
             db.delete_rows_by_state_and_time(
                 context.session, odl_const.COMPLETED,
                 timedelta(seconds=self._rows_retention))
Exemple #2
0
def delete_completed_rows(context):
    """Journal maintenance operation for deleting completed rows."""
    rows_retention = cfg.CONF.ml2_odl.completed_rows_retention
    if rows_retention <= 0:
        return

    LOG.debug("Deleting completed rows")
    db.delete_rows_by_state_and_time(context, odl_const.COMPLETED,
                                     timedelta(seconds=rows_retention))
Exemple #3
0
def delete_completed_rows(context):
    """Journal maintenance operation for deleting completed rows."""
    rows_retention = cfg.CONF.ml2_odl.completed_rows_retention
    if rows_retention <= 0:
        return

    LOG.debug("Deleting completed rows")
    db.delete_rows_by_state_and_time(
        context, odl_const.COMPLETED,
        timedelta(seconds=rows_retention))
Exemple #4
0
    def _test_delete_rows_by_state_and_time(self, last_retried, row_retention,
                                            state, expected_rows):
        db.create_pending_row(self.db_session, *self.UPDATE_ROW)

        # update state and last retried
        row = db.get_all_db_rows(self.db_session)[0]
        row.state = state
        row.last_retried = row.last_retried - timedelta(seconds=last_retried)
        self._update_row(row)

        db.delete_rows_by_state_and_time(self.db_session, odl_const.COMPLETED,
                                         timedelta(seconds=row_retention))

        # validate the number of rows in the journal
        rows = db.get_all_db_rows(self.db_session)
        self.assertEqual(expected_rows, len(rows))
Exemple #5
0
    def _test_delete_rows_by_state_and_time(self, last_retried, row_retention,
                                            state, expected_rows):
        db.create_pending_row(self.db_session, *self.UPDATE_ROW)

        # update state and last retried
        row = db.get_all_db_rows(self.db_session)[0]
        row.state = state
        row.last_retried = row.last_retried - timedelta(seconds=last_retried)
        self._update_row(row)

        db.delete_rows_by_state_and_time(self.db_session,
                                         odl_const.COMPLETED,
                                         timedelta(seconds=row_retention))

        # validate the number of rows in the journal
        rows = db.get_all_db_rows(self.db_session)
        self.assertEqual(expected_rows, len(rows))
Exemple #6
0
 def delete_completed_rows(self, session):
     if self._rows_retention is not -1:
         LOG.debug("Deleting completed rows")
         db.delete_rows_by_state_and_time(
             session, odl_const.COMPLETED,
             timedelta(seconds=self._rows_retention))