Esempio n. 1
0
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
Esempio n. 2
0
    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
Esempio n. 3
0
File: conf.py Progetto: 10sr/hue
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)))