blob: 68e47ceb99405f377cc83f6cea57127103502236 [file] [log] [blame]
Ryota MIBUcb334142015-12-10 15:41:39 +09001# Copyright 2012 OpenStack Foundation
2# All Rights Reserved.
3#
4# Licensed under the Apache License, Version 2.0 (the "License"); you may
5# not use this file except in compliance with the License. You may obtain
6# a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13# License for the specific language governing permissions and limitations
14# under the License.
15
16from oslo_config import cfg
Takashi Kajinami0beea182024-01-31 19:42:42 +090017from oslo_config import types
Ryota MIBUcb334142015-12-10 15:41:39 +090018
19
Chandan Kumar696751e2017-12-04 16:04:15 +053020service_option = [cfg.BoolOpt('ceilometer',
21 default=True,
22 help="Whether or not Ceilometer is expected to"
23 "be available"),
ghanshyam8bccc062018-01-23 12:35:06 +030024 cfg.BoolOpt("aodh",
Chandan Kumar6f97ca02017-12-07 12:50:34 +053025 default=True,
26 help="Whether or not Aodh is expected to be"
ghanshyam8bccc062018-01-23 12:35:06 +030027 "available",
28 deprecated_opts=[cfg.DeprecatedOpt(
29 'aodh_plugin',
30 group='service_available')]),
Chandan Kumard9a10fe2018-01-11 14:34:45 +053031 cfg.BoolOpt('gnocchi',
32 default=True,
33 help="Whether or not Gnocchi is expected to be"
Erno Kuvajab0e09122023-11-30 13:09:46 +000034 "available",
35 deprecated_for_removal=True),
Jaromir Wysoglad3dd1d0d2023-11-22 05:17:28 -050036 cfg.BoolOpt('sg_core',
Takashi Kajinami76400662023-11-29 19:41:19 +090037 default=False,
Jaromir Wysoglad3dd1d0d2023-11-22 05:17:28 -050038 help="Whether or not sg-core is expected to be"
Erno Kuvajab0e09122023-11-30 13:09:46 +000039 "available",
40 deprecated_for_removal=True)]
Ryota MIBUcb334142015-12-10 15:41:39 +090041
ghanshyam905e0812016-04-14 11:45:56 +090042telemetry_group = cfg.OptGroup(name='telemetry',
Ryota MIBUcb334142015-12-10 15:41:39 +090043 title='Telemetry Service Options')
44
Erno Kuvajab0e09122023-11-30 13:09:46 +000045telemetry_services_group = cfg.OptGroup(name='telemetry_services',
46 title='Telemetry Services')
47
Chandan Kumar696751e2017-12-04 16:04:15 +053048event_group = cfg.OptGroup(name='event',
49 title='Event Service Options')
50
Chandan Kumar6f97ca02017-12-07 12:50:34 +053051alarming_group = cfg.OptGroup(name='alarming_plugin',
52 title='Alarming Service Options')
53
Chandan Kumard9a10fe2018-01-11 14:34:45 +053054metric_group = cfg.OptGroup(name='metric',
55 title='Metric Service Options')
56
Ryota MIBUcb334142015-12-10 15:41:39 +090057TelemetryGroup = [
Hanxi Liu17b4d5b2017-02-07 01:31:49 +080058 cfg.IntOpt('notification_wait',
59 default=120,
60 help="The seconds to wait for notifications which "
61 "containers and objects sent to swift."),
62 cfg.IntOpt('notification_sleep',
63 default=1,
64 help="The seconds to sleep after an unsuccessful "
65 "notification received."),
Mehdi Abaakouk717324c2017-04-25 14:31:00 +020066 cfg.IntOpt('alarm_granularity',
67 default=300,
68 help="Granularity to use for aodh alarms. This must match the "
Julien Danjou3b79e462018-07-19 09:31:40 +020069 "configured Gnocchi archive policy"),
70 cfg.StrOpt('alarm_metric_name',
Mehdi Abaakoukb98eb812018-09-20 15:47:09 +020071 default="cpu",
Julien Danjou3b79e462018-07-19 09:31:40 +020072 help="Name of the metric to create an alarm on."),
73 cfg.StrOpt('alarm_aggregation_method',
Mehdi Abaakoukb98eb812018-09-20 15:47:09 +020074 default="rate:mean",
Julien Danjou3b79e462018-07-19 09:31:40 +020075 help="Aggregation method to use for alarm."),
76 cfg.IntOpt('alarm_threshold',
77 default=10,
78 help="Threshold to cross for the alarm to trigger."),
mgirgisfd00901d2024-03-13 10:31:56 +010079 cfg.IntOpt('scaledown_alarm_threshold',
80 default=2000000000,
81 help="Threshold to cross for the alarm to trigger."),
Pavlo Shchelokovskyy959fc692020-10-05 12:05:15 +030082 cfg.BoolOpt("disable_ssl_certificate_validation",
83 default=False,
84 help="Disable SSL certificate validation when running "
85 "scenario tests"),
Jaromír Wysogladd6c49722023-10-13 09:08:38 +020086 cfg.StrOpt('sg_core_service_url',
87 default="127.0.0.1:3000",
88 help="URL to sg-core prometheus endpoint"),
mgirgisfd00901d2024-03-13 10:31:56 +010089 cfg.StrOpt('prometheus_service_url',
90 default="127.0.0.1:9090",
91 help="URL to prometheus endpoint"),
Jaromir Wysogladb8fd0672024-02-19 10:26:11 -050092 cfg.IntOpt('ceilometer_polling_interval',
93 default=300,
94 help="Polling interval configured for ceilometer. This can "
Jaromir Wysoglad92b0c192024-05-20 05:02:13 -040095 "be used in test cases to wait for metrics to appear."),
96 cfg.IntOpt('prometheus_scrape_interval',
97 default=15,
98 help="Scrape interval configured for prometheus. This can "
Jaromir Wysogladafe631a2024-09-25 11:02:14 -040099 "be used in test cases to properly configure autoscaling"),
100 cfg.StrOpt('autoscaling_instance_grouping',
101 default='prefix',
102 choices=['prefix', 'metadata'],
103 help="How to group instances for autoscaling testing. "
104 "'prefix' relies on the instances having a common string "
105 "at the start of their name. 'metadata' is a new and "
106 "prefered way of grouping since 2024.2 relying on "
107 "metering.server_group instance metadata")
Ryota MIBUcb334142015-12-10 15:41:39 +0900108]
Chandan Kumar696751e2017-12-04 16:04:15 +0530109
Erno Kuvajab0e09122023-11-30 13:09:46 +0000110telemetry_services_opts = [
Takashi Kajinami0beea182024-01-31 19:42:42 +0900111 cfg.ListOpt('metric_backends',
112 default=[],
113 item_type=types.String(choices=['gnocchi', 'prometheus']),
114 help="Backend store used to store metrics"),
115 cfg.StrOpt('alarm_backend',
116 default='mysql',
Takashi Kajinami08f36e02024-02-07 18:00:43 +0900117 choices=['mysql', 'postgresql'],
Takashi Kajinami0beea182024-01-31 19:42:42 +0900118 help="Database used by the aodh service"),
Erno Kuvajab0e09122023-11-30 13:09:46 +0000119]
120
Chandan Kumar696751e2017-12-04 16:04:15 +0530121event_opts = [
122 cfg.StrOpt('catalog_type',
123 default='event',
124 help="Catalog type of the Event service."),
125 cfg.StrOpt('endpoint_type',
126 default='publicURL',
127 choices=['public', 'admin', 'internal',
128 'publicURL', 'adminURL', 'internalURL'],
129 help="The endpoint type to use for the event service."),
130]
Chandan Kumar6f97ca02017-12-07 12:50:34 +0530131
132AlarmingGroup = [
133 cfg.StrOpt('catalog_type',
134 default='alarming',
135 help="Catalog type of the Alarming service."),
136 cfg.StrOpt('endpoint_type',
137 default='publicURL',
138 choices=['public', 'admin', 'internal',
139 'publicURL', 'adminURL', 'internalURL'],
140 help="The endpoint type to use for the alarming service."),
Lingxian Kong6a7d7982019-08-21 15:51:09 +1200141 cfg.BoolOpt('create_alarms',
142 default=True,
143 help="If create alarms dynamically before testing."),
Chandan Kumar6f97ca02017-12-07 12:50:34 +0530144]
Chandan Kumard9a10fe2018-01-11 14:34:45 +0530145
146metric_opts = [
147 cfg.StrOpt('catalog_type',
148 default='metric',
149 help="Catalog type of the Metric service."),
150 cfg.StrOpt('endpoint_type',
151 default='publicURL',
152 choices=['public', 'admin', 'internal',
153 'publicURL', 'adminURL', 'internalURL'],
154 help="The endpoint type to use for the metric service."),
155]