blob: 136356ad5d91d0052636fa1262407e0143be7e41 [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 Kumar6f97ca02017-12-07 12:50:34 +053048alarming_group = cfg.OptGroup(name='alarming_plugin',
49 title='Alarming Service Options')
50
Chandan Kumard9a10fe2018-01-11 14:34:45 +053051metric_group = cfg.OptGroup(name='metric',
52 title='Metric Service Options')
53
Takashi Kajinami7da415b2024-10-05 12:39:31 +090054telemetry_opts = [
Hanxi Liu17b4d5b2017-02-07 01:31:49 +080055 cfg.IntOpt('notification_wait',
56 default=120,
57 help="The seconds to wait for notifications which "
58 "containers and objects sent to swift."),
59 cfg.IntOpt('notification_sleep',
60 default=1,
61 help="The seconds to sleep after an unsuccessful "
62 "notification received."),
Mehdi Abaakouk717324c2017-04-25 14:31:00 +020063 cfg.IntOpt('alarm_granularity',
64 default=300,
65 help="Granularity to use for aodh alarms. This must match the "
Julien Danjou3b79e462018-07-19 09:31:40 +020066 "configured Gnocchi archive policy"),
67 cfg.StrOpt('alarm_metric_name',
Mehdi Abaakoukb98eb812018-09-20 15:47:09 +020068 default="cpu",
Julien Danjou3b79e462018-07-19 09:31:40 +020069 help="Name of the metric to create an alarm on."),
70 cfg.StrOpt('alarm_aggregation_method',
Mehdi Abaakoukb98eb812018-09-20 15:47:09 +020071 default="rate:mean",
Julien Danjou3b79e462018-07-19 09:31:40 +020072 help="Aggregation method to use for alarm."),
73 cfg.IntOpt('alarm_threshold',
74 default=10,
75 help="Threshold to cross for the alarm to trigger."),
mgirgisfd00901d2024-03-13 10:31:56 +010076 cfg.IntOpt('scaledown_alarm_threshold',
77 default=2000000000,
78 help="Threshold to cross for the alarm to trigger."),
Pavlo Shchelokovskyy959fc692020-10-05 12:05:15 +030079 cfg.BoolOpt("disable_ssl_certificate_validation",
80 default=False,
81 help="Disable SSL certificate validation when running "
82 "scenario tests"),
Jaromír Wysogladd6c49722023-10-13 09:08:38 +020083 cfg.StrOpt('sg_core_service_url',
84 default="127.0.0.1:3000",
85 help="URL to sg-core prometheus endpoint"),
mgirgisfd00901d2024-03-13 10:31:56 +010086 cfg.StrOpt('prometheus_service_url',
87 default="127.0.0.1:9090",
88 help="URL to prometheus endpoint"),
Jaromir Wysogladb8fd0672024-02-19 10:26:11 -050089 cfg.IntOpt('ceilometer_polling_interval',
90 default=300,
91 help="Polling interval configured for ceilometer. This can "
Jaromir Wysoglad92b0c192024-05-20 05:02:13 -040092 "be used in test cases to wait for metrics to appear."),
93 cfg.IntOpt('prometheus_scrape_interval',
94 default=15,
95 help="Scrape interval configured for prometheus. This can "
Jaromir Wysogladafe631a2024-09-25 11:02:14 -040096 "be used in test cases to properly configure autoscaling"),
97 cfg.StrOpt('autoscaling_instance_grouping',
98 default='prefix',
99 choices=['prefix', 'metadata'],
100 help="How to group instances for autoscaling testing. "
101 "'prefix' relies on the instances having a common string "
102 "at the start of their name. 'metadata' is a new and "
103 "prefered way of grouping since 2024.2 relying on "
104 "metering.server_group instance metadata")
Ryota MIBUcb334142015-12-10 15:41:39 +0900105]
Chandan Kumar696751e2017-12-04 16:04:15 +0530106
Erno Kuvajab0e09122023-11-30 13:09:46 +0000107telemetry_services_opts = [
Takashi Kajinami0beea182024-01-31 19:42:42 +0900108 cfg.ListOpt('metric_backends',
109 default=[],
110 item_type=types.String(choices=['gnocchi', 'prometheus']),
111 help="Backend store used to store metrics"),
112 cfg.StrOpt('alarm_backend',
113 default='mysql',
Takashi Kajinami08f36e02024-02-07 18:00:43 +0900114 choices=['mysql', 'postgresql'],
Takashi Kajinami0beea182024-01-31 19:42:42 +0900115 help="Database used by the aodh service"),
Erno Kuvajab0e09122023-11-30 13:09:46 +0000116]
117
Takashi Kajinami7da415b2024-10-05 12:39:31 +0900118alarming_opts = [
Chandan Kumar6f97ca02017-12-07 12:50:34 +0530119 cfg.StrOpt('catalog_type',
120 default='alarming',
121 help="Catalog type of the Alarming service."),
122 cfg.StrOpt('endpoint_type',
123 default='publicURL',
124 choices=['public', 'admin', 'internal',
125 'publicURL', 'adminURL', 'internalURL'],
126 help="The endpoint type to use for the alarming service."),
Lingxian Kong6a7d7982019-08-21 15:51:09 +1200127 cfg.BoolOpt('create_alarms',
128 default=True,
129 help="If create alarms dynamically before testing."),
Chandan Kumar6f97ca02017-12-07 12:50:34 +0530130]
Chandan Kumard9a10fe2018-01-11 14:34:45 +0530131
132metric_opts = [
133 cfg.StrOpt('catalog_type',
134 default='metric',
135 help="Catalog type of the Metric 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 metric service."),
141]