From 01e3a2be4bb3bd1542e7bb0f5a23d2abc2a92b18 Mon Sep 17 00:00:00 2001 From: Bin Qian Date: Tue, 30 Oct 2018 13:55:21 -0400 Subject: [PATCH] Add new configuration for hbs cluster info Add default of 2 new system configurations to sm.db. Add configuration code to enable configure the options. Story: 2003577 Task: 27727 Change-Id: I1a3dbaec78de591ef0de75ef9cafab48bcbb4dbf Signed-off-by: Bin Qian --- .../sm-tools/sm_tools/sm_configure.py | 30 ++++++++++++++++++- .../sm-db-1.0.0/database/create_sm_db.sql | 2 ++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/service-mgmt-tools/sm-tools/sm_tools/sm_configure.py b/service-mgmt-tools/sm-tools/sm_tools/sm_configure.py index ac976566..e097515e 100644 --- a/service-mgmt-tools/sm-tools/sm_tools/sm_configure.py +++ b/service-mgmt-tools/sm-tools/sm_tools/sm_configure.py @@ -53,11 +53,21 @@ def main(): sys_parser.set_defaults(which='system') sys_parser.add_argument( "--cpe_mode", choices=[cpe_duplex, cpe_duplex_direct], - required=True, help='cpe mode, available selections: %s, %s' % ( cpe_duplex, cpe_duplex_direct) ) + sys_parser.add_argument( + "--sm_server_port", + help='port sm receives ' + 'hbs agent cluster information update' + ) + + sys_parser.add_argument( + "--sm_client_port", + help='port mtce receives sm commands from' + ) + sg_parser = subparsers.add_parser('service_group', help='Service Group ' 'Configuration') @@ -78,6 +88,12 @@ def main(): configure_cpe_duplex() elif cpe_duplex_direct == args.cpe_mode: configure_cpe_dc() + + if args.sm_server_port: + configure_system_opt("sm_server_port", args.sm_server_port) + + if args.sm_client_port: + configure_system_opt("sm_client_port", args.sm_client_port) else: database = sqlite3.connect(database_name) _dispatch_config_action(args, database) @@ -221,3 +237,15 @@ def configure_if_connect_type(if_name, connect_type): cursor.execute(sql) database.commit() database.close() + + +def configure_system_opt(key, value): + database = sqlite3.connect(database_name) + + cursor = database.cursor() + sql = "UPDATE CONFIGURATION SET VALUE='%s' " \ + "WHERE KEY = '%s'" % (value, key) + + cursor.execute(sql) + database.commit() + database.close() diff --git a/service-mgmt/sm-db-1.0.0/database/create_sm_db.sql b/service-mgmt/sm-db-1.0.0/database/create_sm_db.sql index 8f846ef1..efe4f486 100644 --- a/service-mgmt/sm-db-1.0.0/database/create_sm_db.sql +++ b/service-mgmt/sm-db-1.0.0/database/create_sm_db.sql @@ -962,6 +962,8 @@ CREATE TABLE SCHEMA_VERSION (ID INTEGER PRIMARY KEY AUTOINCREMENT, MAJOR INTEGER INSERT INTO "SCHEMA_VERSION" VALUES(2,0,0); CREATE TABLE CONFIGURATION ( ID INTEGER PRIMARY KEY AUTOINCREMENT, "KEY" CHAR(32), "VALUE" CHAR(32) ); INSERT INTO "CONFIGURATION" VALUES(1,'ENABLING_THROTTLE','2'); +INSERT INTO "CONFIGURATION" ("KEY", "VALUE") VALUES("sm_client_port", ""); +INSERT INTO "CONFIGURATION" ("KEY", "VALUE") VALUES("sm_server_port", ""); -- to add new service or service memeber, follow the examples below, avoid using a hardcoded id -- INSERT INTO "SERVICES" SELECT MAX(id) + 1,'no','drbd-patch-vault','initial','initial','none','none',2,1,90000,4,16,'' FROM "SERVICES"; -- INSERT INTO "SERVICE_GROUP_MEMBERS" SELECT MAX(id) + 1,'no','distributed-cloud-services','dcorch-nova-api-proxy','critical' FROM "SERVICE_GROUP_MEMBERS";