def config_validator(user): res = [] from hbase.api import HbaseApi from hbase.settings import NICE_NAME try: if not 'test' in sys.argv: # Avoid tests hanging api = HbaseApi(user=user) cluster_name = api.getClusters()[0][ 'name'] # Currently pick first configured cluster # Check connectivity api.connectCluster(cluster_name) api.getTableList(cluster_name) except Exception as e: print(e) if 'Could not connect' in str(e): msg = "The application won't work without a running HBase Thrift Server v1." else: msg = 'Failed to authenticate to HBase Thrift Server, check authentication configurations.' LOG.exception(msg) res.append((NICE_NAME, _(msg))) if get_thrift_transport() == "framed": msg = "Hbase config thrift_transport=framed is not supported" LOG.exception(msg) res.append((NICE_NAME, _(msg))) res.extend(validate_thrift_transport(THRIFT_TRANSPORT)) return res
def autocomplete(self, snippet, database=None, table=None, column=None, nested=None): db = HbaseApi(self.user) cluster_name = database response = {} try: if database is None: response['databases'] = [ cluster['name'] for cluster in db.getClusters() ] elif table is None: tables_meta = db.getTableList(cluster_name) response['tables_meta'] = [ _table['name'] for _table in tables_meta if _table['enabled'] ] elif column is None: tables_meta = db.get(cluster_name, table) response['columns'] = [] else: raise PopupException('Could not find column `%s`.`%s`.`%s`' % (database, table, column)) except Exception, e: LOG.warn('Autocomplete data fetching error: %s' % e) response['code'] = 500 response['error'] = e.message
def config_validator(user): res = [] from hbase.api import HbaseApi from hbase.settings import NICE_NAME try: if not 'test' in sys.argv: # Avoid tests hanging api = HbaseApi(user=user) cluster_name = api.getClusters()[0]['name'] # Currently pick first configured cluster # Check connectivity api.connectCluster(cluster_name) api.getTableList(cluster_name) except Exception, e: print e if 'Could not connect' in str(e): msg = "The application won't work without a running HBase Thrift Server v1." else: msg = 'Failed to authenticate to HBase Thrift Server, check authentication configurations.' LOG.exception(msg) res.append((NICE_NAME, _(msg)))