fuel-plugin-openstack-telem.../environment_config.yaml

213 lines
7.5 KiB
YAML

attributes:
metadata:
# Settings group can be one of "general", "security", "compute", "network",
# "storage", "logging", "openstack_services" and "other".
restrictions:
- condition: "settings:ceilometer-redis.metadata.enabled == true"
message: "Please do not use the Telemetry plugin with Redis plugin enabled"
strict: false
action: disable
group: 'other'
advanced_settings:
label: "Advanced settings"
value: false
description: "Enable Ceilometer Event API and Resource API"
weight: 10
type: checkbox
restrictions:
- condition: "(settings:influxdb_grafana == null) or (settings:influxdb_grafana.metadata.enabled != true)"
action: none
strict: false
message: "The StackLight InfluxDB-Grafana plugin must be installed and enabled. Or use InfluxDB in 'remote' mode"
- condition: "(settings:elasticsearch_kibana == null) or (settings:elasticsearch_kibana.metadata.enabled != true)
and (settings:telemetry.event_api.value == true or settings:telemetry.resource_api.value == true)"
action: none
strict: false
message: "The StackLight Elasticsearch-Kibana plugin must be installed and enabled. Or use Elasticsearch in 'remote' mode"
event_api:
label: "Enable Ceilometer Event API"
value: false
description: "Enable Ceilometer Event API with Elasticsearch as a backend"
weight: 11
type: checkbox
restrictions:
- condition: "settings:telemetry.advanced_settings.value == false"
action: hide
- condition: "(settings:elasticsearch_kibana == null) or (settings:elasticsearch_kibana.metadata.enabled != true) and settings:telemetry.event_api.value == true"
action: none
strict: false
message: "The StackLight Elasticsearch-Kibana plugin must be installed and enabled. Or use Elasticsearch in 'remote' mode"
resource_api:
label: "Enable Ceilometer Resource API"
value: false
description: "Enable Ceilometer Resource API with Elasticsearch as a backend"
weight: 12
type: checkbox
restrictions:
- condition: "settings:telemetry.advanced_settings.value == false"
action: hide
- condition: "(settings:elasticsearch_kibana == null) or (settings:elasticsearch_kibana.metadata.enabled != true) and settings:telemetry.resource_api.value == true"
action: none
strict: false
message: "The StackLight Elasticsearch-Kibana plugin must be installed and enabled. Or use Elasticsearch in 'remote' mode"
elasticsearch_mode:
type: "radio"
value: 'local'
weight: 20
label: 'Elasticsearch mode'
values:
- data: "local"
label: "Use local Elasticsearch"
description: "If selected, Elasticsearch installed via the StackLight Elasticsearch-Kibana plugin will be used"
restrictions:
- condition: "(settings:elasticsearch_kibana == null) or (settings:elasticsearch_kibana.metadata.enabled != true)"
action: disable
strict: false
message: "The StackLight Elasticsearch-Kibana plugin must be installed and enabled. Or use Elasticsearch in 'external' mode"
- data: "remote"
label: 'Use external Elasticsearch'
restrictions:
- condition: "settings:telemetry.advanced_settings.value == false"
action: hide
- condition: "(settings:telemetry.event_api.value == false) and (settings:telemetry.resource_api.value == false)"
action: disable
elastic_search_ip:
value: ''
label: 'External Elasticsearch IP or DNS name'
weight: 30
type: "text"
regex:
source: '^[a-zA-Z\d][a-zA-Z\d_\-.]+$'
error: "Invalid address or name."
restrictions:
- condition: "settings:telemetry.elasticsearch_mode.value == 'local'"
action: disable
- condition: "settings:telemetry.advanced_settings.value == false"
action: hide
- condition: "(settings:telemetry.event_api.value == false) and (settings:telemetry.resource_api.value == false)"
action: disable
elastic_search_port:
value: '9200'
label: 'External Elasticsearch port'
weight: 40
type: "text"
regex:
source: '^\d{0,5}$'
error: "You must provide a valid port number"
restrictions:
- condition: "settings:telemetry.elasticsearch_mode.value == 'local'"
action: disable
- condition: "settings:telemetry.advanced_settings.value == false"
action: hide
- condition: "(settings:telemetry.event_api.value == false) and (settings:telemetry.resource_api.value == false)"
action: disable
influxdb_mode:
type: "radio"
value: 'local'
weight: 50
label: 'InfluxDB mode'
values:
- data: 'local'
label: "Use local InfluxDB"
description: "If selected, InfluxDB installed via The StackLight InfluxDB-Grafana plugin will be used"
restrictions:
- condition: "(settings:influxdb_grafana == null) or (settings:influxdb_grafana.metadata.enabled != true)"
action: disable
strict: false
message: "The StackLight InfluxDB-Grafana plugin must be installed and enabled. Or use InfluxDB 'External' option below"
- data: 'remote'
label: "Use external InfluxDB"
influxdb_address:
value: ''
label: 'External InfluxDB'
weight: 51
type: "text"
regex:
source: '^[a-zA-Z\d][a-zA-Z\d_\-.]+$'
error: "Invalid address or name"
restrictions:
- condition: "settings:telemetry.influxdb_mode.value == 'local'"
action: disable
influxdb_port:
value: '8086'
label: 'External InfluxDB port'
weight: 52
type: "text"
regex:
source: '^\d{0,5}$'
error: "You must provide a valid port number"
restrictions:
- condition: "settings:telemetry.influxdb_mode.value == 'local'"
action: disable
influxdb_database:
value: 'ceilometer'
label: 'Extenal database name'
description: ''
weight: 53
type: "text"
regex: &not_empty_parameter
source: '\S'
error: "Invalid value"
restrictions:
- condition: "settings:telemetry.influxdb_mode.value == 'local'"
action: disable
influxdb_user:
value: ''
label: 'External InfluxDB user'
description: "Username for external InfluxDB"
weight: 54
type: "text"
regex:
source: '\S'
error: "You must provide a username"
restrictions:
- condition: "settings:telemetry.influxdb_mode.value == 'local'"
action: disable
influxdb_password:
value: ''
label: 'External InfluxDB password'
description: "Password for external InfluxDB"
weight: 55
type: "password"
regex:
source: '^[\S]{4,}$'
error: "You must provide a password with at least 4 characters"
restrictions:
- condition: "settings:telemetry.influxdb_mode.value == 'local'"
action: disable
metadata_ceilo:
type: "radio"
value: 'no'
weight: 60
label: 'Extra Metadata for Ceilometer samples'
values:
- data: 'yes'
label: "yes"
description: "If selected, extra Metadata can be added"
- data: 'no'
label: "no"
description: "Default values for 'metadata' will be used if set"
metadata_fields:
value: ''
label: 'Extra Metadata'
description: 'Specify the required metadata to be kept along with Ceilometer samples. This field is important if you are going to perform metadata-based Ceilometer queries.'
weight: 61
type: "text"
restrictions:
- condition: "settings:telemetry.metadata_ceilo.value == 'no'"
action: hide