Deploy Gnocchi as a Ceilometer metrics storage backend
* Deploy Gnocchi API. * Storage backends: swift, rbd and file. * Indexer backend default to mysql * Configure Ceilometer to send metrics datas to Gnocchi * Pacemaker config Depends-On: Ic8778a3104e0ed0460423e4bf857682220dc5802 Depends-On: I7d2eb9405e0171fc54fa0b616122f69db5f51ce2 Co-Authored-By: Pradeep Kilambi <pkilambi@redhat.com> Change-Id: Ifde17b1ab8fa2b30544633e455e1c7eb475705aa
This commit is contained in:
parent
2d4c27dac5
commit
0970068cbb
|
@ -17,6 +17,9 @@ parameter_defaults:
|
||||||
GlanceAdmin: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
|
GlanceAdmin: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
|
||||||
GlanceInternal: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
|
GlanceInternal: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
|
||||||
GlancePublic: {protocol: 'https', port: '13292', host: 'CLOUDNAME'}
|
GlancePublic: {protocol: 'https', port: '13292', host: 'CLOUDNAME'}
|
||||||
|
GnocchiAdmin: {protocol: 'http', port: '8041', host: 'IP_ADDRESS'}
|
||||||
|
GnocchiInternal: {protocol: 'http', port: '8041', host: 'IP_ADDRESS'}
|
||||||
|
GnocchiPublic: {protocol: 'https', port: '13041', host: 'CLOUDNAME'}
|
||||||
HeatAdmin: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
|
HeatAdmin: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
|
||||||
HeatInternal: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
|
HeatInternal: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
|
||||||
HeatPublic: {protocol: 'https', port: '13004', host: 'CLOUDNAME'}
|
HeatPublic: {protocol: 'https', port: '13004', host: 'CLOUDNAME'}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# A Heat environment file which can be used to enable a Ceph
|
# A Heat environment file which can be used to enable a Ceph
|
||||||
# storage cluster using the controller and ceph nodes.
|
# storage cluster using the controller and ceph nodes.
|
||||||
# Rbd backends are enabled for Cinder, Glance, and Nova.
|
# Rbd backends are enabled for Cinder, Glance, Gnocchi and Nova.
|
||||||
parameters:
|
parameters:
|
||||||
#NOTE: These ID's and keys should be regenerated for
|
#NOTE: These ID's and keys should be regenerated for
|
||||||
# a production deployment. What is here is suitable for
|
# a production deployment. What is here is suitable for
|
||||||
|
@ -11,5 +11,6 @@ parameters:
|
||||||
NovaEnableRbdBackend: true
|
NovaEnableRbdBackend: true
|
||||||
CinderEnableRbdBackend: true
|
CinderEnableRbdBackend: true
|
||||||
GlanceBackend: rbd
|
GlanceBackend: rbd
|
||||||
|
GnocchiBackend: rbd
|
||||||
CinderEnableIscsiBackend: false
|
CinderEnableIscsiBackend: false
|
||||||
ControllerEnableCephStorage: true
|
ControllerEnableCephStorage: true
|
||||||
|
|
|
@ -9,16 +9,18 @@ parameter_defaults:
|
||||||
#CephClientKey: 'AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ=='
|
#CephClientKey: 'AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ=='
|
||||||
#CephExternalMonHost: '172.16.1.7, 172.16.1.8'
|
#CephExternalMonHost: '172.16.1.7, 172.16.1.8'
|
||||||
|
|
||||||
# the following parameters enable Ceph backends for Cinder, Glance, and Nova
|
# the following parameters enable Ceph backends for Cinder, Glance, Gnocchi and Nova
|
||||||
NovaEnableRbdBackend: true
|
NovaEnableRbdBackend: true
|
||||||
CinderEnableRbdBackend: true
|
CinderEnableRbdBackend: true
|
||||||
GlanceBackend: rbd
|
GlanceBackend: rbd
|
||||||
|
GnocchiBackend: rbd
|
||||||
# If the Ceph pools which host VMs, Volumes and Images do not match these
|
# If the Ceph pools which host VMs, Volumes and Images do not match these
|
||||||
# names OR the client keyring to use is not named 'openstack', edit the
|
# names OR the client keyring to use is not named 'openstack', edit the
|
||||||
# following as needed.
|
# following as needed.
|
||||||
NovaRbdPoolName: vms
|
NovaRbdPoolName: vms
|
||||||
CinderRbdPoolName: volumes
|
CinderRbdPoolName: volumes
|
||||||
GlanceRbdPoolName: images
|
GlanceRbdPoolName: images
|
||||||
|
GnocchiRbdPoolName: metrics
|
||||||
CephClientUserName: openstack
|
CephClientUserName: openstack
|
||||||
|
|
||||||
# finally we disable the Cinder LVM backend
|
# finally we disable the Cinder LVM backend
|
||||||
|
|
|
@ -15,6 +15,8 @@ parameter_defaults:
|
||||||
NovaEnableRbdBackend: true
|
NovaEnableRbdBackend: true
|
||||||
## Glance backend can be either 'rbd' (Ceph), 'swift' or 'file'.
|
## Glance backend can be either 'rbd' (Ceph), 'swift' or 'file'.
|
||||||
GlanceBackend: rbd
|
GlanceBackend: rbd
|
||||||
|
## Gnocchi backend can be either 'rbd' (Ceph), 'swift' or 'file'.
|
||||||
|
GnocchiBackend: rbd
|
||||||
|
|
||||||
|
|
||||||
#### CINDER NFS SETTINGS ####
|
#### CINDER NFS SETTINGS ####
|
||||||
|
|
|
@ -19,6 +19,15 @@ Ceilometer:
|
||||||
vip_param: CeilometerApi
|
vip_param: CeilometerApi
|
||||||
port: 8777
|
port: 8777
|
||||||
|
|
||||||
|
Gnocchi:
|
||||||
|
Internal:
|
||||||
|
vip_param: GnocchiApi
|
||||||
|
Public:
|
||||||
|
vip_param: Public
|
||||||
|
Admin:
|
||||||
|
vip_param: GnocchiApi
|
||||||
|
port: 8041
|
||||||
|
|
||||||
Cinder:
|
Cinder:
|
||||||
Internal:
|
Internal:
|
||||||
vip_param: CinderApi
|
vip_param: CinderApi
|
||||||
|
|
|
@ -12,6 +12,7 @@ parameters:
|
||||||
CeilometerApiVirtualIP: {type: string, default: ''}
|
CeilometerApiVirtualIP: {type: string, default: ''}
|
||||||
CinderApiVirtualIP: {type: string, default: ''}
|
CinderApiVirtualIP: {type: string, default: ''}
|
||||||
GlanceApiVirtualIP: {type: string, default: ''}
|
GlanceApiVirtualIP: {type: string, default: ''}
|
||||||
|
GnocchiApiVirtualIP: {type: string, default: ''}
|
||||||
HeatApiVirtualIP: {type: string, default: ''}
|
HeatApiVirtualIP: {type: string, default: ''}
|
||||||
KeystoneAdminApiVirtualIP: {type: string, default: ''}
|
KeystoneAdminApiVirtualIP: {type: string, default: ''}
|
||||||
KeystonePublicApiVirtualIP: {type: string, default: ''}
|
KeystonePublicApiVirtualIP: {type: string, default: ''}
|
||||||
|
@ -36,6 +37,9 @@ parameters:
|
||||||
GlanceAdmin: {protocol: http, port: '9292', host: IP_ADDRESS}
|
GlanceAdmin: {protocol: http, port: '9292', host: IP_ADDRESS}
|
||||||
GlanceInternal: {protocol: http, port: '9292', host: IP_ADDRESS}
|
GlanceInternal: {protocol: http, port: '9292', host: IP_ADDRESS}
|
||||||
GlancePublic: {protocol: http, port: '9292', host: IP_ADDRESS}
|
GlancePublic: {protocol: http, port: '9292', host: IP_ADDRESS}
|
||||||
|
GnocchiAdmin: {protocol: http, port: '8041', host: IP_ADDRESS}
|
||||||
|
GnocchiInternal: {protocol: http, port: '8041', host: IP_ADDRESS}
|
||||||
|
GnocchiPublic: {protocol: http, port: '8041', host: IP_ADDRESS}
|
||||||
HeatAdmin: {protocol: http, port: '8004', host: IP_ADDRESS}
|
HeatAdmin: {protocol: http, port: '8004', host: IP_ADDRESS}
|
||||||
HeatInternal: {protocol: http, port: '8004', host: IP_ADDRESS}
|
HeatInternal: {protocol: http, port: '8004', host: IP_ADDRESS}
|
||||||
HeatPublic: {protocol: http, port: '8004', host: IP_ADDRESS}
|
HeatPublic: {protocol: http, port: '8004', host: IP_ADDRESS}
|
||||||
|
@ -644,6 +648,120 @@ outputs:
|
||||||
IP_ADDRESS: {get_param: PublicVirtualIP}
|
IP_ADDRESS: {get_param: PublicVirtualIP}
|
||||||
- ':'
|
- ':'
|
||||||
- get_param: [EndpointMap, GlancePublic, port]
|
- get_param: [EndpointMap, GlancePublic, port]
|
||||||
|
GnocchiAdmin:
|
||||||
|
host:
|
||||||
|
str_replace:
|
||||||
|
template:
|
||||||
|
get_param: [EndpointMap, GnocchiAdmin, host]
|
||||||
|
params:
|
||||||
|
CLOUDNAME: {get_param: CloudName}
|
||||||
|
IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
|
||||||
|
port:
|
||||||
|
get_param: [EndpointMap, GnocchiAdmin, port]
|
||||||
|
protocol:
|
||||||
|
get_param: [EndpointMap, GnocchiAdmin, protocol]
|
||||||
|
uri:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - get_param: [EndpointMap, GnocchiAdmin, protocol]
|
||||||
|
- ://
|
||||||
|
- str_replace:
|
||||||
|
template:
|
||||||
|
get_param: [EndpointMap, GnocchiAdmin, host]
|
||||||
|
params:
|
||||||
|
CLOUDNAME: {get_param: CloudName}
|
||||||
|
IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
|
||||||
|
- ':'
|
||||||
|
- get_param: [EndpointMap, GnocchiAdmin, port]
|
||||||
|
uri_no_suffix:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - get_param: [EndpointMap, GnocchiAdmin, protocol]
|
||||||
|
- ://
|
||||||
|
- str_replace:
|
||||||
|
template:
|
||||||
|
get_param: [EndpointMap, GnocchiAdmin, host]
|
||||||
|
params:
|
||||||
|
CLOUDNAME: {get_param: CloudName}
|
||||||
|
IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
|
||||||
|
- ':'
|
||||||
|
- get_param: [EndpointMap, GnocchiAdmin, port]
|
||||||
|
GnocchiInternal:
|
||||||
|
host:
|
||||||
|
str_replace:
|
||||||
|
template:
|
||||||
|
get_param: [EndpointMap, GnocchiInternal, host]
|
||||||
|
params:
|
||||||
|
CLOUDNAME: {get_param: CloudName}
|
||||||
|
IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
|
||||||
|
port:
|
||||||
|
get_param: [EndpointMap, GnocchiInternal, port]
|
||||||
|
protocol:
|
||||||
|
get_param: [EndpointMap, GnocchiInternal, protocol]
|
||||||
|
uri:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - get_param: [EndpointMap, GnocchiInternal, protocol]
|
||||||
|
- ://
|
||||||
|
- str_replace:
|
||||||
|
template:
|
||||||
|
get_param: [EndpointMap, GnocchiInternal, host]
|
||||||
|
params:
|
||||||
|
CLOUDNAME: {get_param: CloudName}
|
||||||
|
IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
|
||||||
|
- ':'
|
||||||
|
- get_param: [EndpointMap, GnocchiInternal, port]
|
||||||
|
uri_no_suffix:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - get_param: [EndpointMap, GnocchiInternal, protocol]
|
||||||
|
- ://
|
||||||
|
- str_replace:
|
||||||
|
template:
|
||||||
|
get_param: [EndpointMap, GnocchiInternal, host]
|
||||||
|
params:
|
||||||
|
CLOUDNAME: {get_param: CloudName}
|
||||||
|
IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
|
||||||
|
- ':'
|
||||||
|
- get_param: [EndpointMap, GnocchiInternal, port]
|
||||||
|
GnocchiPublic:
|
||||||
|
host:
|
||||||
|
str_replace:
|
||||||
|
template:
|
||||||
|
get_param: [EndpointMap, GnocchiPublic, host]
|
||||||
|
params:
|
||||||
|
CLOUDNAME: {get_param: CloudName}
|
||||||
|
IP_ADDRESS: {get_param: PublicVirtualIP}
|
||||||
|
port:
|
||||||
|
get_param: [EndpointMap, GnocchiPublic, port]
|
||||||
|
protocol:
|
||||||
|
get_param: [EndpointMap, GnocchiPublic, protocol]
|
||||||
|
uri:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - get_param: [EndpointMap, GnocchiPublic, protocol]
|
||||||
|
- ://
|
||||||
|
- str_replace:
|
||||||
|
template:
|
||||||
|
get_param: [EndpointMap, GnocchiPublic, host]
|
||||||
|
params:
|
||||||
|
CLOUDNAME: {get_param: CloudName}
|
||||||
|
IP_ADDRESS: {get_param: PublicVirtualIP}
|
||||||
|
- ':'
|
||||||
|
- get_param: [EndpointMap, GnocchiPublic, port]
|
||||||
|
uri_no_suffix:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - get_param: [EndpointMap, GnocchiPublic, protocol]
|
||||||
|
- ://
|
||||||
|
- str_replace:
|
||||||
|
template:
|
||||||
|
get_param: [EndpointMap, GnocchiPublic, host]
|
||||||
|
params:
|
||||||
|
CLOUDNAME: {get_param: CloudName}
|
||||||
|
IP_ADDRESS: {get_param: PublicVirtualIP}
|
||||||
|
- ':'
|
||||||
|
- get_param: [EndpointMap, GnocchiPublic, port]
|
||||||
HeatAdmin:
|
HeatAdmin:
|
||||||
host:
|
host:
|
||||||
str_replace:
|
str_replace:
|
||||||
|
|
|
@ -32,6 +32,12 @@ parameters:
|
||||||
description: The password for the ceilometer service account.
|
description: The password for the ceilometer service account.
|
||||||
type: string
|
type: string
|
||||||
hidden: true
|
hidden: true
|
||||||
|
CeilometerMeterDispatcher:
|
||||||
|
default: 'database'
|
||||||
|
description: Dispatcher to process meter data
|
||||||
|
type: string
|
||||||
|
constraints:
|
||||||
|
- allowed_values: ['gnocchi', 'database']
|
||||||
# This has to be an UUID so for now we generate it outside the template
|
# This has to be an UUID so for now we generate it outside the template
|
||||||
CephClusterFSID:
|
CephClusterFSID:
|
||||||
default: ''
|
default: ''
|
||||||
|
@ -483,6 +489,21 @@ parameters:
|
||||||
type: string
|
type: string
|
||||||
constraints:
|
constraints:
|
||||||
- allowed_values: ['swift', 'file', 'rbd']
|
- allowed_values: ['swift', 'file', 'rbd']
|
||||||
|
GnocchiBackend:
|
||||||
|
default: file
|
||||||
|
description: The short name of the Gnocchi backend to use. Should be one
|
||||||
|
of swift, rbd or file
|
||||||
|
type: string
|
||||||
|
constraints:
|
||||||
|
- allowed_values: ['swift', 'file', 'rbd']
|
||||||
|
GnocchiIndexerBackend:
|
||||||
|
default: 'mysql'
|
||||||
|
description: The short name of the Gnocchi indexer backend to use.
|
||||||
|
type: string
|
||||||
|
GnocchiPassword:
|
||||||
|
description: The password for the gnocchi service account.
|
||||||
|
type: string
|
||||||
|
hidden: true
|
||||||
HeatPassword:
|
HeatPassword:
|
||||||
description: The password for the Heat service account, used by the Heat services.
|
description: The password for the Heat service account, used by the Heat services.
|
||||||
type: string
|
type: string
|
||||||
|
@ -644,6 +665,7 @@ parameters:
|
||||||
NeutronTenantNetwork: tenant
|
NeutronTenantNetwork: tenant
|
||||||
CeilometerApiNetwork: internal_api
|
CeilometerApiNetwork: internal_api
|
||||||
AodhApiNetwork: internal_api
|
AodhApiNetwork: internal_api
|
||||||
|
GnocchiApiNetwork: internal_api
|
||||||
MongoDbNetwork: internal_api
|
MongoDbNetwork: internal_api
|
||||||
CinderApiNetwork: internal_api
|
CinderApiNetwork: internal_api
|
||||||
CinderIscsiNetwork: storage
|
CinderIscsiNetwork: storage
|
||||||
|
@ -854,6 +876,7 @@ resources:
|
||||||
AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
||||||
CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
|
CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
|
||||||
GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
|
GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
|
||||||
|
GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
|
||||||
HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
||||||
KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
|
KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
|
||||||
KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
|
KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
|
||||||
|
@ -885,6 +908,7 @@ resources:
|
||||||
CeilometerBackend: {get_param: CeilometerBackend}
|
CeilometerBackend: {get_param: CeilometerBackend}
|
||||||
CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
|
CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
|
||||||
CeilometerPassword: {get_param: CeilometerPassword}
|
CeilometerPassword: {get_param: CeilometerPassword}
|
||||||
|
CeilometerMeterDispatcher: {get_param: CeilometerMeterDispatcher}
|
||||||
CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
|
CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
|
||||||
CinderNfsMountOptions: {get_param: CinderNfsMountOptions}
|
CinderNfsMountOptions: {get_param: CinderNfsMountOptions}
|
||||||
CinderNfsServers: {get_param: CinderNfsServers}
|
CinderNfsServers: {get_param: CinderNfsServers}
|
||||||
|
@ -911,6 +935,9 @@ resources:
|
||||||
GlanceBackend: {get_param: GlanceBackend}
|
GlanceBackend: {get_param: GlanceBackend}
|
||||||
GlanceNotifierStrategy: {get_param: GlanceNotifierStrategy}
|
GlanceNotifierStrategy: {get_param: GlanceNotifierStrategy}
|
||||||
GlanceLogFile: {get_param: GlanceLogFile}
|
GlanceLogFile: {get_param: GlanceLogFile}
|
||||||
|
GnocchiPassword: {get_param: GnocchiPassword}
|
||||||
|
GnocchiBackend: {get_param: GnocchiBackend}
|
||||||
|
GnocchiIndexerBackend: {get_param: GnocchiIndexerBackend}
|
||||||
HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
|
HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
|
||||||
HeatPassword: {get_param: HeatPassword}
|
HeatPassword: {get_param: HeatPassword}
|
||||||
HeatStackDomainAdminPassword: {get_param: HeatStackDomainAdminPassword}
|
HeatStackDomainAdminPassword: {get_param: HeatStackDomainAdminPassword}
|
||||||
|
@ -991,6 +1018,7 @@ resources:
|
||||||
EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
|
EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
|
||||||
CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
|
CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
|
||||||
AodhApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
AodhApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
||||||
|
GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
|
||||||
CinderApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
|
CinderApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
|
||||||
HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
||||||
HeatApiVirtualIPUri: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
HeatApiVirtualIPUri: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
||||||
|
@ -1229,6 +1257,7 @@ resources:
|
||||||
swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
|
swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
|
||||||
ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
|
ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
|
||||||
aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
||||||
|
gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
|
||||||
nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
|
nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
|
||||||
nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
|
nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
|
||||||
glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
|
glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
|
||||||
|
@ -1350,6 +1379,7 @@ resources:
|
||||||
nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
|
nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
|
||||||
ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
|
ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
|
||||||
aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
||||||
|
gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
|
||||||
heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
||||||
horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
|
horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
|
||||||
redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
|
redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
|
||||||
|
@ -1645,6 +1675,9 @@ outputs:
|
||||||
GlanceInternalVip:
|
GlanceInternalVip:
|
||||||
description: VIP for Glance API internal endpoint
|
description: VIP for Glance API internal endpoint
|
||||||
value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
|
value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
|
||||||
|
GnocchiInternalVip:
|
||||||
|
description: VIP for Gnocchi API internal endpoint
|
||||||
|
value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
|
||||||
HeatInternalVip:
|
HeatInternalVip:
|
||||||
description: VIP for Heat API internal endpoint
|
description: VIP for Heat API internal endpoint
|
||||||
value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
||||||
|
|
|
@ -44,6 +44,8 @@ parameters:
|
||||||
type: comma_delimited_list
|
type: comma_delimited_list
|
||||||
glance_registry_node_ips:
|
glance_registry_node_ips:
|
||||||
type: comma_delimited_list
|
type: comma_delimited_list
|
||||||
|
gnocchi_api_node_ips:
|
||||||
|
type: comma_delimited_list
|
||||||
cinder_api_node_ips:
|
cinder_api_node_ips:
|
||||||
type: comma_delimited_list
|
type: comma_delimited_list
|
||||||
neutron_api_node_ips:
|
neutron_api_node_ips:
|
||||||
|
@ -197,6 +199,14 @@ resources:
|
||||||
list_join:
|
list_join:
|
||||||
- "','"
|
- "','"
|
||||||
- {get_param: aodh_api_node_ips}
|
- {get_param: aodh_api_node_ips}
|
||||||
|
gnocchi_api_node_ips:
|
||||||
|
str_replace:
|
||||||
|
template: "['SERVERS_LIST']"
|
||||||
|
params:
|
||||||
|
SERVERS_LIST:
|
||||||
|
list_join:
|
||||||
|
- "','"
|
||||||
|
- {get_param: gnocchi_api_node_ips}
|
||||||
nova_api_node_ips:
|
nova_api_node_ips:
|
||||||
str_replace:
|
str_replace:
|
||||||
template: "['SERVERS_LIST']"
|
template: "['SERVERS_LIST']"
|
||||||
|
|
|
@ -36,6 +36,9 @@ parameters:
|
||||||
GlanceRbdPoolName:
|
GlanceRbdPoolName:
|
||||||
default: images
|
default: images
|
||||||
type: string
|
type: string
|
||||||
|
GnocchiRbdPoolName:
|
||||||
|
default: metrics
|
||||||
|
type: string
|
||||||
CephClientUserName:
|
CephClientUserName:
|
||||||
default: openstack
|
default: openstack
|
||||||
type: string
|
type: string
|
||||||
|
@ -94,7 +97,7 @@ resources:
|
||||||
secret: 'ADMIN_KEY',
|
secret: 'ADMIN_KEY',
|
||||||
mode: '0644',
|
mode: '0644',
|
||||||
cap_mon: 'allow r',
|
cap_mon: 'allow r',
|
||||||
cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL'
|
cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL'
|
||||||
}
|
}
|
||||||
}"
|
}"
|
||||||
params:
|
params:
|
||||||
|
@ -103,9 +106,12 @@ resources:
|
||||||
NOVA_POOL: {get_param: NovaRbdPoolName}
|
NOVA_POOL: {get_param: NovaRbdPoolName}
|
||||||
CINDER_POOL: {get_param: CinderRbdPoolName}
|
CINDER_POOL: {get_param: CinderRbdPoolName}
|
||||||
GLANCE_POOL: {get_param: GlanceRbdPoolName}
|
GLANCE_POOL: {get_param: GlanceRbdPoolName}
|
||||||
|
GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
|
||||||
nova::compute::rbd::libvirt_images_rbd_pool: {get_param: NovaRbdPoolName}
|
nova::compute::rbd::libvirt_images_rbd_pool: {get_param: NovaRbdPoolName}
|
||||||
cinder_rbd_pool_name: {get_param: CinderRbdPoolName}
|
cinder_rbd_pool_name: {get_param: CinderRbdPoolName}
|
||||||
glance::backend::rbd::rbd_store_pool: {get_param: GlanceRbdPoolName}
|
glance::backend::rbd::rbd_store_pool: {get_param: GlanceRbdPoolName}
|
||||||
|
gnocchi::storage::ceph::ceph_pool: {get_param: GnocchiRbdPoolName}
|
||||||
|
gnocchi::storage::ceph::ceph_username: {get_param: CephClientUserName}
|
||||||
nova::compute::rbd::libvirt_rbd_user: {get_param: CephClientUserName}
|
nova::compute::rbd::libvirt_rbd_user: {get_param: CephClientUserName}
|
||||||
glance::backend::rbd::rbd_store_user: {get_param: CephClientUserName}
|
glance::backend::rbd::rbd_store_user: {get_param: CephClientUserName}
|
||||||
nova::compute::rbd::rbd_keyring:
|
nova::compute::rbd::rbd_keyring:
|
||||||
|
@ -113,11 +119,17 @@ resources:
|
||||||
- '.'
|
- '.'
|
||||||
- - 'client'
|
- - 'client'
|
||||||
- {get_param: CephClientUserName}
|
- {get_param: CephClientUserName}
|
||||||
|
gnocchi::storage::ceph::ceph_keyring:
|
||||||
|
list_join:
|
||||||
|
- '.'
|
||||||
|
- - 'client'
|
||||||
|
- {get_param: CephClientUserName}
|
||||||
ceph_client_user_name: {get_param: CephClientUserName}
|
ceph_client_user_name: {get_param: CephClientUserName}
|
||||||
ceph_pools:
|
ceph_pools:
|
||||||
- {get_param: CinderRbdPoolName}
|
- {get_param: CinderRbdPoolName}
|
||||||
- {get_param: NovaRbdPoolName}
|
- {get_param: NovaRbdPoolName}
|
||||||
- {get_param: GlanceRbdPoolName}
|
- {get_param: GlanceRbdPoolName}
|
||||||
|
- {get_param: GnocchiRbdPoolName}
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
config_id:
|
config_id:
|
||||||
|
|
|
@ -34,6 +34,12 @@ parameters:
|
||||||
default: false
|
default: false
|
||||||
description: Whether to store events in ceilometer.
|
description: Whether to store events in ceilometer.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
CeilometerMeterDispatcher:
|
||||||
|
default: 'database'
|
||||||
|
description: Dispatcher to process meter data
|
||||||
|
type: string
|
||||||
|
constraints:
|
||||||
|
- allowed_values: ['gnocchi', 'database']
|
||||||
CinderApiVirtualIP:
|
CinderApiVirtualIP:
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
@ -223,6 +229,24 @@ parameters:
|
||||||
Mount options for Pacemaker mount used as Glance storage.
|
Mount options for Pacemaker mount used as Glance storage.
|
||||||
Effective when GlanceFilePcmkManage is true.
|
Effective when GlanceFilePcmkManage is true.
|
||||||
type: string
|
type: string
|
||||||
|
GnocchiBackend:
|
||||||
|
default: file
|
||||||
|
description: The short name of the Gnocchi backend to use. Should be one
|
||||||
|
of swift, rbd, or file
|
||||||
|
type: string
|
||||||
|
constraints:
|
||||||
|
- allowed_values: ['swift', 'file', 'rbd']
|
||||||
|
GnocchiIndexerBackend:
|
||||||
|
default: 'mysql'
|
||||||
|
description: The short name of the Gnocchi indexer backend to use.
|
||||||
|
type: string
|
||||||
|
GnocchiApiVirtualIP:
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
GnocchiPassword:
|
||||||
|
description: The password for the gnocchi service and db account.
|
||||||
|
type: string
|
||||||
|
hidden: true
|
||||||
HAProxyStatsPassword:
|
HAProxyStatsPassword:
|
||||||
description: Password for HAProxy stats endpoint
|
description: Password for HAProxy stats endpoint
|
||||||
type: string
|
type: string
|
||||||
|
@ -1098,6 +1122,10 @@ resources:
|
||||||
ceilometer_password: {get_param: CeilometerPassword}
|
ceilometer_password: {get_param: CeilometerPassword}
|
||||||
ceilometer_store_events: {get_param: CeilometerStoreEvents}
|
ceilometer_store_events: {get_param: CeilometerStoreEvents}
|
||||||
aodh_password: {get_param: AodhPassword}
|
aodh_password: {get_param: AodhPassword}
|
||||||
|
ceilometer_meter_dispatcher: {get_param: CeilometerMeterDispatcher}
|
||||||
|
gnocchi_password: {get_param: GnocchiPassword}
|
||||||
|
gnocchi_backend: {get_param: GnocchiBackend}
|
||||||
|
gnocchi_indexer_backend: {get_param: GnocchiIndexerBackend}
|
||||||
ceilometer_coordination_url:
|
ceilometer_coordination_url:
|
||||||
list_join:
|
list_join:
|
||||||
- ''
|
- ''
|
||||||
|
@ -1114,6 +1142,15 @@ resources:
|
||||||
- '@'
|
- '@'
|
||||||
- {get_param: MysqlVirtualIPUri}
|
- {get_param: MysqlVirtualIPUri}
|
||||||
- '/ceilometer'
|
- '/ceilometer'
|
||||||
|
gnocchi_dsn:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - 'mysql+pymysql://gnocchi:'
|
||||||
|
- {get_param: GnocchiPassword}
|
||||||
|
- '@'
|
||||||
|
- {get_param: MysqlVirtualIPUri}
|
||||||
|
- '/gnocchi'
|
||||||
|
gnocchi_internal_url: {get_param: [EndpointMap, GnocchiInternal, uri]}
|
||||||
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
|
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
|
||||||
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
|
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
|
||||||
nova_enable_db_purge: {get_param: NovaEnableDBPurge}
|
nova_enable_db_purge: {get_param: NovaEnableDBPurge}
|
||||||
|
@ -1193,6 +1230,7 @@ resources:
|
||||||
neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
|
neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
|
||||||
ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
|
ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
|
||||||
aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
||||||
|
gnocchi_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
|
||||||
nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
|
nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
|
||||||
nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
|
nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
|
||||||
horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
|
horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
|
||||||
|
@ -1471,6 +1509,11 @@ resources:
|
||||||
ceilometer::agent::central::coordination_url: {get_input: ceilometer_coordination_url}
|
ceilometer::agent::central::coordination_url: {get_input: ceilometer_coordination_url}
|
||||||
ceilometer::agent::notification::store_events: {get_input: ceilometer_store_events}
|
ceilometer::agent::notification::store_events: {get_input: ceilometer_store_events}
|
||||||
ceilometer::db::mysql::password: {get_input: ceilometer_password}
|
ceilometer::db::mysql::password: {get_input: ceilometer_password}
|
||||||
|
ceilometer::collector::meter_dispatcher: {get_input: ceilometer_meter_dispatcher}
|
||||||
|
ceilometer::dispatcher::gnocchi::url: {get_input: gnocchi_internal_url }
|
||||||
|
ceilometer::dispatcher::gnocchi::filter_project: 'service'
|
||||||
|
ceilometer::dispatcher::gnocchi::archive_policy: 'low'
|
||||||
|
ceilometer::dispatcher::gnocchi::resources_definition_file: 'gnocchi_resources.yaml'
|
||||||
snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
|
snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
|
||||||
snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
|
snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
|
||||||
|
|
||||||
|
@ -1492,6 +1535,22 @@ resources:
|
||||||
# for a migration path from ceilometer-alarm to aodh, we use the same database & coordination
|
# for a migration path from ceilometer-alarm to aodh, we use the same database & coordination
|
||||||
aodh::evaluator::coordination_url: {get_input: ceilometer_coordination_url}
|
aodh::evaluator::coordination_url: {get_input: ceilometer_coordination_url}
|
||||||
|
|
||||||
|
# Gnocchi
|
||||||
|
gnocchi_backend: {get_input: gnocchi_backend}
|
||||||
|
gnocchi_indexer_backend: {get_input: gnocchi_indexer_backend}
|
||||||
|
gnocchi_mysql_conn_string: {get_input: gnocchi_dsn}
|
||||||
|
gnocchi::debug: {get_input: debug}
|
||||||
|
gnocchi::wsgi::apache::ssl: false
|
||||||
|
gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
|
||||||
|
gnocchi::api::service_name: 'httpd'
|
||||||
|
gnocchi::api::host: {get_input: gnocchi_api_network}
|
||||||
|
gnocchi::api::keystone_password: {get_input: gnocchi_password}
|
||||||
|
gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
|
||||||
|
gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
|
||||||
|
gnocchi::db::mysql::password: {get_input: gnocchi_password}
|
||||||
|
gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
|
||||||
|
gnocchi::storage::swift::swift_key: {get_input: gnocchi_password}
|
||||||
|
|
||||||
# Nova
|
# Nova
|
||||||
nova::rabbit_userid: {get_input: rabbit_username}
|
nova::rabbit_userid: {get_input: rabbit_username}
|
||||||
nova::rabbit_password: {get_input: rabbit_password}
|
nova::rabbit_password: {get_input: rabbit_password}
|
||||||
|
|
|
@ -38,6 +38,9 @@ parameters:
|
||||||
GlanceRbdPoolName:
|
GlanceRbdPoolName:
|
||||||
default: images
|
default: images
|
||||||
type: string
|
type: string
|
||||||
|
GnocchiRbdPoolName:
|
||||||
|
default: metrics
|
||||||
|
type: string
|
||||||
CephClientUserName:
|
CephClientUserName:
|
||||||
default: openstack
|
default: openstack
|
||||||
type: string
|
type: string
|
||||||
|
@ -68,7 +71,7 @@ resources:
|
||||||
secret: 'CLIENT_KEY',
|
secret: 'CLIENT_KEY',
|
||||||
mode: '0644',
|
mode: '0644',
|
||||||
cap_mon: 'allow r',
|
cap_mon: 'allow r',
|
||||||
cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL'
|
cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL'
|
||||||
}
|
}
|
||||||
}"
|
}"
|
||||||
params:
|
params:
|
||||||
|
@ -77,10 +80,13 @@ resources:
|
||||||
NOVA_POOL: {get_param: NovaRbdPoolName}
|
NOVA_POOL: {get_param: NovaRbdPoolName}
|
||||||
CINDER_POOL: {get_param: CinderRbdPoolName}
|
CINDER_POOL: {get_param: CinderRbdPoolName}
|
||||||
GLANCE_POOL: {get_param: GlanceRbdPoolName}
|
GLANCE_POOL: {get_param: GlanceRbdPoolName}
|
||||||
|
GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
|
||||||
ceph::profile::params::ms_bind_ipv6: {get_param: CephIPv6}
|
ceph::profile::params::ms_bind_ipv6: {get_param: CephIPv6}
|
||||||
nova::compute::rbd::libvirt_images_rbd_pool: {get_param: NovaRbdPoolName}
|
nova::compute::rbd::libvirt_images_rbd_pool: {get_param: NovaRbdPoolName}
|
||||||
cinder_rbd_pool_name: {get_param: CinderRbdPoolName}
|
cinder_rbd_pool_name: {get_param: CinderRbdPoolName}
|
||||||
glance::backend::rbd::rbd_store_pool: {get_param: GlanceRbdPoolName}
|
glance::backend::rbd::rbd_store_pool: {get_param: GlanceRbdPoolName}
|
||||||
|
gnocchi::storage::ceph::ceph_pool: {get_param: GnocchiRbdPoolName}
|
||||||
|
gnocchi::storage::ceph::ceph_username: {get_param: CephClientUserName}
|
||||||
nova::compute::rbd::libvirt_rbd_user: {get_param: CephClientUserName}
|
nova::compute::rbd::libvirt_rbd_user: {get_param: CephClientUserName}
|
||||||
glance::backend::rbd::rbd_store_user: {get_param: CephClientUserName}
|
glance::backend::rbd::rbd_store_user: {get_param: CephClientUserName}
|
||||||
nova::compute::rbd::rbd_keyring:
|
nova::compute::rbd::rbd_keyring:
|
||||||
|
@ -88,11 +94,17 @@ resources:
|
||||||
- '.'
|
- '.'
|
||||||
- - 'client'
|
- - 'client'
|
||||||
- {get_param: CephClientUserName}
|
- {get_param: CephClientUserName}
|
||||||
|
gnocchi::storage::ceph::ceph_keyring:
|
||||||
|
list_join:
|
||||||
|
- '.'
|
||||||
|
- - 'client'
|
||||||
|
- {get_param: CephClientUserName}
|
||||||
ceph_client_user_name: {get_param: CephClientUserName}
|
ceph_client_user_name: {get_param: CephClientUserName}
|
||||||
ceph_pools:
|
ceph_pools:
|
||||||
- {get_param: CinderRbdPoolName}
|
- {get_param: CinderRbdPoolName}
|
||||||
- {get_param: NovaRbdPoolName}
|
- {get_param: NovaRbdPoolName}
|
||||||
- {get_param: GlanceRbdPoolName}
|
- {get_param: GlanceRbdPoolName}
|
||||||
|
- {get_param: GnocchiRbdPoolName}
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
config_id:
|
config_id:
|
||||||
|
|
|
@ -8,6 +8,9 @@ ceilometer::agent::auth::auth_tenant_name: 'service'
|
||||||
aodh::auth::auth_region: 'regionOne'
|
aodh::auth::auth_region: 'regionOne'
|
||||||
aodh::auth::auth_tenant_name: 'service'
|
aodh::auth::auth_tenant_name: 'service'
|
||||||
|
|
||||||
|
gnocchi::auth::auth_region: 'regionOne'
|
||||||
|
gnocchi::auth::auth_tenant_name: 'service'
|
||||||
|
|
||||||
nova::api::admin_tenant_name: 'service'
|
nova::api::admin_tenant_name: 'service'
|
||||||
nova::network::neutron::neutron_project_name: 'service'
|
nova::network::neutron::neutron_project_name: 'service'
|
||||||
nova::network::neutron::neutron_username: 'neutron'
|
nova::network::neutron::neutron_username: 'neutron'
|
||||||
|
|
|
@ -6,6 +6,16 @@ nova::consoleauth::enabled: true
|
||||||
nova::vncproxy::enabled: true
|
nova::vncproxy::enabled: true
|
||||||
nova::scheduler::enabled: true
|
nova::scheduler::enabled: true
|
||||||
|
|
||||||
|
# gnocchi
|
||||||
|
gnocchi::db::sync::extra_opts: '--skip-storage'
|
||||||
|
gnocchi::storage::swift::swift_user: 'service:gnocchi'
|
||||||
|
gnocchi::storage::swift::swift_auth_version: 2
|
||||||
|
gnocchi::statsd::resource_id: '0a8b55df-f90f-491c-8cb9-7cdecec6fc26'
|
||||||
|
gnocchi::statsd::user_id: '27c0d3f8-e7ee-42f0-8317-72237d1c5ae3'
|
||||||
|
gnocchi::statsd::project_id: '6c38cd8d-099a-4cb2-aecf-17be688e8616'
|
||||||
|
gnocchi::statsd::flush_delay: 10
|
||||||
|
gnocchi::statsd::archive_policy_name: 'low'
|
||||||
|
|
||||||
# rabbitmq
|
# rabbitmq
|
||||||
rabbitmq::delete_guest_user: false
|
rabbitmq::delete_guest_user: false
|
||||||
rabbitmq::wipe_db_on_cookie_change: true
|
rabbitmq::wipe_db_on_cookie_change: true
|
||||||
|
@ -44,6 +54,7 @@ neutron::agents::dhcp::dhcp_delete_namespaces: True
|
||||||
cinder::api::keystone_tenant: 'service'
|
cinder::api::keystone_tenant: 'service'
|
||||||
swift::proxy::authtoken::admin_tenant_name: 'service'
|
swift::proxy::authtoken::admin_tenant_name: 'service'
|
||||||
ceilometer::api::keystone_tenant: 'service'
|
ceilometer::api::keystone_tenant: 'service'
|
||||||
|
gnocchi::api::keystone_tenant: 'service'
|
||||||
heat::keystone_tenant: 'service'
|
heat::keystone_tenant: 'service'
|
||||||
sahara::admin_tenant_name: 'service'
|
sahara::admin_tenant_name: 'service'
|
||||||
|
|
||||||
|
@ -151,6 +162,7 @@ tripleo::loadbalancer::sahara: true
|
||||||
tripleo::loadbalancer::swift_proxy_server: true
|
tripleo::loadbalancer::swift_proxy_server: true
|
||||||
tripleo::loadbalancer::ceilometer: true
|
tripleo::loadbalancer::ceilometer: true
|
||||||
tripleo::loadbalancer::aodh: true
|
tripleo::loadbalancer::aodh: true
|
||||||
|
tripleo::loadbalancer::gnocchi: true
|
||||||
tripleo::loadbalancer::heat_api: true
|
tripleo::loadbalancer::heat_api: true
|
||||||
tripleo::loadbalancer::heat_cloudwatch: true
|
tripleo::loadbalancer::heat_cloudwatch: true
|
||||||
tripleo::loadbalancer::heat_cfn: true
|
tripleo::loadbalancer::heat_cfn: true
|
||||||
|
@ -267,3 +279,7 @@ tripleo::firewall::firewall_rules:
|
||||||
port:
|
port:
|
||||||
- 8042
|
- 8042
|
||||||
- 13042
|
- 13042
|
||||||
|
'129 gnocchi-api':
|
||||||
|
port:
|
||||||
|
- 8041
|
||||||
|
- 13041
|
||||||
|
|
|
@ -61,6 +61,14 @@ ceilometer::db::mysql::allowed_hosts:
|
||||||
- '%'
|
- '%'
|
||||||
- "%{hiera('mysql_bind_host')}"
|
- "%{hiera('mysql_bind_host')}"
|
||||||
|
|
||||||
|
# Gnocchi
|
||||||
|
gnocchi::db::mysql::user: gnocchi
|
||||||
|
gnocchi::db::mysql::host: "%{hiera('mysql_virtual_ip')}"
|
||||||
|
gnocchi::db::mysql::dbname: gnocchi
|
||||||
|
gnocchi::db::mysql::allowed_hosts:
|
||||||
|
- '%'
|
||||||
|
- "%{hiera('mysql_bind_host')}"
|
||||||
|
|
||||||
sahara::db::mysql::user: sahara
|
sahara::db::mysql::user: sahara
|
||||||
sahara::db::mysql::host: "%{hiera('mysql_virtual_ip')}"
|
sahara::db::mysql::host: "%{hiera('mysql_virtual_ip')}"
|
||||||
sahara::db::mysql::dbname: sahara
|
sahara::db::mysql::dbname: sahara
|
||||||
|
|
|
@ -121,6 +121,9 @@ if hiera('step') >= 2 {
|
||||||
include ::cinder::db::mysql
|
include ::cinder::db::mysql
|
||||||
include ::heat::db::mysql
|
include ::heat::db::mysql
|
||||||
include ::sahara::db::mysql
|
include ::sahara::db::mysql
|
||||||
|
if downcase(hiera('gnocchi_indexer_backend')) == 'mysql' {
|
||||||
|
include ::gnocchi::db::mysql
|
||||||
|
}
|
||||||
if downcase(hiera('ceilometer_backend')) == 'mysql' {
|
if downcase(hiera('ceilometer_backend')) == 'mysql' {
|
||||||
include ::ceilometer::db::mysql
|
include ::ceilometer::db::mysql
|
||||||
include ::aodh::db::mysql
|
include ::aodh::db::mysql
|
||||||
|
@ -577,6 +580,7 @@ if hiera('step') >= 4 {
|
||||||
include ::ceilometer::expirer
|
include ::ceilometer::expirer
|
||||||
include ::ceilometer::collector
|
include ::ceilometer::collector
|
||||||
include ::ceilometer::agent::auth
|
include ::ceilometer::agent::auth
|
||||||
|
include ::ceilometer::dispatcher::gnocchi
|
||||||
class { '::ceilometer::db' :
|
class { '::ceilometer::db' :
|
||||||
database_connection => $ceilometer_database_connection,
|
database_connection => $ceilometer_database_connection,
|
||||||
}
|
}
|
||||||
|
@ -633,6 +637,26 @@ if hiera('step') >= 4 {
|
||||||
neutron_options => $neutron_options,
|
neutron_options => $neutron_options,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Gnocchi
|
||||||
|
$gnocchi_database_connection = hiera('gnocchi_mysql_conn_string')
|
||||||
|
class { '::gnocchi':
|
||||||
|
database_connection => $gnocchi_database_connection,
|
||||||
|
}
|
||||||
|
include ::gnocchi::api
|
||||||
|
include ::gnocchi::wsgi::apache
|
||||||
|
include ::gnocchi::client
|
||||||
|
include ::gnocchi::db::sync
|
||||||
|
include ::gnocchi::storage
|
||||||
|
include ::gnocchi::metricd
|
||||||
|
include ::gnocchi::statsd
|
||||||
|
$gnocchi_backend = downcase(hiera('gnocchi_backend', 'swift'))
|
||||||
|
case $gnocchi_backend {
|
||||||
|
'swift': { include ::gnocchi::storage::swift }
|
||||||
|
'file': { include ::gnocchi::storage::file }
|
||||||
|
'rbd': { include ::gnocchi::storage::ceph }
|
||||||
|
default: { fail('Unrecognized gnocchi_backend parameter.') }
|
||||||
|
}
|
||||||
|
|
||||||
$snmpd_user = hiera('snmpd_readonly_user_name')
|
$snmpd_user = hiera('snmpd_readonly_user_name')
|
||||||
snmp::snmpv3_user { $snmpd_user:
|
snmp::snmpv3_user { $snmpd_user:
|
||||||
authtype => 'MD5',
|
authtype => 'MD5',
|
||||||
|
|
|
@ -24,6 +24,7 @@ Service <|
|
||||||
tag == 'cinder-service' or
|
tag == 'cinder-service' or
|
||||||
tag == 'ceilometer-service' or
|
tag == 'ceilometer-service' or
|
||||||
tag == 'glance-service' or
|
tag == 'glance-service' or
|
||||||
|
tag == 'gnocchi-service' or
|
||||||
tag == 'heat-service' or
|
tag == 'heat-service' or
|
||||||
tag == 'keystone-service' or
|
tag == 'keystone-service' or
|
||||||
tag == 'neutron-service' or
|
tag == 'neutron-service' or
|
||||||
|
@ -543,6 +544,11 @@ MYSQL_HOST=localhost\n",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if downcase(hiera('gnocchi_indexer_backend')) == 'mysql' {
|
||||||
|
class { '::gnocchi::db::mysql':
|
||||||
|
require => Exec['galera-ready'],
|
||||||
|
}
|
||||||
|
}
|
||||||
class { '::sahara::db::mysql':
|
class { '::sahara::db::mysql':
|
||||||
require => Exec['galera-ready'],
|
require => Exec['galera-ready'],
|
||||||
}
|
}
|
||||||
|
@ -1057,6 +1063,7 @@ if hiera('step') >= 4 {
|
||||||
sync_db => $sync_db,
|
sync_db => $sync_db,
|
||||||
}
|
}
|
||||||
include ::ceilometer::agent::auth
|
include ::ceilometer::agent::auth
|
||||||
|
include ::ceilometer::dispatcher::gnocchi
|
||||||
|
|
||||||
Cron <| title == 'ceilometer-expirer' |> { command => "sleep $((\$(od -A n -t d -N 3 /dev/urandom) % 86400)) && ${::ceilometer::params::expirer_command}" }
|
Cron <| title == 'ceilometer-expirer' |> { command => "sleep $((\$(od -A n -t d -N 3 /dev/urandom) % 86400)) && ${::ceilometer::params::expirer_command}" }
|
||||||
|
|
||||||
|
@ -1135,6 +1142,40 @@ if hiera('step') >= 4 {
|
||||||
enabled => false,
|
enabled => false,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Gnocchi
|
||||||
|
$gnocchi_database_connection = hiera('gnocchi_mysql_conn_string')
|
||||||
|
include ::gnocchi::client
|
||||||
|
if $sync_db {
|
||||||
|
include ::gnocchi::db::sync
|
||||||
|
}
|
||||||
|
include ::gnocchi::storage
|
||||||
|
$gnocchi_backend = downcase(hiera('gnocchi_backend', 'swift'))
|
||||||
|
case $gnocchi_backend {
|
||||||
|
'swift': { include ::gnocchi::storage::swift }
|
||||||
|
'file': { include ::gnocchi::storage::file }
|
||||||
|
'rbd': { include ::gnocchi::storage::ceph }
|
||||||
|
default: { fail('Unrecognized gnocchi_backend parameter.') }
|
||||||
|
}
|
||||||
|
class { '::gnocchi':
|
||||||
|
database_connection => $gnocchi_database_connection,
|
||||||
|
}
|
||||||
|
class { '::gnocchi::api' :
|
||||||
|
manage_service => false,
|
||||||
|
enabled => false,
|
||||||
|
service_name => 'httpd',
|
||||||
|
}
|
||||||
|
class { '::gnocchi::wsgi::apache' :
|
||||||
|
ssl => false,
|
||||||
|
}
|
||||||
|
class { '::gnocchi::metricd' :
|
||||||
|
manage_service => false,
|
||||||
|
enabled => false,
|
||||||
|
}
|
||||||
|
class { '::gnocchi::statsd' :
|
||||||
|
manage_service => false,
|
||||||
|
enabled => false,
|
||||||
|
}
|
||||||
|
|
||||||
$snmpd_user = hiera('snmpd_readonly_user_name')
|
$snmpd_user = hiera('snmpd_readonly_user_name')
|
||||||
snmp::snmpv3_user { $snmpd_user:
|
snmp::snmpv3_user { $snmpd_user:
|
||||||
authtype => 'MD5',
|
authtype => 'MD5',
|
||||||
|
@ -1781,6 +1822,30 @@ if hiera('step') >= 5 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# gnocchi
|
||||||
|
pacemaker::resource::service { $::gnocchi::params::metricd_service_name :
|
||||||
|
clone_params => 'interleave=true',
|
||||||
|
}
|
||||||
|
pacemaker::resource::service { $::gnocchi::params::statsd_service_name :
|
||||||
|
clone_params => 'interleave=true',
|
||||||
|
}
|
||||||
|
pacemaker::constraint::base { 'gnocchi-metricd-then-gnocchi-statsd-constraint':
|
||||||
|
constraint_type => 'order',
|
||||||
|
first_resource => "${::gnocchi::params::metricd_service_name}-clone",
|
||||||
|
second_resource => "${::gnocchi::params::statsd_service_name}-clone",
|
||||||
|
first_action => 'start',
|
||||||
|
second_action => 'start',
|
||||||
|
require => [Pacemaker::Resource::Service[$::gnocchi::params::metricd_service_name],
|
||||||
|
Pacemaker::Resource::Service[$::gnocchi::params::statsd_service_name]],
|
||||||
|
}
|
||||||
|
pacemaker::constraint::colocation { 'gnocchi-statsd-with-metricd-colocation':
|
||||||
|
source => "${::gnocchi::params::statsd_service_name}-clone",
|
||||||
|
target => "${::gnocchi::params::metricd_service_name}-clone",
|
||||||
|
score => 'INFINITY',
|
||||||
|
require => [Pacemaker::Resource::Service[$::gnocchi::params::metricd_service_name],
|
||||||
|
Pacemaker::Resource::Service[$::gnocchi::params::statsd_service_name]],
|
||||||
|
}
|
||||||
|
|
||||||
# Heat
|
# Heat
|
||||||
pacemaker::resource::service { $::heat::params::api_service_name :
|
pacemaker::resource::service { $::heat::params::api_service_name :
|
||||||
clone_params => 'interleave=true',
|
clone_params => 'interleave=true',
|
||||||
|
|
|
@ -27,6 +27,7 @@ resources:
|
||||||
nova_metadata_vip: {get_input: nova_metadata_vip}
|
nova_metadata_vip: {get_input: nova_metadata_vip}
|
||||||
ceilometer_api_vip: {get_input: ceilometer_api_vip}
|
ceilometer_api_vip: {get_input: ceilometer_api_vip}
|
||||||
aodh_api_vip: {get_input: aodh_api_vip}
|
aodh_api_vip: {get_input: aodh_api_vip}
|
||||||
|
gnocchi_api_vip: {get_input: gnocchi_api_vip}
|
||||||
heat_api_vip: {get_input: heat_api_vip}
|
heat_api_vip: {get_input: heat_api_vip}
|
||||||
horizon_vip: {get_input: horizon_vip}
|
horizon_vip: {get_input: horizon_vip}
|
||||||
redis_vip: {get_input: redis_vip}
|
redis_vip: {get_input: redis_vip}
|
||||||
|
|
Loading…
Reference in New Issue