What is CDS?

CDS, or Configuration Data Store, is a Cassandra server that the custom VMs use to distribute configuration, and to coordinate their actions. Before deploying any custom VMs, the operator needs to set up a Cassandra server with the right keyspaces and tables, as described on this page.

Planning for the procedure

Background knowledge

This procedure assumes that:

  • you already have a Cassandra server running. Metaswitch does not provide Cassandra support.

  • you know how to use the cqlsh tool.

Reserve maintenance period

This procedure does not require a maintenance period. However, if you are integrating into a live network, we recommend that you implement measures to mitigate any unforeseen events.

Plan for service impact

This procedure does not impact service.

People

You must be a system operator to perform the MOP steps.

Tools and access

You must have:

  • access to a local computer with cqlsh installed and access to the Cassandra server

  • access to a Cassandra role with permissions to create keyspaces and tables.

Method of procedure

Create keyspace and tables

Use the cqlsh tool to create the CDS keyspace and tables as follows.

First create the keyspace. If your Cassandra cluster has 1 or 2 nodes, use the following statement.

CREATE KEYSPACE IF NOT EXISTS metaswitch_tas_deployment_info
    WITH REPLICATION={'class' : 'SimpleStrategy', 'replication_factor' : 1}

If your Cassandra cluster has 3 or more nodes, use the following statement instead.

CREATE KEYSPACE IF NOT EXISTS metaswitch_tas_deployment_info
    WITH REPLICATION={'class' : 'SimpleStrategy', 'replication_factor' : 3}

Regardless of the number of nodes, create five tables as follows.

CREATE TABLE IF NOT EXISTS
    metaswitch_tas_deployment_info.initial_config_namespaced (
         deployment_id text, group_id text, namespace text, config blob, config_metadata blob,
        PRIMARY KEY (deployment_id, group_id, namespace)
    )
CREATE TABLE IF NOT EXISTS
    metaswitch_tas_deployment_info.cas_group_state (
         deployment_id text, group_id text, namespace text, state blob, seq int,
        PRIMARY KEY (deployment_id, group_id, namespace)
    )
CREATE TABLE IF NOT EXISTS
    metaswitch_tas_deployment_info.cas_instance_state (
         deployment_id text, group_id text, namespace text, instance_id text, state blob, seq int,
        PRIMARY KEY (deployment_id, group_id, namespace, instance_id)
    )
CREATE TABLE IF NOT EXISTS
    metaswitch_tas_deployment_info.seeds_allocation (
         deployment_id text, group_id text, namespace text, purpose text, instance_id set<text>, seq int,
        PRIMARY KEY (deployment_id, group_id, namespace, purpose)
    )
CREATE TABLE IF NOT EXISTS
    metaswitch_tas_deployment_info.audit_history (
         deployment_id text, group_id text, namespace text, instance_id text, history blob,
        PRIMARY KEY (deployment_id, group_id, namespace, instance_id)
    )

Your CDS is now ready for use.

Previous page Next page
VM Build Container Version 1.0.0