Ejemplo n.º 1
0
def _cache_password(meta):
    usernames = [
        v for k, v in meta.items()
        if ('username' in k.lower() or 'pmpname' in k.lower())
        and 'iris' in v.lower()
    ]
    for username in usernames:
        try:
            get_password_by_auth_token(username=username, meta=meta)
            print('Password for %s cached' % username)
        except Exception as e:
            print('Unable to fetch password for %s' % username)
            raise e
Ejemplo n.º 2
0
 def connect(self):
     try:
         self._connection = pika.BlockingConnection(self.get_connection_parameters(self.meta))
     except:
         self._logger.warning('Connection refused, try to sync the password of %s from PMP and connect again.'%self.meta["mq_pmpname"])
         self._password = get_password_by_auth_token(username=self.meta["mq_pmpname"], meta=self.meta)
         self._connection = pika.BlockingConnection(self.get_connection_parameters(self.meta))
Ejemplo n.º 3
0
 def get_connection(self):
     if not self.__connection:
         if self.password:
             try:
                 self.__connection = redis.Redis(host=self.server_name,
                                                 port=self.port,
                                                 db=self.db,
                                                 password=self.password,
                                                 decode_responses=True)
                 self.test_connection(self.__connection)
             except:
                 self._logger.warning(
                     'Connection refused, try to sync the password of %s from PMP and connect again.'
                     % self.meta["db_conn_redis_pmpname"])
                 self.password = get_password_by_auth_token(
                     username=self.meta["db_conn_redis_pmpname"],
                     meta=self.meta)  #refetch password and reconnect once
                 self.__connection = redis.Redis(host=self.server_name,
                                                 port=self.port,
                                                 db=self.db,
                                                 password=self.password,
                                                 decode_responses=True)
                 self.test_connection(self.__connection)
         else:
             self.__connection = redis.Redis(host=self.server_name,
                                             port=self.port,
                                             db=self.db,
                                             decode_responses=True)
     return self.__connection
Ejemplo n.º 4
0
 def get_connection(self):
     if not self._connection:
         try:
             self._connection = pyodbc.connect(self.get_connection_string())
         except:
             if self.is_pmp_password:
                 self._logger.warning(
                     'Connection refused, try to sync the password of %s from PMP and connect again.'
                     % self.username)
                 self.password = get_password_by_auth_token(
                     username=self.username,
                     meta=self.meta)  #refetch password
             if self.does_query_mssql_instance(
             ):  # if failed to connect to mssql instance, refresh port first and try again.
                 self._logger.info(
                     'Failed to connect to mssql instance with old port, getting the latest port...'
                 )
                 self.save_instance_port_to_db(
                     self.server_name.split(',')[0], self.instance_name)
                 self.server_name = self.get_server_name_with_instance_port(
                 )
                 self._connection = pyodbc.connect(
                     self.get_connection_string())
             elif self.is_pmp_password:
                 self._connection = pyodbc.connect(
                     self.get_connection_string())
             else:
                 raise
     return self._connection
Ejemplo n.º 5
0
 def get_connection(self):
     if not self._connection:
         try:
             self._connection = pyodbc.connect(self.get_connection_string())
         except:
             if self.is_pmp_password:  #if pasword work is changed in PMP
                 self._logger.warning(
                     'Connection refused, try to sync the password of %s from PMP and connect again.'
                     % self.username)
                 self.password = get_password_by_auth_token(
                     username=self.username,
                     meta=self.meta)  #refetch password and reconnect once
                 self._connection = pyodbc.connect(
                     self.get_connection_string())
             else:
                 raise
     return self._connection
Ejemplo n.º 6
0
 def get_engine(self):
     if not self.__engine:
         try:
             self.__engine = create_engine(
                 self.get_connection_string('sqlalchemy'))
         except Exception as e:
             if self.is_pmp_password:
                 self._logger.warning(
                     'Connection refused, try to sync the password of %s from PMP and connect again.'
                     % self.username)
                 self.password = get_password_by_auth_token(
                     username=self.username,
                     meta=self.meta)  #refetch password and reconnect once
                 self.__engine = create_engine(
                     self.get_connection_string('sqlalchemy'))
             else:
                 raise e
     return self.__engine