Merge pull request #4 from elemoine/sync
Sync from mk-lab-salt-model classes/system
diff --git a/aodh/server/cluster.yml b/aodh/server/cluster.yml
new file mode 100644
index 0000000..2be4db6
--- /dev/null
+++ b/aodh/server/cluster.yml
@@ -0,0 +1,4 @@
+classes:
+- service.aodh.server.cluster
+- system.haproxy.proxy.listen.openstack.aodh
+- service.keepalived.cluster.single
diff --git a/aodh/server/single.yml b/aodh/server/single.yml
new file mode 100644
index 0000000..eba3fc1
--- /dev/null
+++ b/aodh/server/single.yml
@@ -0,0 +1,2 @@
+classes:
+- service.aodh.server.single
diff --git a/ceilometer/agent/cluster.yml b/ceilometer/agent/cluster.yml
new file mode 100644
index 0000000..d62a433
--- /dev/null
+++ b/ceilometer/agent/cluster.yml
@@ -0,0 +1,2 @@
+classes:
+- service.ceilometer.agent.cluster
diff --git a/ceilometer/agent/single.yml b/ceilometer/agent/single.yml
new file mode 100644
index 0000000..ebb1d60
--- /dev/null
+++ b/ceilometer/agent/single.yml
@@ -0,0 +1,2 @@
+classes:
+- service.ceilometer.agent.single
diff --git a/ceilometer/compute/cluster.yml b/ceilometer/compute/cluster.yml
deleted file mode 100644
index 86b044e..0000000
--- a/ceilometer/compute/cluster.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-classes:
-- service.ceilometer.agent.cluster
-- service.ceilometer.agent.publisher.graphite
-parameters:
- nova:
- compute:
- notification:
- driver: messagingv2
diff --git a/ceilometer/server/cluster.yml b/ceilometer/server/cluster.yml
new file mode 100644
index 0000000..0cbdd82
--- /dev/null
+++ b/ceilometer/server/cluster.yml
@@ -0,0 +1,18 @@
+classes:
+- service.ceilometer.server.cluster
+- system.haproxy.proxy.listen.openstack.ceilometer
+- service.keepalived.cluster.single
+parameters:
+ ceilometer:
+ server:
+ database:
+ influxdb:
+ host: ${_param:stacklight_monitor_node01_address}
+ port: 8086
+ user: ceilometer
+ password: ${_param:ceilometer_influxdb_password}
+ database: ceilometer
+ elasticsearch:
+ enabled: true
+ host: ${_param:stacklight_monitor_address}
+ port: 9200
diff --git a/ceilometer/server/single.yml b/ceilometer/server/single.yml
new file mode 100644
index 0000000..a8b1f90
--- /dev/null
+++ b/ceilometer/server/single.yml
@@ -0,0 +1,16 @@
+classes:
+- service.ceilometer.server.single
+parameters:
+ ceilometer:
+ server:
+ database:
+ influxdb:
+ host: ${_param:stacklight_monitor_node01_address}
+ port: 8086
+ user: ceilometer
+ password: ${_param:ceilometer_influxdb_password}
+ database: ceilometer
+ elasticsearch:
+ enabled: true
+ host: ${_param:stacklight_monitor_address}
+ port: 9200
diff --git a/collectd/client/output/heka.yml b/collectd/client/output/heka.yml
index 5efb3ac..9550961 100644
--- a/collectd/client/output/heka.yml
+++ b/collectd/client/output/heka.yml
@@ -14,3 +14,4 @@
port: ${_param:collectd_metric_collector_port}
read_interval: 10
use_fqdn: false
+ syslog_logging: false
diff --git a/collectd/remote_client/output/heka.yml b/collectd/remote_client/output/heka.yml
index ec3b5e0..a5a509d 100644
--- a/collectd/remote_client/output/heka.yml
+++ b/collectd/remote_client/output/heka.yml
@@ -12,3 +12,4 @@
timeout: 5
read_interval: 10
use_fqdn: false
+ syslog_logging: false
diff --git a/elasticsearch/server/cluster.yml b/elasticsearch/server/cluster.yml
index b59417a..8f53f21 100644
--- a/elasticsearch/server/cluster.yml
+++ b/elasticsearch/server/cluster.yml
@@ -1,8 +1,6 @@
classes:
- service.elasticsearch.server.cluster
- service.java.environment
-- service.glusterfs.server
-- service.glusterfs.client
parameters:
_param:
java_environment_version: "8"
@@ -40,34 +38,3 @@
- host: ${_param:cluster_node01_address}
- host: ${_param:cluster_node02_address}
- host: ${_param:cluster_node03_address}
- snapshot:
- repo:
- path: /var/lib/elasticsearch/repo
- glusterfs:
- server:
- peers:
- - ${_param:cluster_node01_address}
- - ${_param:cluster_node02_address}
- - ${_param:cluster_node03_address}
- volumes:
- elasticrepo:
- storage: /srv/glusterfs/elasticrepo
- replica: 3
- bricks:
- - ${_param:cluster_node01_address}:/srv/glusterfs/elasticrepo
- - ${_param:cluster_node02_address}:/srv/glusterfs/elasticrepo
- - ${_param:cluster_node03_address}:/srv/glusterfs/elasticrepo
- options:
- cluster.readdir-optimize: On
- cluster.lookup-optimize: On
- nfs.disable: On
- network.remote-dio: On
- diagnostics.client-log-level: WARNING
- diagnostics.brick-log-level: WARNING
- client:
- volumes:
- elasticrepo:
- path: /var/lib/elasticsearch/repo
- server: ${_param:cluster_node01_address}
- user: elasticsearch
- group: elasticsearch
diff --git a/elasticsearch/server/curator.yml b/elasticsearch/server/curator.yml
index c0e9300..82f34bb 100644
--- a/elasticsearch/server/curator.yml
+++ b/elasticsearch/server/curator.yml
@@ -1,87 +1,32 @@
parameters:
+ _param:
+ elasticsearch_curator_indices_pattern: "^(log|notification)-.*$"
+ elasticsearch_curator_retention_period: 31
elasticsearch:
server:
curator:
timeout: 900
logfile: /var/log/elasticsearch/curator.log
logformat: json
+ master_only: true
actions:
- action: delete_indices
description: >-
- Delete indices older than month (based on index name).
- Ignore the error if the filter does not result in an actionable
- list of indices (ignore_empty_list) and exit cleanly.
+ Delete indices older than ${_param:elasticsearch_curator_retention_period} days (based on index name).
options:
ignore_empty_list: True
+ timeout_override:
continue_if_exception: False
disable_action: False
filters:
- - filtertype: pattern
- kind: regex
- value: 'netflow\-\d\d\d\d\.\d\d\.\d\d$'
- - filtertype: age
- source: name
- direction: older
- timestring: '%Y.%m.%d'
- unit: days
- unit_count: 30
- - action: delete_indices
- description: >-
- Delete indices older than 6 months (based on index name).
- Ignore the error if the filter does not result in an actionable
- list of indices (ignore_empty_list) and exit cleanly.
- options:
- ignore_empty_list: True
- continue_if_exception: False
- disable_action: False
- filters:
- - filtertype: pattern
- kind: regex
- value: '.*\-\d\d\d\d\.\d\d\.\d\d$'
- - filtertype: age
- source: name
- direction: older
- timestring: '%Y.%m.%d'
- unit: days
- unit_count: 180
- - action: replicas
- description: >-
- Reduce the replica count to 0 for indices older than 60 days
- (based on index creation_date)
- options:
- count: 0
- wait_for_completion: False
- continue_if_exception: False
- disable_action: False
- filters:
- - filtertype: pattern
- kind: regex
- value: '.*\-\d\d\d\d\.\d\d\.\d\d$'
- - filtertype: age
- source: creation_date
- direction: older
- unit: days
- unit_count: 90
- - action: forcemerge
- description: >-
- forceMerge indices older than 2 days (based on index
- creation_date) to 2 segments per shard. Delay 120 seconds
- between each forceMerge operation to allow the cluster to
- quiesce.
- This action will ignore indices already forceMerged to the same
- or fewer number of segments per shard, so the 'forcemerged'
- filter is unneeded.
- options:
- max_num_segments: 2
- delay: 120
- continue_if_exception: False
- disable_action: False
- filters:
- - filtertype: pattern
- kind: regex
- value: '.*\-\d\d\d\d\.\d\d\.\d\d$'
- - filtertype: age
- source: creation_date
- direction: older
- unit: days
- unit_count: 2
+ - filtertype: pattern
+ kind: regex
+ value: "${_param:elasticsearch_curator_indices_pattern}"
+ exclude:
+ - filtertype: age
+ source: name
+ direction: older
+ timestring: '%Y.%m.%d'
+ unit: days
+ unit_count: ${_param:elasticsearch_curator_retention_period}
+ exclude:
diff --git a/elasticsearch/server/single.yml b/elasticsearch/server/single.yml
index d5c0538..ab9e009 100644
--- a/elasticsearch/server/single.yml
+++ b/elasticsearch/server/single.yml
@@ -34,26 +34,3 @@
minimum_master_nodes: 1
members:
- host: ${_param:cluster_node01_address}
- curator:
- timeout: 30
- logfile: /var/log/elasticsearch/curator.log
- logformat: default
- loglevel: INFO
- actions:
- - action: delete_indices
- description: >-
- Delete indices older than 31 days (based on index name).
- options:
- ignore_empty_list: True
- continue_if_exception: False
- disable_action: False
- filters:
- - filtertype: pattern
- kind: regex
- value: "^log|notification-.*$"
- - filtertype: age
- source: name
- direction: older
- timestring: '%Y.%m.%d'
- unit: days
- unit_count: 31
diff --git a/elasticsearch/server/storage/glusterfs.yml b/elasticsearch/server/storage/glusterfs.yml
new file mode 100644
index 0000000..25e9c54
--- /dev/null
+++ b/elasticsearch/server/storage/glusterfs.yml
@@ -0,0 +1,37 @@
+classes:
+- service.glusterfs.server
+- service.glusterfs.client
+parameters:
+ elasticsearch:
+ server:
+ snapshot:
+ repo:
+ path: /var/lib/elasticsearch/repo
+ glusterfs:
+ server:
+ peers:
+ - ${_param:cluster_node01_address}
+ - ${_param:cluster_node02_address}
+ - ${_param:cluster_node03_address}
+ volumes:
+ elasticrepo:
+ storage: /srv/glusterfs/elasticrepo
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/elasticrepo
+ - ${_param:cluster_node02_address}:/srv/glusterfs/elasticrepo
+ - ${_param:cluster_node03_address}:/srv/glusterfs/elasticrepo
+ options:
+ cluster.readdir-optimize: On
+ cluster.lookup-optimize: On
+ nfs.disable: On
+ network.remote-dio: On
+ diagnostics.client-log-level: WARNING
+ diagnostics.brick-log-level: WARNING
+ client:
+ volumes:
+ elasticrepo:
+ path: /var/lib/elasticsearch/repo
+ server: ${_param:cluster_node01_address}
+ user: elasticsearch
+ group: elasticsearch
diff --git a/galera/server/database/aodh.yml b/galera/server/database/aodh.yml
new file mode 100644
index 0000000..f5095d2
--- /dev/null
+++ b/galera/server/database/aodh.yml
@@ -0,0 +1,15 @@
+parameters:
+ mysql:
+ server:
+ database:
+ aodh:
+ encoding: utf8
+ users:
+ - name: aodh
+ password: ${_param:mysql_aodh_password}
+ host: '%'
+ rights: all
+ - name: aodh
+ password: ${_param:mysql_aodh_password}
+ host: ${_param:cluster_vip_address}
+ rights: all
diff --git a/grafana/server/single.yml b/grafana/server/single.yml
index 911f32f..fd8f020 100644
--- a/grafana/server/single.yml
+++ b/grafana/server/single.yml
@@ -26,7 +26,8 @@
user: grafana
password: ${_param:mysql_grafana_password}
auth:
- engine: basic
+ basic:
+ enabled: true
admin:
user: ${_param:grafana_user}
password: ${_param:grafana_password}
diff --git a/haproxy/proxy/listen/opencontrail/control.yml b/haproxy/proxy/listen/opencontrail/control.yml
index 431626a..c389682 100644
--- a/haproxy/proxy/listen/opencontrail/control.yml
+++ b/haproxy/proxy/listen/opencontrail/control.yml
@@ -5,7 +5,6 @@
contrail_api:
type: contrail-api
service_name: contrail
- check: false
binds:
- address: ${_param:cluster_vip_address}
port: 8082
@@ -43,7 +42,7 @@
params: check inter 2000 rise 2 fall 3
contrail_config_stats:
type: contrail-config
- service_name: contrail
+ check: false
format: listen
binds:
- address: '*'
@@ -52,7 +51,7 @@
password: ${_param:opencontrail_stats_password}
contrail_openstack_stats:
type: contrail-config
- service_name: contrail
+ check: false
format: listen
binds:
- address: '*'
@@ -61,7 +60,7 @@
password: ${_param:opencontrail_stats_password}
contrail_collector_stats:
type: contrail-config
- service_name: contrail
+ check: false
format: listen
binds:
- address: '*'
diff --git a/haproxy/proxy/listen/openstack/aodh.yml b/haproxy/proxy/listen/openstack/aodh.yml
new file mode 100644
index 0000000..6b024aa
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/aodh.yml
@@ -0,0 +1,23 @@
+parameters:
+ haproxy:
+ proxy:
+ listen:
+ aodh-api:
+ type: openstack-service
+ service_name: aodh
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8042
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 8042
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+ - name: ctl02
+ host: ${_param:cluster_node02_address}
+ port: 8042
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+ - name: ctl03
+ host: ${_param:cluster_node03_address}
+ port: 8042
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
\ No newline at end of file
diff --git a/haproxy/proxy/listen/openstack/ceilometer.yml b/haproxy/proxy/listen/openstack/ceilometer.yml
new file mode 100644
index 0000000..7e90073
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/ceilometer.yml
@@ -0,0 +1,23 @@
+parameters:
+ haproxy:
+ proxy:
+ listen:
+ ceilometer-api:
+ type: openstack-service
+ service_name: ceilometer
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8777
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 8777
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+ - name: ctl02
+ host: ${_param:cluster_node02_address}
+ port: 8777
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+ - name: ctl03
+ host: ${_param:cluster_node03_address}
+ port: 8777
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
diff --git a/haproxy/proxy/listen/openstack/glance.yml b/haproxy/proxy/listen/openstack/glance.yml
index d8795c3..729cc5b 100644
--- a/haproxy/proxy/listen/openstack/glance.yml
+++ b/haproxy/proxy/listen/openstack/glance.yml
@@ -24,7 +24,6 @@
glance_registry_api:
type: general-service
service_name: glance
- check: false
binds:
- address: ${_param:cluster_vip_address}
port: 9191
diff --git a/heka/aggregator/cluster.yml b/heka/aggregator/cluster.yml
index e2ee129..455dbb1 100644
--- a/heka/aggregator/cluster.yml
+++ b/heka/aggregator/cluster.yml
@@ -1,5 +1,6 @@
classes:
- service.heka.aggregator.cluster
+- system.heka.server
parameters:
_param:
nagios_default_host_alarm_clusters: 00-clusters
diff --git a/heka/aggregator/single.yml b/heka/aggregator/single.yml
index c252bd6..4b1c71f 100644
--- a/heka/aggregator/single.yml
+++ b/heka/aggregator/single.yml
@@ -1,5 +1,6 @@
classes:
- service.heka.aggregator.single
+- system.heka.server
parameters:
_param:
nagios_default_host_alarm_clusters: 00-clusters
diff --git a/heka/alarm/openstack_compute.yml b/heka/alarm/openstack_compute.yml
index d4fda7d..81b8be9 100644
--- a/heka/alarm/openstack_compute.yml
+++ b/heka/alarm/openstack_compute.yml
@@ -73,7 +73,7 @@
aggregator:
alarm_cluster:
compute_nodes:
- policy: majority_of_members
+ policy: status_of_members
alerting: enabled_with_notification
group_by: hostname
match:
diff --git a/heka/alarm/openstack_control.yml b/heka/alarm/openstack_control.yml
index 7dcb331..e94db48 100644
--- a/heka/alarm/openstack_control.yml
+++ b/heka/alarm/openstack_control.yml
@@ -85,7 +85,7 @@
aggregator:
alarm_cluster:
control_nodes:
- policy: majority_of_members
+ policy: status_of_members
alerting: enabled_with_notification
group_by: hostname
match:
diff --git a/heka/ceilometer_collector/single.yml b/heka/ceilometer_collector/single.yml
new file mode 100644
index 0000000..0ad299d
--- /dev/null
+++ b/heka/ceilometer_collector/single.yml
@@ -0,0 +1,19 @@
+classes:
+- service.heka.ceilometer_collector.single
+- system.heka.server
+parameters:
+ heka:
+ ceilometer_collector:
+ enabled: true
+ influxdb_database: ceilometer
+ influxdb_host: ${_param:stacklight_monitor_node01_address}
+ influxdb_password: ${_param:ceilometer_influxdb_password}
+ influxdb_port: 8086
+ influxdb_username: ceilometer
+ resource_decoding: false
+ amqp_host: ${_param:cluster_vip_address}
+ amqp_port: 5672
+ amqp_user: openstack
+ amqp_password: ${_param:rabbitmq_openstack_password}
+ amqp_vhost: '/openstack'
+ amqp_queue: metering.sample
diff --git a/heka/log_collector/single.yml b/heka/log_collector/single.yml
index 73463e4..c8eb86d 100644
--- a/heka/log_collector/single.yml
+++ b/heka/log_collector/single.yml
@@ -1,5 +1,6 @@
classes:
- service.heka.log_collector.single
+- system.heka.server
parameters:
heka:
log_collector:
diff --git a/heka/metric_collector/single.yml b/heka/metric_collector/single.yml
index 960d271..443a4e9 100644
--- a/heka/metric_collector/single.yml
+++ b/heka/metric_collector/single.yml
@@ -1,5 +1,6 @@
classes:
- service.heka.metric_collector.single
+- system.heka.server
parameters:
heka:
metric_collector:
diff --git a/heka/remote_collector/cluster.yml b/heka/remote_collector/cluster.yml
index f3344c4..7669bcf 100644
--- a/heka/remote_collector/cluster.yml
+++ b/heka/remote_collector/cluster.yml
@@ -1,5 +1,6 @@
classes:
- service.heka.remote_collector.cluster
+- system.heka.server
parameters:
heka:
remote_collector:
@@ -10,6 +11,8 @@
influxdb_password: ${_param:influxdb_password}
aggregator_host: ${_param:heka_aggregator_host}
aggregator_port: ${_param:aggregator_port}
+ elasticsearch_host: ${_param:heka_elasticsearch_host}
+ elasticsearch_port: ${_param:elasticsearch_port}
keepalived:
cluster:
instance:
diff --git a/heka/remote_collector/input/amqp.yml b/heka/remote_collector/input/amqp.yml
new file mode 100644
index 0000000..fecd09b
--- /dev/null
+++ b/heka/remote_collector/input/amqp.yml
@@ -0,0 +1,9 @@
+parameters:
+ heka:
+ remote_collector:
+ amqp_host: ${_param:heka_amqp_host}
+ amqp_port: 5672
+ amqp_user: openstack
+ amqp_password: ${_param:rabbitmq_openstack_password}
+ amqp_vhost: '/openstack'
+ amqp_notification_topic: notifications
diff --git a/heka/remote_collector/single.yml b/heka/remote_collector/single.yml
index df33055..7b4050e 100644
--- a/heka/remote_collector/single.yml
+++ b/heka/remote_collector/single.yml
@@ -1,5 +1,6 @@
classes:
- service.heka.remote_collector.single
+- system.heka.server
parameters:
heka:
remote_collector:
@@ -10,3 +11,5 @@
influxdb_password: ${_param:influxdb_password}
aggregator_host: ${_param:heka_aggregator_host}
aggregator_port: ${_param:aggregator_port}
+ elasticsearch_host: ${_param:heka_elasticsearch_host}
+ elasticsearch_port: ${_param:elasticsearch_port}
diff --git a/heka/server.yml b/heka/server.yml
new file mode 100644
index 0000000..f82cfc5
--- /dev/null
+++ b/heka/server.yml
@@ -0,0 +1,6 @@
+parameters:
+ heka:
+ server:
+ extra_fields:
+ environment_label: ${_param:stacklight_environment}
+
diff --git a/influxdb/database/ceilometer.yml b/influxdb/database/ceilometer.yml
new file mode 100644
index 0000000..8e1d9ab
--- /dev/null
+++ b/influxdb/database/ceilometer.yml
@@ -0,0 +1,23 @@
+parameters:
+ influxdb:
+ server:
+ database:
+ ceilometer:
+ enabled: true
+ name: ceilometer
+ retention_policy:
+ - name: ceilometer
+ is_default: true
+ duration: 30d
+ replication: 1
+ user:
+ ceilometer:
+ enabled: true
+ name: ceilometer
+ password: ${_param:ceilometer_influxdb_password}
+ grant:
+ grant_ceilometer_all:
+ enabled: true
+ user: ceilometer
+ database: ceilometer
+ privilege: all
diff --git a/influxdb/server/cluster.yml b/influxdb/server/cluster.yml
deleted file mode 100644
index bfdf4d4..0000000
--- a/influxdb/server/cluster.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-classes:
-- service.influxdb.server.single
-parameters:
- linux:
- system:
- repo:
- influxdb:
- enabled: true
- source: 'deb https://repos.influxdata.com/ubuntu xenial stable'
- key_url: 'https://repos.influxdata.com/influxdb.key'
- influxdb:
- server:
- enabled: true
- meta:
- bind:
- address: 0.0.0.0
- port: 8088
- http_address: 0.0.0.0
- http_port: 8091
- cluster:
- members:
- - host: idb01.local
- port: 8091
- - host: idb02.local
- port: 8091
- - host: idb03.local
- port: 8091
diff --git a/influxdb/server/single.yml b/influxdb/server/single.yml
index 308b7be..ce76490 100644
--- a/influxdb/server/single.yml
+++ b/influxdb/server/single.yml
@@ -30,6 +30,11 @@
lma:
enabled: true
name: lma
+ retention_policy:
+ - name: lma
+ is_default: true
+ duration: 30d
+ replication: 1
user:
lma:
enabled: true
diff --git a/keystone/client/service/aodh.yml b/keystone/client/service/aodh.yml
new file mode 100644
index 0000000..c91a354
--- /dev/null
+++ b/keystone/client/service/aodh.yml
@@ -0,0 +1,27 @@
+parameters:
+ keystone:
+ client:
+ server:
+ identity:
+ project:
+ service:
+ user:
+ aodh:
+ is_admin: true
+ password: ${_param:keystone_aodh_password}
+ email: ${_param:admin_email}
+ service:
+ aodh:
+ type: alarming
+ description: OpenStack Alarming Service
+ endpoints:
+ - region: ${_param:openstack_region}
+ public_address: ${_param:aodh_service_host}
+ public_port: 8042
+ public_path: '/'
+ internal_address: ${_param:aodh_service_host}
+ internal_port: 8042
+ internal_path: '/'
+ admin_address: ${_param:aodh_service_host}
+ admin_port: 8042
+ admin_path: '/'
\ No newline at end of file
diff --git a/kibana/server/single.yml b/kibana/server/single.yml
index e8ec886..fe0555c 100644
--- a/kibana/server/single.yml
+++ b/kibana/server/single.yml
@@ -1,11 +1,10 @@
classes:
- service.kibana.server.single
parameters:
- _param:
- kibana_port: 5601
kibana:
server:
enabled: true
+ default_app_id: "dashboard/logs"
bind:
address: ${_param:single_address}
port: 5601
diff --git a/linux/system/repo/mos9.yml b/linux/system/repo/mos9.yml
index 70cb2d2..9bc7c8c 100644
--- a/linux/system/repo/mos9.yml
+++ b/linux/system/repo/mos9.yml
@@ -10,10 +10,6 @@
source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-hotfix main restricted"
architectures: amd64
key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
- mirantis_openstack_proposed:
- source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-proposed main restricted"
- architectures: amd64
- key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
mirantis_openstack_security:
source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-security main restricted"
architectures: amd64
diff --git a/linux/system/repo/mos9_latest.yml b/linux/system/repo/mos9_latest.yml
new file mode 100644
index 0000000..a55c8ae
--- /dev/null
+++ b/linux/system/repo/mos9_latest.yml
@@ -0,0 +1,18 @@
+parameters:
+ linux:
+ system:
+ package:
+ python-msgpack:
+ version: latest
+ repo:
+ # This repository is needed because the python-influxdb package
+ # required for Mitaka Ceilometer is only present in
+ # mos9.0-proposed from the 9.0-latest repository
+ mirantis_latest_openstack_proposed:
+ source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/snapshots/9.0-latest/ mos9.0-proposed main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/snapshots/9.0-latest/archive-mos9.0.key"
+ pin:
+ - pin: "release a=mos9.0-proposed"
+ priority: 400
+ package: "*"
diff --git a/nagios/server/init.yml b/nagios/server/init.yml
index 49fae4d..49f4943 100644
--- a/nagios/server/init.yml
+++ b/nagios/server/init.yml
@@ -20,12 +20,16 @@
check_service_freshness: 1
check_host_freshness: 0
purge_distribution_config: true
+ log_external_commands: 0
+ log_passive_checks: 0
+ log_initial_states: 1
ui:
enabled: true
port: ${_param:nagios_ui_port}
- basic_auth:
- username: ${_param:nagios_username}
- password: ${_param:nagios_password}
+ auth:
+ basic:
+ username: ${_param:nagios_username}
+ password: ${_param:nagios_password}
wsgi:
port: ${_param:nagios_status_port}
notification:
@@ -35,6 +39,7 @@
dynamic:
enabled: true
grain_hostname: 'host'
+ hostname_suffix: ${_param:stacklight_environment}
hostgroups:
- target: '*'
name: All
diff --git a/nginx/server/proxy/grafana_web.yml b/nginx/server/proxy/grafana_web.yml
index 7ad1af0..a1c7c49 100644
--- a/nginx/server/proxy/grafana_web.yml
+++ b/nginx/server/proxy/grafana_web.yml
@@ -8,7 +8,7 @@
type: nginx_proxy
name: grafana
proxy:
- host: mon
+ host: ${_param:stacklight_monitor_address}
port: 3000
protocol: http
host:
diff --git a/nginx/server/proxy/kibana_web.yml b/nginx/server/proxy/kibana_web.yml
index b83ae25..1120c9c 100644
--- a/nginx/server/proxy/kibana_web.yml
+++ b/nginx/server/proxy/kibana_web.yml
@@ -8,7 +8,7 @@
type: nginx_proxy
name: kibana
proxy:
- host: mon01
+ host: ${_param:stacklight_monitor_address}
port: 5601
protocol: http
host:
diff --git a/nginx/server/proxy/nagios_web.yml b/nginx/server/proxy/nagios_web.yml
index d1a54f8..8b57929 100644
--- a/nginx/server/proxy/nagios_web.yml
+++ b/nginx/server/proxy/nagios_web.yml
@@ -8,8 +8,8 @@
type: nginx_proxy
name: nagios
proxy:
- host: mon01
- port: 8001
+ host: ${_param:stacklight_monitor_address}
+ port: 80
protocol: http
host:
name: ${_param:cluster_public_host}
diff --git a/nova/compute/cluster.yml b/nova/compute/cluster.yml
index a08d1af..410e358 100644
--- a/nova/compute/cluster.yml
+++ b/nova/compute/cluster.yml
@@ -3,6 +3,40 @@
parameters:
_param:
nova_compute_virtualization: kvm
+ nova_compute_ssh_public: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCltIn93BcTMzNK/n2eBze6PyTkmIgdDkeXNR9X4DqE48Va80ojv2pq8xuaBxiNITJzyl+4p4UvTTXo+HmuX8qbHvqgMGXvuPUCpndEfb2r67f6vpMqPwMgBrUg2ZKgN4OsSDHU+H0dia0cEaTjz5pvbUy9lIsSyhrqOUVF9reJq+boAvVEedm8fUqiZuiejAw2D27+rRtdEPgsKMnh3626YEsr963q4rjU/JssV/iKMNu7mk2a+koOrJ+aHvcVU8zJjfA0YghoeVT/I3GLU/MB/4tD/RyR8GM+UYbI4sgAC7ZOCdQyHdJgnEzx3SJIwcS65U0T2XYvn2qXHXqJ9iGZ root@mirantis.com
+ nova_compute_ssh_private: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEpAIBAAKCAQEApbSJ/dwXEzMzSv59ngc3uj8k5JiIHQ5HlzUfV+A6hOPFWvNK
+ I79qavMbmgcYjSEyc8pfuKeFL0016Ph5rl/Kmx76oDBl77j1AqZ3RH29q+u3+r6T
+ Kj8DIAa1INmSoDeDrEgx1Ph9HYmtHBGk48+ab21MvZSLEsoa6jlFRfa3iavm6AL1
+ RHnZvH1KombonowMNg9u/q0bXRD4LCjJ4d+tumBLK/et6uK41PybLFf4ijDbu5pN
+ mvpKDqyfmh73FVPMyY3wNGIIaHlU/yNxi1PzAf+LQ/0ckfBjPlGGyOLIAAu2TgnU
+ Mh3SYJxM8d0iSMHEuuVNE9l2L59qlx16ifYhmQIDAQABAoIBAQCYpqbwvE5tm59H
+ GQb0C8Ykx4LfLD1INx1wiLmlJKYEQihPTw0fvXj1qZvl21+cs9ZcoTRpUbn6B3EA
+ e9bs8sYc/P75j1x46LSdimkZKZUPygkk72d3ZbElUciOyKCxBDNDBQcTIQ9xpKFa
+ 2E5Ep72npNMrWqp71r/Qwo20lEIkikIgAFPBgraxn5xIEdo59vzXNZsvyoIRi5p4
+ ayH9nWSAXdF1YU3p3ljtHD8o2G/0d2TWGmjrd9vztc6tgXjp0PF60vDNgcJiudBg
+ oNLDK/e5a44GJxlVDdJ84ESb7GprRStYmddl22xnI1SXlg87+t0QQwzR0CCtWXrz
+ neXkicHhAoGBANkG9tOZfErhSL/jmsElQTNPcMNQkPiJzEmOIpr6jgSzCusPT/QD
+ PnVwB42GC5+Zhd4e88BsTzECxPXmKk7r1cBKeJTg/ejgsrSfVAZqMsfhbp3mGOiH
+ jymF+zC6Urj5q/Zkof8pEFICtyA5zlHvZmsQL9PDiqXIWALki2JvIDPdAoGBAMN2
+ O+LWOM9qqwgSMaFY8VUdDdbmLx/ZMGWQ//Tx42WM8SU+cCpGTLDHHR0qC0gnRsV7
+ V63DySEwiHn4I1cQ/AMijRxuw4Dkgk2YMRlgsAbVWO7aIlECWjSg+pRjNeA7If4D
+ 5L/gu6wZIv1vu8/fvOwRpPUzhWjGN5Z0RyvYc7btAoGALNnrmL9XmIIGbuGy0cfJ
+ OblpLHQyAas4tNrS/ARb5Uy7LOj1NRCWj96fMPhK3qjzqXvsFBBOLWrNGaR/id/j
+ ROIfGWWGE+KcDAgBbXH1HKnSGn+7FhMt2v79coyPG/s9NqaFdB4gaVJ2VgqcQQKg
+ v++QcssulCRbS/2/cJBWr2ECgYAJFCDL9G9HEwlGorGzcNIkxeiyppZhwFDDJuz8
+ j4+kU9uPg0rqa8F8JINxq1ZCz7A10/jKlWFuLTbpk2Dw1lUeQCiVvX9PKU30FLGT
+ IC6M4rPyxCb75EQUVbXN1p3WAGkfx0aEsweEgtZhNyNeEGJSBK/Iw8/agfpq/pOf
+ sboOMQKBgQClKmrAYKWnwdPPka3msyjl/AXDruR4XFvMlOPKbs3nYstolE7eR94F
+ 7xDyBz85icFU0rceYQetwFH2p5tRL0GcUQhJmJFgIL0OXdCQvRNJrT3iS00N1aUo
+ SG9MrLHCd5l60aCUQg0UA5ed7Hd6SA314k+HwxJno9/wJ+voBeacMg==
+ -----END RSA PRIVATE KEY-----
+ openssh:
+ client:
+ enabled: True
+ user: {}
+ stricthostkeychecking: False
nova:
compute:
version: ${_param:nova_version}
@@ -51,3 +85,6 @@
user: neutron
tenant: service
password: ${_param:keystone_neutron_password}
+ user:
+ public_key: ${_param:nova_compute_ssh_public}
+ private_key: ${_param:nova_compute_ssh_private}
diff --git a/nova/compute/single.yml b/nova/compute/single.yml
index 5fa45e4..4ac99b1 100644
--- a/nova/compute/single.yml
+++ b/nova/compute/single.yml
@@ -3,6 +3,41 @@
classes:
- service.nova.compute.kvm
parameters:
+ _param:
+ nova_compute_ssh_public: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCltIn93BcTMzNK/n2eBze6PyTkmIgdDkeXNR9X4DqE48Va80ojv2pq8xuaBxiNITJzyl+4p4UvTTXo+HmuX8qbHvqgMGXvuPUCpndEfb2r67f6vpMqPwMgBrUg2ZKgN4OsSDHU+H0dia0cEaTjz5pvbUy9lIsSyhrqOUVF9reJq+boAvVEedm8fUqiZuiejAw2D27+rRtdEPgsKMnh3626YEsr963q4rjU/JssV/iKMNu7mk2a+koOrJ+aHvcVU8zJjfA0YghoeVT/I3GLU/MB/4tD/RyR8GM+UYbI4sgAC7ZOCdQyHdJgnEzx3SJIwcS65U0T2XYvn2qXHXqJ9iGZ root@mirantis.com
+ nova_compute_ssh_private: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEpAIBAAKCAQEApbSJ/dwXEzMzSv59ngc3uj8k5JiIHQ5HlzUfV+A6hOPFWvNK
+ I79qavMbmgcYjSEyc8pfuKeFL0016Ph5rl/Kmx76oDBl77j1AqZ3RH29q+u3+r6T
+ Kj8DIAa1INmSoDeDrEgx1Ph9HYmtHBGk48+ab21MvZSLEsoa6jlFRfa3iavm6AL1
+ RHnZvH1KombonowMNg9u/q0bXRD4LCjJ4d+tumBLK/et6uK41PybLFf4ijDbu5pN
+ mvpKDqyfmh73FVPMyY3wNGIIaHlU/yNxi1PzAf+LQ/0ckfBjPlGGyOLIAAu2TgnU
+ Mh3SYJxM8d0iSMHEuuVNE9l2L59qlx16ifYhmQIDAQABAoIBAQCYpqbwvE5tm59H
+ GQb0C8Ykx4LfLD1INx1wiLmlJKYEQihPTw0fvXj1qZvl21+cs9ZcoTRpUbn6B3EA
+ e9bs8sYc/P75j1x46LSdimkZKZUPygkk72d3ZbElUciOyKCxBDNDBQcTIQ9xpKFa
+ 2E5Ep72npNMrWqp71r/Qwo20lEIkikIgAFPBgraxn5xIEdo59vzXNZsvyoIRi5p4
+ ayH9nWSAXdF1YU3p3ljtHD8o2G/0d2TWGmjrd9vztc6tgXjp0PF60vDNgcJiudBg
+ oNLDK/e5a44GJxlVDdJ84ESb7GprRStYmddl22xnI1SXlg87+t0QQwzR0CCtWXrz
+ neXkicHhAoGBANkG9tOZfErhSL/jmsElQTNPcMNQkPiJzEmOIpr6jgSzCusPT/QD
+ PnVwB42GC5+Zhd4e88BsTzECxPXmKk7r1cBKeJTg/ejgsrSfVAZqMsfhbp3mGOiH
+ jymF+zC6Urj5q/Zkof8pEFICtyA5zlHvZmsQL9PDiqXIWALki2JvIDPdAoGBAMN2
+ O+LWOM9qqwgSMaFY8VUdDdbmLx/ZMGWQ//Tx42WM8SU+cCpGTLDHHR0qC0gnRsV7
+ V63DySEwiHn4I1cQ/AMijRxuw4Dkgk2YMRlgsAbVWO7aIlECWjSg+pRjNeA7If4D
+ 5L/gu6wZIv1vu8/fvOwRpPUzhWjGN5Z0RyvYc7btAoGALNnrmL9XmIIGbuGy0cfJ
+ OblpLHQyAas4tNrS/ARb5Uy7LOj1NRCWj96fMPhK3qjzqXvsFBBOLWrNGaR/id/j
+ ROIfGWWGE+KcDAgBbXH1HKnSGn+7FhMt2v79coyPG/s9NqaFdB4gaVJ2VgqcQQKg
+ v++QcssulCRbS/2/cJBWr2ECgYAJFCDL9G9HEwlGorGzcNIkxeiyppZhwFDDJuz8
+ j4+kU9uPg0rqa8F8JINxq1ZCz7A10/jKlWFuLTbpk2Dw1lUeQCiVvX9PKU30FLGT
+ IC6M4rPyxCb75EQUVbXN1p3WAGkfx0aEsweEgtZhNyNeEGJSBK/Iw8/agfpq/pOf
+ sboOMQKBgQClKmrAYKWnwdPPka3msyjl/AXDruR4XFvMlOPKbs3nYstolE7eR94F
+ 7xDyBz85icFU0rceYQetwFH2p5tRL0GcUQhJmJFgIL0OXdCQvRNJrT3iS00N1aUo
+ SG9MrLHCd5l60aCUQg0UA5ed7Hd6SA314k+HwxJno9/wJ+voBeacMg==
+ -----END RSA PRIVATE KEY-----
+ openssh:
+ client:
+ enabled: True
+ user: {}
+ stricthostkeychecking: False
nova:
compute:
version: ${_param:nova_version}
@@ -48,4 +83,6 @@
members:
- host: 127.0.0.1
port: 11211
-
+ user:
+ public_key: ${_param:nova_compute_ssh_public}
+ private_key: ${_param:nova_compute_ssh_private}
diff --git a/reclass/storage/system/openstack_compute_multi.yml b/reclass/storage/system/openstack_compute_multi.yml
index 572a6bf..82f465a 100644
--- a/reclass/storage/system/openstack_compute_multi.yml
+++ b/reclass/storage/system/openstack_compute_multi.yml
@@ -10,6 +10,7 @@
params:
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: trusty
+ single_address: 172.16.10.105
openstack_compute_node02:
name: cmp02
domain: ${_param:cluster_domain}
@@ -18,3 +19,4 @@
params:
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: trusty
+ single_address: 172.16.10.106
diff --git a/reclass/storage/system/stacklight_server_single.yml b/reclass/storage/system/stacklight_server_single.yml
index c931e89..c2237f1 100644
--- a/reclass/storage/system/stacklight_server_single.yml
+++ b/reclass/storage/system/stacklight_server_single.yml
@@ -9,6 +9,7 @@
- cluster.${_param:cluster_name}.stacklight.server
- system.elasticsearch.client.single
- system.grafana.client.single
+ - system.kibana.client.single
params:
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
diff --git a/rsyslog/client/single.yml b/rsyslog/client/single.yml
new file mode 100644
index 0000000..bf957d0
--- /dev/null
+++ b/rsyslog/client/single.yml
@@ -0,0 +1,2 @@
+classes:
+- service.rsyslog.client.single
diff --git a/salt/master/formula/git/openstack.yml b/salt/master/formula/git/openstack.yml
index 17c40e9..f34b9b1 100644
--- a/salt/master/formula/git/openstack.yml
+++ b/salt/master/formula/git/openstack.yml
@@ -4,6 +4,10 @@
environment:
dev:
formula:
+ aodh:
+ source: git
+ address: 'https://github.com/openstack/salt-formula-aodh.git'
+ revision: ${_param:salt_master_environment_revision}
ceilometer:
source: git
address: 'https://github.com/openstack/salt-formula-ceilometer.git'
diff --git a/salt/master/formula/git/stacklight.yml b/salt/master/formula/git/stacklight.yml
index b72b00b..ed07d82 100644
--- a/salt/master/formula/git/stacklight.yml
+++ b/salt/master/formula/git/stacklight.yml
@@ -71,6 +71,9 @@
address: '${_param:salt_master_environment_repository}/salt-formula-redis.git'
revision: ${_param:salt_master_environment_revision}
rsyslog:
+ module:
+ rsyslog_util.py:
+ enabled: true
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-rsyslog.git'
revision: ${_param:salt_master_environment_revision}