def setup():
auth_provider = PlainTextAuthProvider(username=config.cassandra_user, password=config.cassandra_password)
res = None
if config.dev_mode:
res = connection.setup(config.cassandra_hosts, config.cassandra_keyspace, protocol_version=3)
else:
logger.info("Using cert: %s", config.cassandra_client_cert)
logger.info("Using key: %s", config.cassandra_client_key)
res = connection.setup(
config.cassandra_hosts,
config.cassandra_keyspace,
protocol_version=3,
auth_provider=auth_provider,
ssl_options={
'keyfile': config.cassandra_client_key,
'certfile': config.cassandra_client_cert,
'ssl_version': ssl.PROTOCOL_TLSv1,
}
)
print(res)
if (config.dev_mode):
management.create_keyspace_simple(config.cassandra_keyspace, 1)
logger.debug("Processing tables...")
for module, _ in inspect.getmembers(models, inspect.ismodule):
for name, model in inspect.getmembers(models.__dict__[module], inspect.isclass):
if not model.__dict__.get('__ignore__', False) and issubclass(model, BaseModel.Model):
logger.debug("Syncing table %s", name)
management.sync_table(model)
logger.info("Successfully setup Cassandra!")