Merge "[HBase] Catch AlreadyExists error in Connection upgrade"
This commit is contained in:
commit
22a8654c5c
@ -98,9 +98,10 @@ class Connection(base.Connection):
|
||||
self.conn_pool = self._get_connection_pool(opts)
|
||||
|
||||
def upgrade(self):
|
||||
tables = [self.ALARM_HISTORY_TABLE, self.ALARM_TABLE]
|
||||
column_families = {'f': dict()}
|
||||
with self.conn_pool.connection() as conn:
|
||||
conn.create_table(self.ALARM_TABLE, {'f': dict()})
|
||||
conn.create_table(self.ALARM_HISTORY_TABLE, {'f': dict()})
|
||||
hbase_utils.create_tables(conn, tables, column_families)
|
||||
|
||||
def clear(self):
|
||||
LOG.debug(_('Dropping HBase schema...'))
|
||||
|
@ -17,9 +17,14 @@ import datetime
|
||||
import json
|
||||
|
||||
import bson.json_util
|
||||
from happybase.hbase import ttypes
|
||||
|
||||
from ceilometer.openstack.common.gettextutils import _
|
||||
from ceilometer.openstack.common import log
|
||||
from ceilometer import utils
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
EVENT_TRAIT_TYPES = {'none': 0, 'string': 1, 'integer': 2, 'float': 3,
|
||||
'datetime': 4}
|
||||
OP_SIGN = {'eq': '=', 'lt': '<', 'le': '<=', 'ne': '!=', 'gt': '>', 'ge': '>='}
|
||||
@ -416,3 +421,21 @@ def object_hook(dct):
|
||||
dt = bson.json_util.object_hook(dct)
|
||||
return dt.replace(tzinfo=None)
|
||||
return bson.json_util.object_hook(dct)
|
||||
|
||||
|
||||
def create_tables(conn, tables, column_families):
|
||||
for table in tables:
|
||||
try:
|
||||
conn.create_table(table, column_families)
|
||||
except ttypes.AlreadyExists:
|
||||
if conn.table_prefix:
|
||||
table = ("%(table_prefix)s"
|
||||
"%(separator)s"
|
||||
"%(table_name)s" %
|
||||
dict(table_prefix=conn.table_prefix,
|
||||
separator=conn.table_prefix_separator,
|
||||
table_name=table))
|
||||
|
||||
LOG.warn(_("Cannot create table %(table_name)s "
|
||||
"it already exists. Ignoring error")
|
||||
% {'table_name': table})
|
@ -161,10 +161,10 @@ class Connection(base.Connection):
|
||||
self.conn_pool = self._get_connection_pool(opts)
|
||||
|
||||
def upgrade(self):
|
||||
tables = [self.RESOURCE_TABLE, self.METER_TABLE, self.EVENT_TABLE]
|
||||
column_families = {'f': dict(max_versions=1)}
|
||||
with self.conn_pool.connection() as conn:
|
||||
conn.create_table(self.RESOURCE_TABLE, {'f': dict(max_versions=1)})
|
||||
conn.create_table(self.METER_TABLE, {'f': dict(max_versions=1)})
|
||||
conn.create_table(self.EVENT_TABLE, {'f': dict(max_versions=1)})
|
||||
hbase_utils.create_tables(conn, tables, column_families)
|
||||
|
||||
def clear(self):
|
||||
LOG.debug(_('Dropping HBase schema...'))
|
||||
|
Loading…
x
Reference in New Issue
Block a user