From 3bfe76a41d7c46d6b367801a0802eb8d4273dfe4 Mon Sep 17 00:00:00 2001 From: avigaffa Date: Thu, 3 Jan 2019 14:18:49 +0200 Subject: workflow replication factor Change sdc-workflow-designer-init docker to support keyspace configuration Change-Id: I5e5350b00de1702d978d3c7179692c7b0cd04e9e Issue-ID: SDC-2033 Signed-off-by: avigaffa --- workflow-designer-init/src/main/docker/Dockerfile | 3 +- .../src/main/docker/create_keyspaces.cql | 12 ++ .../src/main/docker/create_tables.cql | 112 ++++++++++++++++++ .../src/main/docker/create_workflow_db.cql | 125 --------------------- workflow-designer-init/src/main/docker/start.sh | 15 ++- 5 files changed, 135 insertions(+), 132 deletions(-) create mode 100644 workflow-designer-init/src/main/docker/create_keyspaces.cql create mode 100644 workflow-designer-init/src/main/docker/create_tables.cql delete mode 100644 workflow-designer-init/src/main/docker/create_workflow_db.cql (limited to 'workflow-designer-init') diff --git a/workflow-designer-init/src/main/docker/Dockerfile b/workflow-designer-init/src/main/docker/Dockerfile index 7cd101c9..399f216c 100644 --- a/workflow-designer-init/src/main/docker/Dockerfile +++ b/workflow-designer-init/src/main/docker/Dockerfile @@ -2,8 +2,7 @@ FROM python:2.7-alpine3.8 RUN pip install cqlsh==4.0.1 -COPY create_workflow_db.cql . -COPY start.sh . +COPY create_keyspaces.cql create_tables.cql start.sh ./ RUN chmod 744 start.sh diff --git a/workflow-designer-init/src/main/docker/create_keyspaces.cql b/workflow-designer-init/src/main/docker/create_keyspaces.cql new file mode 100644 index 00000000..47406973 --- /dev/null +++ b/workflow-designer-init/src/main/docker/create_keyspaces.cql @@ -0,0 +1,12 @@ +CREATE KEYSPACE IF NOT EXISTS WORKFLOW +WITH DURABLE_WRITES = TRUE +AND REPLICATION = { + 'class' : 'SimpleStrategy', + 'replication_factor' : 1 +}; + +CREATE KEYSPACE IF NOT EXISTS ZUSAMMEN_WORKFLOW +WITH REPLICATION = { + 'class' : 'SimpleStrategy', + 'replication_factor' : 1 +}; diff --git a/workflow-designer-init/src/main/docker/create_tables.cql b/workflow-designer-init/src/main/docker/create_tables.cql new file mode 100644 index 00000000..ad9a5cb4 --- /dev/null +++ b/workflow-designer-init/src/main/docker/create_tables.cql @@ -0,0 +1,112 @@ +USE WORKFLOW; + +CREATE TABLE IF NOT EXISTS UNIQUE_VALUE ( + TYPE TEXT, + VALUE TEXT, + PRIMARY KEY (( TYPE, VALUE )) +); + +USE ZUSAMMEN_WORKFLOW; + +CREATE TABLE IF NOT EXISTS ITEM ( + ITEM_ID TEXT PRIMARY KEY, + ITEM_INFO TEXT, + CREATION_TIME TIMESTAMP, + MODIFICATION_TIME TIMESTAMP +); + +CREATE TABLE IF NOT EXISTS VERSION ( + SPACE TEXT, + ITEM_ID TEXT, + VERSION_ID TEXT, + BASE_VERSION_ID TEXT, + INFO TEXT, + RELATIONS TEXT, + CREATION_TIME TIMESTAMP, + MODIFICATION_TIME TIMESTAMP, + PRIMARY KEY (( SPACE, ITEM_ID ), VERSION_ID) +); + +CREATE TABLE IF NOT EXISTS VERSION_ELEMENTS ( + SPACE TEXT, + ITEM_ID TEXT, + VERSION_ID TEXT, + REVISION_ID TEXT, + ELEMENT_IDS MAP, + DIRTY_ELEMENT_IDS SET, + STAGE_ELEMENT_IDS SET, + CONFLICT_ELEMENT_IDS SET, + PUBLISH_TIME TIMESTAMP, + USER TEXT, + MESSAGE TEXT, + PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID ), REVISION_ID) +); + +CREATE TABLE IF NOT EXISTS ELEMENT_NAMESPACE ( + ITEM_ID TEXT, + ELEMENT_ID TEXT, + NAMESPACE TEXT, + PRIMARY KEY (( ITEM_ID, ELEMENT_ID )) +); + +CREATE TABLE IF NOT EXISTS ELEMENT ( + SPACE TEXT, + ITEM_ID TEXT, + VERSION_ID TEXT, + ELEMENT_ID TEXT, + REVISION_ID TEXT, + PARENT_ID TEXT, + NAMESPACE TEXT, + INFO TEXT, + RELATIONS TEXT, + DATA BLOB, + SEARCHABLE_DATA BLOB, + VISUALIZATION BLOB, + SUB_ELEMENT_IDS SET, + ELEMENT_HASH TEXT, + PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID, ELEMENT_ID ), REVISION_ID) +); + +CREATE TABLE IF NOT EXISTS ELEMENT_SYNCHRONIZATION_STATE ( + SPACE TEXT, + ITEM_ID TEXT, + VERSION_ID TEXT, + ELEMENT_ID TEXT, + REVISION_ID TEXT, + PUBLISH_TIME TIMESTAMP, + DIRTY BOOLEAN, + PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID ), ELEMENT_ID, REVISION_ID) +); + +CREATE TABLE IF NOT EXISTS ELEMENT_STAGE ( + SPACE TEXT, + ITEM_ID TEXT, + VERSION_ID TEXT, + ELEMENT_ID TEXT, + PARENT_ID TEXT, + NAMESPACE TEXT, + INFO TEXT, + RELATIONS TEXT, + DATA BLOB, + SEARCHABLE_DATA BLOB, + VISUALIZATION BLOB, + SUB_ELEMENT_IDS SET, + ELEMENT_HASH TEXT, + PUBLISH_TIME TIMESTAMP, + ACTION TEXT, + CONFLICTED BOOLEAN, + CONFLICT_DEPENDENT_IDS SET, + PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID, ELEMENT_ID )) +); + +CREATE TABLE IF NOT EXISTS VERSION_STAGE ( + SPACE TEXT, + ITEM_ID TEXT, + VERSION_ID TEXT, + BASE_VERSION_ID TEXT, + CREATION_TIME TIMESTAMP, + MODIFICATION_TIME TIMESTAMP, + PUBLISH_TIME TIMESTAMP, + ACTION TEXT, + PRIMARY KEY (( SPACE, ITEM_ID ), VERSION_ID) +); diff --git a/workflow-designer-init/src/main/docker/create_workflow_db.cql b/workflow-designer-init/src/main/docker/create_workflow_db.cql deleted file mode 100644 index c6c1f15e..00000000 --- a/workflow-designer-init/src/main/docker/create_workflow_db.cql +++ /dev/null @@ -1,125 +0,0 @@ -CREATE KEYSPACE IF NOT EXISTS WORKFLOW -WITH DURABLE_WRITES = TRUE -AND REPLICATION = { - 'class' : 'SimpleStrategy', - 'replication_factor' : 1 -}; - -USE WORKFLOW; - -CREATE TABLE IF NOT EXISTS UNIQUE_VALUE ( - TYPE TEXT, - VALUE TEXT, - PRIMARY KEY (( TYPE, VALUE )) -); - -CREATE KEYSPACE IF NOT EXISTS ZUSAMMEN_WORKFLOW -WITH REPLICATION = { - 'class' : 'SimpleStrategy', - 'replication_factor' : 1 -}; - -USE ZUSAMMEN_WORKFLOW; - -CREATE TABLE IF NOT EXISTS ITEM ( - ITEM_ID TEXT PRIMARY KEY, - ITEM_INFO TEXT, - CREATION_TIME TIMESTAMP, - MODIFICATION_TIME TIMESTAMP -); - -CREATE TABLE IF NOT EXISTS VERSION ( - SPACE TEXT, - ITEM_ID TEXT, - VERSION_ID TEXT, - BASE_VERSION_ID TEXT, - INFO TEXT, - RELATIONS TEXT, - CREATION_TIME TIMESTAMP, - MODIFICATION_TIME TIMESTAMP, - PRIMARY KEY (( SPACE, ITEM_ID ), VERSION_ID) -); - -CREATE TABLE IF NOT EXISTS VERSION_ELEMENTS ( - SPACE TEXT, - ITEM_ID TEXT, - VERSION_ID TEXT, - REVISION_ID TEXT, - ELEMENT_IDS MAP, - DIRTY_ELEMENT_IDS SET, - STAGE_ELEMENT_IDS SET, - CONFLICT_ELEMENT_IDS SET, - PUBLISH_TIME TIMESTAMP, - USER TEXT, - MESSAGE TEXT, - PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID ), REVISION_ID) -); - -CREATE TABLE IF NOT EXISTS ELEMENT_NAMESPACE ( - ITEM_ID TEXT, - ELEMENT_ID TEXT, - NAMESPACE TEXT, - PRIMARY KEY (( ITEM_ID, ELEMENT_ID )) -); - -CREATE TABLE IF NOT EXISTS ELEMENT ( - SPACE TEXT, - ITEM_ID TEXT, - VERSION_ID TEXT, - ELEMENT_ID TEXT, - REVISION_ID TEXT, - PARENT_ID TEXT, - NAMESPACE TEXT, - INFO TEXT, - RELATIONS TEXT, - DATA BLOB, - SEARCHABLE_DATA BLOB, - VISUALIZATION BLOB, - SUB_ELEMENT_IDS SET, - ELEMENT_HASH TEXT, - PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID, ELEMENT_ID ), REVISION_ID) -); - -CREATE TABLE IF NOT EXISTS ELEMENT_SYNCHRONIZATION_STATE ( - SPACE TEXT, - ITEM_ID TEXT, - VERSION_ID TEXT, - ELEMENT_ID TEXT, - REVISION_ID TEXT, - PUBLISH_TIME TIMESTAMP, - DIRTY BOOLEAN, - PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID ), ELEMENT_ID, REVISION_ID) -); - -CREATE TABLE IF NOT EXISTS ELEMENT_STAGE ( - SPACE TEXT, - ITEM_ID TEXT, - VERSION_ID TEXT, - ELEMENT_ID TEXT, - PARENT_ID TEXT, - NAMESPACE TEXT, - INFO TEXT, - RELATIONS TEXT, - DATA BLOB, - SEARCHABLE_DATA BLOB, - VISUALIZATION BLOB, - SUB_ELEMENT_IDS SET, - ELEMENT_HASH TEXT, - PUBLISH_TIME TIMESTAMP, - ACTION TEXT, - CONFLICTED BOOLEAN, - CONFLICT_DEPENDENT_IDS SET, - PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID, ELEMENT_ID )) -); - -CREATE TABLE IF NOT EXISTS VERSION_STAGE ( - SPACE TEXT, - ITEM_ID TEXT, - VERSION_ID TEXT, - BASE_VERSION_ID TEXT, - CREATION_TIME TIMESTAMP, - MODIFICATION_TIME TIMESTAMP, - PUBLISH_TIME TIMESTAMP, - ACTION TEXT, - PRIMARY KEY (( SPACE, ITEM_ID ), VERSION_ID) -); \ No newline at end of file diff --git a/workflow-designer-init/src/main/docker/start.sh b/workflow-designer-init/src/main/docker/start.sh index 919277fd..8acb2cf6 100644 --- a/workflow-designer-init/src/main/docker/start.sh +++ b/workflow-designer-init/src/main/docker/start.sh @@ -25,9 +25,14 @@ if [[ -z "${CS_HOST}" ]]; then exit 1 fi -if [ $is_cs_unauthenticated -eq 1 ]; then - cqlsh -u ${CS_USER} -p ${CS_PASSWORD} -f /create_workflow_db.cql ${CS_HOST} ${CS_PORT} -else - cqlsh -f /create_workflow_db.cql ${CS_HOST} ${CS_PORT} -fi +cql_from_file() { + + if [ $is_cs_unauthenticated -eq 1 ]; then + cqlsh -u ${CS_USER} -p ${CS_PASSWORD} -f $1 ${CS_HOST} ${CS_PORT} + else + cqlsh -f $1 ${CS_HOST} ${CS_PORT} + fi +} +cql_from_file /create_keyspaces.cql +cql_from_file /create_tables.cql -- cgit 1.2.3-korg