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

222 lines
8.3 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: "Ceilometer Event API and Resource API are disabled if not set"
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: "The ElasticSearch installed via The StackLight Elasticsearch-Kibana plugin will be used if set"
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"
description: "'external' ElasticSearch will be used if set"
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'
description: "In case you want to use an external Elasticsearch please specify an IP or a DNS name here"
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'
description: "In case you want to use an external Elasticsearch please specify a port number. Default is 9200"
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: "The InfluxDB installed via The StackLight InfluxDB-Grafana plugin will be used if set"
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"
description: "'external' InfluxDB will be used if set"
influxdb_address:
value: ''
label: 'External InfluxDB'
description: "In case you want to use a remote InfluxDB please spesify an IP or a DNS name here"
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'
description: "In case you want to use a remote InfluxDB please spesify a port number. DEFAULT is 8086"
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: 'InfluxDB 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: "The username to access 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: "The password to access 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: 'yes'
weight: 60
label: 'Metadata for Ceilometer samples'
values:
- data: 'yes'
label: "yes"
description: ""
- data: 'no'
label: "no"
description: ""
metadata_fields:
value: 'status deleted container_format min_ram updated_at
min_disk is_public size checksum created_at disk_format
protected instance_host host display_name instance_id
instance_type status state'
label: 'metadata_fields'
description: 'Please specify all needed metadata you want to be kept along with Ceilometer samples. This field is very important if you are going to do metadata-based Ceilometer queries'
weight: 61
type: "text"
restrictions:
- condition: "settings:telemetry.metadata_ceilo.value == 'no'"
action: hide