コード例 #1
0
    def __init__(self,
                 password=None,
                 dbname='wa',
                 host='localhost',
                 port='5432',
                 user='******',
                 run_uuid=None,
                 list_runs=False):

        if psycopg2 is None:
            msg = 'Please install the psycopg2 in order to connect to postgres databases'
            raise HostError(msg)

        self.dbname = dbname
        self.host = host
        self.port = port
        self.user = user
        self.password = password
        self.run_uuid = run_uuid
        self.conn = None

        self.info = None
        self.state = None
        self.result = None
        self.target_info = None
        self._combined_config = None
        self.jobs = []
        self.job_specs = []

        self.connect()
        super(RunDatabaseOutput, self).__init__(conn=self.conn, reload=False)

        local_schema_version, db_schema_version = get_schema_versions(
            self.conn)
        if local_schema_version != db_schema_version:
            self.disconnect()
            msg = 'The current database schema is v{} however the local ' \
                  'schema version is v{}. Please update your database ' \
                  'with the create command'
            raise HostError(msg.format(db_schema_version,
                                       local_schema_version))

        if list_runs:
            print('Available runs are:')
            self._list_runs()
            self.disconnect()
            return
        if not self.run_uuid:
            print('Please specify "Run uuid"')
            self._list_runs()
            self.disconnect()
            return

        if not self.oid:
            self.oid = self._get_oid()
        self.reload()
コード例 #2
0
ファイル: postgresql.py プロジェクト: lukaszluba-arm/lisa
 def verify_schema_versions(self):
     local_schema_version, db_schema_version = get_schema_versions(self.conn)
     if local_schema_version != db_schema_version:
         self.cursor.close()
         self.cursor = None
         self.conn.commit()
         self.conn.reset()
         msg = 'The current database schema is v{} however the local ' \
               'schema version is v{}. Please update your database ' \
               'with the create command'
         raise OutputProcessorError(msg.format(db_schema_version, local_schema_version))