aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-analytics-common/src/main/java/org/onap/dcae/apod/analytics/common/AnalyticsConstants.java
blob: 62a6fab559d22df67aa8ae6cee16dd796158be91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
/*
 * ===============================LICENSE_START======================================
 *  dcae-analytics
 * ================================================================================
 *    Copyright © 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===========================================
 */

package org.onap.dcae.apod.analytics.common;

/**
 * Contains static variable for all DCAE Components.
 *
 * @author Rajiv Singla . Creation Date: 10/21/2016.
 */
public abstract class AnalyticsConstants {

    // ===============  Common Constants for all DCAE Analytics Modules ==================== //


    // ===============  DMaaP Constants for all DCAE Analytics Modules ==================== //

    // DMaaP Config Constants
    public static final Integer DEFAULT_PORT_NUMBER = 80; // default port number
    public static final String DEFAULT_USER_NAME = null; // default to no username
    public static final String DEFAULT_USER_PASSWORD = null; // defaults to no userPassword
    public static final String DEFAULT_PROTOCOL = "https"; // defaults to using https protocol
    public static final String DEFAULT_CONTENT_TYPE = "application/json";  // defaults to json content type

    public static final String DMAAP_URI_PATH_PREFIX = "/events/";
    public static final String DMAAP_GROUP_PREFIX = "OpenDCAE-";

    // ================== DMaaP MR Constants ============================== //
    // Publisher Constants
    public static final int DEFAULT_PUBLISHER_MAX_BATCH_SIZE = 1; // disable batching by default
    public static final int DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE = 100000; // default recovery messages size
    public static final int PUBLISHER_MAX_FLUSH_RETRIES_ON_CLOSE = 5; // number of retries when flushing messages
    public static final int PUBLISHER_DELAY_MS_ON_RETRIES_ON_CLOSE = 5000; // delay in retrying for flushing messages
    // Subscriber Constants
    public static final int DEFAULT_SUBSCRIBER_TIMEOUT_MS = -1;
    public static final int DEFAULT_SUBSCRIBER_MESSAGE_LIMIT = -1;
    public static final String DEFAULT_SUBSCRIBER_GROUP_PREFIX = DMAAP_GROUP_PREFIX + "DMaaPSub-";
    public static final String SUBSCRIBER_TIMEOUT_QUERY_PARAM_NAME = "timeout";
    public static final String SUBSCRIBER_MSG_LIMIT_QUERY_PARAM_NAME = "limit";


    // ================== TCA Constants ============================== //

    // Default subscriber polling interval
    public static final Integer TCA_DEFAULT_SUBSCRIBER_POLLING_INTERVAL_MS = 30000;

    // Default publisher polling interval
    public static final Integer TCA_DEFAULT_PUBLISHER_POLLING_INTERVAL_MS = 30000;

    // Default publisher max batch queue size determines the minimum number of messages that need to be published in
    // batch mode
    public static final Integer TCA_DEFAULT_PUBLISHER_MAX_BATCH_QUEUE_SIZE = 10;

    // Default publisher max recovery queue size determines max number of messages can be cached in memory
    // in case publisher is not responding
    public static final Integer TCA_DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE = 100000;

    // Default interval during which TCA DMaaP Worker checks if scheduler is shut down
    public static final Integer TCA_DEFAULT_WORKER_SHUTDOWN_CHECK_INTERVAL_MS = 5000;

    // ***** TCA Quartz Scheduler Settings ******//

    public static final String TCA_QUARTZ_SUBSCRIBER_PROPERTIES_FILE_NAME = "quartz-subscriber.properties";

    public static final String TCA_QUARTZ_PUBLISHER_PROPERTIES_FILE_NAME = "quartz-publisher.properties";

    // TCA Quartz Group Settings
    public static final String TCA_QUARTZ_GROUP_NAME = "TCAQuartzGroup";
    // TCA Quartz Trigger Settings
    public static final String TCA_DMAAP_SUBSCRIBER_QUARTZ_TRIGGER_NAME = "TCADMaaPSubscriberTrigger";
    public static final String TCA_DMAAP_PUBLISHER_QUARTZ_TRIGGER_NAME = "TCADMaaPPublisherTrigger";

    // TCA Quartz DMaaP Subscriber Job Settings
    public static final String TCA_DMAAP_SUBSCRIBER_QUARTZ_JOB_NAME = "TCADMaaPSubscriberJob";
    public static final String TCA_DMAAP_PUBLISHER_QUARTZ_JOB_NAME = "TCADMaaPPublisherJob";

    // TCA Quartz Publisher and Subscriber Job Parameters
    // Common Job parameters for both Publisher and Subscriber
    public static final String WORKER_CONTEXT_VARIABLE_NAME = "WORKER_CONTEXT";
    public static final String DMAAP_METRICS_VARIABLE_NAME = "DMAAP_METRICS";
    // TCA Quartz DMaaP Subscriber Job Parameter Settings
    public static final String CDAP_STREAM_VARIABLE_NAME = "CDAP_STREAM_NAME";
    public static final String DMAAP_SUBSCRIBER_VARIABLE_NAME = "DMAAP_SUBSCRIBER";
    // TCA Quartz DMaaP Publisher Job Parameter Settings
    public static final String CDAP_ALERTS_TABLE_VARIABLE_NAME = "CDAP_TCA_ALERTS_TABLE_NAME";
    public static final String DMAAP_PUBLISHER_VARIABLE_NAME = "DMAAP_PUBLISHER";

    // TCA VES Response Constants
    // VNF Constants
    public static final String TCA_VES_RESPONSE_VNF_TARGET_TYPE = "VNF";
    public static final String AAI_VNF_KEY_PREFIX = "generic-vnf.";
    public static final String TCA_VES_RESPONSE_VNF_TARGET = AAI_VNF_KEY_PREFIX + "vnf-name";
    // VM Constants
    public static final String TCA_VES_RESPONSE_VM_TARGET_TYPE = "VM";
    public static final String AAI_VSERVER_KEY_PREFIX = "vserver.";
    public static final String TCA_VES_RESPONSE_VM_TARGET =  AAI_VSERVER_KEY_PREFIX + "vserver-name";
    // VNF & VM - Common Constants
    public static final String TCA_VES_RESPONSE_FROM = "DCAE";

    // TCA VES Message Router Partition Key
    public static final String TCA_VES_MESSAGE_ROUTER_PARTITION_KEY = "VESMessageHash";

    /**
     * Default Number of instances for Threshold violation calculator flowlet
     */
    public static final Integer TCA_DEFAULT_THRESHOLD_CALCULATOR_FLOWLET_INSTANCES = 2;

    /**
     * Default TTL for TCA VES Message status table which contain status of all messages processed by TCA
     */
    public static final Integer TCA_DEFAULT_VES_MESSAGE_STATUS_TTL_TABLE = 60 * 60 * 24 * 10; // 10 Days

    /**
     * Default TTL for TCA VES Alerts table which contains alerts that can be send to downstream systems
     */
    public static final Integer TCA_DEFAULT_VES_ALERTS_TTL_TABLE = 60 * 60 * 24 * 30; // 30 Days


    /**
     * Default TTL for TCA Alerts abatement table which contains information to send out abated alerts
     */
    public static final Integer TCA_DEFAULT_ALERTS_ABATEMENT_TTL_TABLE = 60 * 60 * 24 * 30; // 30 Days


    // TCA Policy Runtime Argument Paths
    public static final String TCA_POLICY_DELIMITER = ".";
    public static final String TCA_POLICY_DOMAIN_PATH = "domain";
    public static final String TCA_POLICY_METRICS_PER_FUNCTIONAL_ROLE_PATH = "configuration.metricsPerEventName";
    public static final String TCA_POLICY_THRESHOLDS_PATH_POSTFIX = "thresholds";

    public static final String TCA_POLICY_JSON_KEY = "tca_policy";
    public static final String TCA_POLICY_STRING_DELIMITER = "\"";

    // TCA Alert output format by default is not CEF
    public static final Boolean TCA_DEFAULT_ENABLE_CEF_FORMATTED_ALERT = false;

    // TCA A&AI Enrichment is disabled by default
    public static final Boolean TCA_DEFAULT_ENABLE_AAI_ENRICHMENT = false;
    // TCA A&AI SSL Certificate errors by default are *NOT* ignored
    public static final Boolean TCA_DEFAULT_AAI_ENRICHMENT_IGNORE_SSL_CERTIFICATE_ERRORS = false;
    // TCA A&AI proxy is disabled by default
    public static final String TCA_DEFAULT_AAI_ENRICHMENT_PROXY_URL = null;



    private AnalyticsConstants() {

    }

}