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