summaryrefslogtreecommitdiffstats
path: root/feature-state-management/src/main/feature
diff options
context:
space:
mode:
Diffstat (limited to 'feature-state-management/src/main/feature')
-rw-r--r--feature-state-management/src/main/feature/config/feature-state-management.properties82
-rw-r--r--feature-state-management/src/main/feature/db/statemanagement/sql/18020-statemanagement.upgrade.sql74
2 files changed, 156 insertions, 0 deletions
diff --git a/feature-state-management/src/main/feature/config/feature-state-management.properties b/feature-state-management/src/main/feature/config/feature-state-management.properties
new file mode 100644
index 00000000..72c1fe22
--- /dev/null
+++ b/feature-state-management/src/main/feature/config/feature-state-management.properties
@@ -0,0 +1,82 @@
+###
+# ============LICENSE_START=======================================================
+# feature-state-management
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+# DB properties
+javax.persistence.jdbc.driver=org.mariadb.jdbc.Driver
+javax.persistence.jdbc.url=jdbc:mariadb://${{SQL_HOST}}:3306/statemanagement
+javax.persistence.jdbc.user=${{SQL_USER}}
+javax.persistence.jdbc.password=${{SQL_PASSWORD}}
+
+# DroolsPDPIntegrityMonitor Properties
+hostPort=0.0.0.0:57692
+
+#IntegrityMonitor Properties
+
+# Must be unique across the system
+resource.name=pdp1
+# Name of the site in which this node is hosted
+site_name=site1
+# Forward Progress Monitor update interval seconds
+fp_monitor_interval=30
+# Failed counter threshold before failover
+failed_counter_threshold=3
+# Interval between test transactions when no traffic seconds
+test_trans_interval=10
+# Interval between writes of the FPC to the DB seconds
+write_fpc_interval=5
+# Node type Note: Make sure you don't leave any trailing spaces, or you'll get an 'invalid node type' error!
+node_type=pdp_drools
+# Dependency groups are groups of resources upon which a node operational state is dependent upon.
+# Each group is a comma-separated list of resource names and groups are separated by a semicolon. For example:
+# dependency_groups=site_1.astra_1,site_1.astra_2;site_1.brms_1,site_1.brms_2;site_1.logparser_1;site_1.pypdp_1
+dependency_groups=
+# When set to true, dependent health checks are performed by using JMX to invoke test() on the dependent.
+# The default false is to use state checks for health.
+test_via_jmx=true
+# This is the max number of seconds beyond which a non incrementing FPC is considered a failure
+max_fpc_update_interval=120
+# Run the state audit every 60 seconds (60000 ms). The state audit finds stale DB entries in the
+# forwardprogressentity table and marks the node as disabled/failed in the statemanagemententity
+# table. NOTE! It will only run on nodes that have a standbystatus = providingservice.
+# A value of <= 0 will turn off the state audit.
+state_audit_interval_ms=60000
+# The refresh state audit is run every (default) 10 minutes (600000 ms) to clean up any state corruption in the
+# DB statemanagemententity table. It only refreshes the DB state entry for the local node. That is, it does not
+# refresh the state of any other nodes. A value <= 0 will turn the audit off. Any other value will override
+# the default of 600000 ms.
+refresh_state_audit_interval_ms=600000
+
+
+# Repository audit properties
+
+# Assume it's the releaseRepository that needs to be audited,
+# because that's the one BRMGW will publish to.
+repository.audit.id=${{releaseRepositoryID}}
+repository.audit.url=${{releaseRepositoryUrl}}
+repository.audit.username=${{repositoryUsername}}
+repository.audit.password=${{repositoryPassword}}
+# Flag to control the execution of the subsystemTest for the Nexus Maven repository
+repository.audit.is.active=false
+repository.audit.ignore.errors=true
+
+# DB Audit Properties
+
+# Flag to control the execution of the subsystemTest for the Database
+db.audit.is.active=false \ No newline at end of file
diff --git a/feature-state-management/src/main/feature/db/statemanagement/sql/18020-statemanagement.upgrade.sql b/feature-state-management/src/main/feature/db/statemanagement/sql/18020-statemanagement.upgrade.sql
new file mode 100644
index 00000000..f73f992b
--- /dev/null
+++ b/feature-state-management/src/main/feature/db/statemanagement/sql/18020-statemanagement.upgrade.sql
@@ -0,0 +1,74 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * feature-state-management
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+set foreign_key_checks=0;
+
+CREATE TABLE if not exists statemanagement.StateManagementEntity
+(
+ id int not null auto_increment,
+ resourceName varchar(100) not null,
+ adminState varchar(20) not null,
+ opstate varchar(20) not null,
+ availStatus varchar(20),
+ standbyStatus varchar(20),
+ created_date timestamp not null default current_timestamp,
+ modifiedDate timestamp not null,
+ primary key(id),
+ unique key resource(resourceName)
+);
+
+CREATE TABLE if not exists statemanagement.ResourceRegistrationEntity
+(
+ resourceRegistrationId bigint not null auto_increment,
+ resourceName varchar(100) not null,
+ resourceURL varchar(255) not null,
+ site varchar(50),
+ nodetype varchar(50),
+ created_date timestamp not null default current_timestamp,
+ last_updated timestamp not null,
+ primary key (resourceRegistrationId),
+ unique key resource (resourceName),
+ unique key id_resource_url (resourceURL)
+);
+
+CREATE TABLE if not exists statemanagement.ForwardProgressEntity
+(
+ forwardProgressId bigint not null auto_increment,
+ resourceName varchar(100) not null,
+ fpc_count bigint not null,
+ created_date timestamp not null default current_timestamp,
+ last_updated timestamp not null,
+ primary key (forwardProgressId),
+ unique key resource_key (resourceName)
+);
+
+CREATE TABLE if not exists statemanagement.sequence
+(
+SEQ_NAME VARCHAR(50) NOT NULL,
+SEQ_COUNT DECIMAL(38,0),
+PRIMARY KEY (SEQ_NAME)
+);
+
+-- Will only insert a record if none exists:
+INSERT INTO statemanagement.SEQUENCE (SEQ_NAME,SEQ_COUNT)
+SELECT * FROM (SELECT 'SEQ_GEN',1) AS tmp
+WHERE NOT EXISTS(select SEQ_NAME from statemanagement.SEQUENCE where SEQ_NAME = 'SEQ_GEN') LIMIT 1;
+
+set foreign_key_checks=1; \ No newline at end of file