213 lines
7.5 KiB
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: ¬_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
|