Ryota MIBU | cb33414 | 2015-12-10 15:41:39 +0900 | [diff] [blame] | 1 | # 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 | |
| 16 | from oslo_config import cfg |
Takashi Kajinami | 0beea18 | 2024-01-31 19:42:42 +0900 | [diff] [blame] | 17 | from oslo_config import types |
Ryota MIBU | cb33414 | 2015-12-10 15:41:39 +0900 | [diff] [blame] | 18 | |
| 19 | |
Chandan Kumar | 696751e | 2017-12-04 16:04:15 +0530 | [diff] [blame] | 20 | service_option = [cfg.BoolOpt('ceilometer', |
| 21 | default=True, |
| 22 | help="Whether or not Ceilometer is expected to" |
| 23 | "be available"), |
ghanshyam | 8bccc06 | 2018-01-23 12:35:06 +0300 | [diff] [blame] | 24 | cfg.BoolOpt("aodh", |
Chandan Kumar | 6f97ca0 | 2017-12-07 12:50:34 +0530 | [diff] [blame] | 25 | default=True, |
| 26 | help="Whether or not Aodh is expected to be" |
ghanshyam | 8bccc06 | 2018-01-23 12:35:06 +0300 | [diff] [blame] | 27 | "available", |
| 28 | deprecated_opts=[cfg.DeprecatedOpt( |
| 29 | 'aodh_plugin', |
| 30 | group='service_available')]), |
Chandan Kumar | d9a10fe | 2018-01-11 14:34:45 +0530 | [diff] [blame] | 31 | cfg.BoolOpt('gnocchi', |
| 32 | default=True, |
| 33 | help="Whether or not Gnocchi is expected to be" |
Erno Kuvaja | b0e0912 | 2023-11-30 13:09:46 +0000 | [diff] [blame] | 34 | "available", |
| 35 | deprecated_for_removal=True), |
Jaromir Wysoglad | 3dd1d0d | 2023-11-22 05:17:28 -0500 | [diff] [blame] | 36 | cfg.BoolOpt('sg_core', |
Takashi Kajinami | 7640066 | 2023-11-29 19:41:19 +0900 | [diff] [blame] | 37 | default=False, |
Jaromir Wysoglad | 3dd1d0d | 2023-11-22 05:17:28 -0500 | [diff] [blame] | 38 | help="Whether or not sg-core is expected to be" |
Erno Kuvaja | b0e0912 | 2023-11-30 13:09:46 +0000 | [diff] [blame] | 39 | "available", |
| 40 | deprecated_for_removal=True)] |
Ryota MIBU | cb33414 | 2015-12-10 15:41:39 +0900 | [diff] [blame] | 41 | |
ghanshyam | 905e081 | 2016-04-14 11:45:56 +0900 | [diff] [blame] | 42 | telemetry_group = cfg.OptGroup(name='telemetry', |
Ryota MIBU | cb33414 | 2015-12-10 15:41:39 +0900 | [diff] [blame] | 43 | title='Telemetry Service Options') |
| 44 | |
Erno Kuvaja | b0e0912 | 2023-11-30 13:09:46 +0000 | [diff] [blame] | 45 | telemetry_services_group = cfg.OptGroup(name='telemetry_services', |
| 46 | title='Telemetry Services') |
| 47 | |
Chandan Kumar | 6f97ca0 | 2017-12-07 12:50:34 +0530 | [diff] [blame] | 48 | alarming_group = cfg.OptGroup(name='alarming_plugin', |
| 49 | title='Alarming Service Options') |
| 50 | |
Chandan Kumar | d9a10fe | 2018-01-11 14:34:45 +0530 | [diff] [blame] | 51 | metric_group = cfg.OptGroup(name='metric', |
| 52 | title='Metric Service Options') |
| 53 | |
Takashi Kajinami | 7da415b | 2024-10-05 12:39:31 +0900 | [diff] [blame] | 54 | telemetry_opts = [ |
Hanxi Liu | 17b4d5b | 2017-02-07 01:31:49 +0800 | [diff] [blame] | 55 | 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 Abaakouk | 717324c | 2017-04-25 14:31:00 +0200 | [diff] [blame] | 63 | cfg.IntOpt('alarm_granularity', |
| 64 | default=300, |
| 65 | help="Granularity to use for aodh alarms. This must match the " |
Julien Danjou | 3b79e46 | 2018-07-19 09:31:40 +0200 | [diff] [blame] | 66 | "configured Gnocchi archive policy"), |
| 67 | cfg.StrOpt('alarm_metric_name', |
Mehdi Abaakouk | b98eb81 | 2018-09-20 15:47:09 +0200 | [diff] [blame] | 68 | default="cpu", |
Julien Danjou | 3b79e46 | 2018-07-19 09:31:40 +0200 | [diff] [blame] | 69 | help="Name of the metric to create an alarm on."), |
| 70 | cfg.StrOpt('alarm_aggregation_method', |
Mehdi Abaakouk | b98eb81 | 2018-09-20 15:47:09 +0200 | [diff] [blame] | 71 | default="rate:mean", |
Julien Danjou | 3b79e46 | 2018-07-19 09:31:40 +0200 | [diff] [blame] | 72 | 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."), |
mgirgisf | d00901d | 2024-03-13 10:31:56 +0100 | [diff] [blame] | 76 | cfg.IntOpt('scaledown_alarm_threshold', |
| 77 | default=2000000000, |
| 78 | help="Threshold to cross for the alarm to trigger."), |
Pavlo Shchelokovskyy | 959fc69 | 2020-10-05 12:05:15 +0300 | [diff] [blame] | 79 | cfg.BoolOpt("disable_ssl_certificate_validation", |
| 80 | default=False, |
| 81 | help="Disable SSL certificate validation when running " |
| 82 | "scenario tests"), |
JaromÃr Wysoglad | d6c4972 | 2023-10-13 09:08:38 +0200 | [diff] [blame] | 83 | cfg.StrOpt('sg_core_service_url', |
| 84 | default="127.0.0.1:3000", |
| 85 | help="URL to sg-core prometheus endpoint"), |
mgirgisf | d00901d | 2024-03-13 10:31:56 +0100 | [diff] [blame] | 86 | cfg.StrOpt('prometheus_service_url', |
| 87 | default="127.0.0.1:9090", |
| 88 | help="URL to prometheus endpoint"), |
Jaromir Wysoglad | b8fd067 | 2024-02-19 10:26:11 -0500 | [diff] [blame] | 89 | cfg.IntOpt('ceilometer_polling_interval', |
| 90 | default=300, |
| 91 | help="Polling interval configured for ceilometer. This can " |
Jaromir Wysoglad | 92b0c19 | 2024-05-20 05:02:13 -0400 | [diff] [blame] | 92 | "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 Wysoglad | afe631a | 2024-09-25 11:02:14 -0400 | [diff] [blame] | 96 | "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 MIBU | cb33414 | 2015-12-10 15:41:39 +0900 | [diff] [blame] | 105 | ] |
Chandan Kumar | 696751e | 2017-12-04 16:04:15 +0530 | [diff] [blame] | 106 | |
Erno Kuvaja | b0e0912 | 2023-11-30 13:09:46 +0000 | [diff] [blame] | 107 | telemetry_services_opts = [ |
Takashi Kajinami | 0beea18 | 2024-01-31 19:42:42 +0900 | [diff] [blame] | 108 | 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 Kajinami | 08f36e0 | 2024-02-07 18:00:43 +0900 | [diff] [blame] | 114 | choices=['mysql', 'postgresql'], |
Takashi Kajinami | 0beea18 | 2024-01-31 19:42:42 +0900 | [diff] [blame] | 115 | help="Database used by the aodh service"), |
Erno Kuvaja | b0e0912 | 2023-11-30 13:09:46 +0000 | [diff] [blame] | 116 | ] |
| 117 | |
Takashi Kajinami | 7da415b | 2024-10-05 12:39:31 +0900 | [diff] [blame] | 118 | alarming_opts = [ |
Chandan Kumar | 6f97ca0 | 2017-12-07 12:50:34 +0530 | [diff] [blame] | 119 | 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 Kong | 6a7d798 | 2019-08-21 15:51:09 +1200 | [diff] [blame] | 127 | cfg.BoolOpt('create_alarms', |
| 128 | default=True, |
| 129 | help="If create alarms dynamically before testing."), |
Chandan Kumar | 6f97ca0 | 2017-12-07 12:50:34 +0530 | [diff] [blame] | 130 | ] |
Chandan Kumar | d9a10fe | 2018-01-11 14:34:45 +0530 | [diff] [blame] | 131 | |
| 132 | metric_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 | ] |