Partial FluxCD version of stx-openstack: telemetry
This is continuing previous work [1] of the openstack app migration to FluxCD, adding telemetry charts. This change includes the following charts: aodh, gnocchi, ceilometer Although these charts are currently disabled in metadata.yaml, they are being migrated to avoid future overhead. Test Plan: PEND - build-helm-charts.sh builds a basic FluxCD app tarball PEND - application upload and overrides generated PEND - application apply/remove/delete [1] https://review.opendev.org/c/starlingx/openstack-armada-app/+/848192 Story: 2009138 Task: 45462 Depends-On: https://review.opendev.org/c/starlingx/openstack-armada-app/+/848192 Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com> Change-Id: I764e489f97071782e54a81597fccf9d91e243b63
This commit is contained in:
parent
2eadc536ac
commit
26ba95f720
|
@ -0,0 +1,81 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
aodh_alarms_cleaner: docker.io/starlingx/stx-aodh:master-centos-stable-latest
|
||||||
|
aodh_api: docker.io/starlingx/stx-aodh:master-centos-stable-latest
|
||||||
|
aodh_db_sync: docker.io/starlingx/stx-aodh:master-centos-stable-latest
|
||||||
|
aodh_evaluator: docker.io/starlingx/stx-aodh:master-centos-stable-latest
|
||||||
|
aodh_listener: docker.io/starlingx/stx-aodh:master-centos-stable-latest
|
||||||
|
aodh_notifier: docker.io/starlingx/stx-aodh:master-centos-stable-latest
|
||||||
|
bootstrap: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
db_drop: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
db_init: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
image_repo_sync: null
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
pod:
|
||||||
|
user:
|
||||||
|
aodh:
|
||||||
|
uid: 0
|
||||||
|
affinity:
|
||||||
|
anti:
|
||||||
|
type:
|
||||||
|
default: requiredDuringSchedulingIgnoredDuringExecution
|
||||||
|
tolerations:
|
||||||
|
aodh:
|
||||||
|
enabled: true
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
operator: Exists
|
||||||
|
effect: NoSchedule
|
||||||
|
- key: openstack-compute-node
|
||||||
|
operator: Exists
|
||||||
|
effect: NoSchedule
|
||||||
|
endpoints:
|
||||||
|
oslo_messaging:
|
||||||
|
statefulset:
|
||||||
|
name: osh-openstack-rabbitmq-rabbitmq
|
||||||
|
identity:
|
||||||
|
force_public_endpoint: true
|
||||||
|
jobs:
|
||||||
|
alarms_cleaner:
|
||||||
|
# daily at the 35 minute mark
|
||||||
|
cron: "35 */24 * * *"
|
||||||
|
conf:
|
||||||
|
aodh:
|
||||||
|
keystone_authtoken:
|
||||||
|
auth_uri: http://keystone.openstack.svc.cluster.local:80/v3
|
||||||
|
auth_url: http://keystone.openstack.svc.cluster.local:80/v3
|
||||||
|
service_credentials:
|
||||||
|
auth_url: http://keystone.openstack.svc.cluster.local:80/v3
|
||||||
|
wsgi_aodh: |
|
||||||
|
Listen :::{{ tuple "alarming" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
|
||||||
|
|
||||||
|
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
||||||
|
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
|
||||||
|
|
||||||
|
SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
|
||||||
|
CustomLog /dev/stdout combined env=!forwarded
|
||||||
|
CustomLog /dev/stdout proxy env=forwarded
|
||||||
|
WSGISocketPrefix /var/run/httpd/wsgi
|
||||||
|
|
||||||
|
<VirtualHost *:{{ tuple "alarming" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}>
|
||||||
|
WSGIDaemonProcess aodh processes=2 threads=1 user=aodh group=aodh display-name=%{GROUP} python-home=/var/lib/openstack socket-user=apache
|
||||||
|
WSGIProcessGroup aodh
|
||||||
|
WSGIScriptAlias / /var/www/cgi-bin/aodh/aodh-api
|
||||||
|
WSGIApplicationGroup %{GLOBAL}
|
||||||
|
<IfVersion >= 2.4>
|
||||||
|
ErrorLogFormat "%{cu}t %M"
|
||||||
|
</IfVersion>
|
||||||
|
|
||||||
|
ErrorLog /dev/stdout
|
||||||
|
SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
|
||||||
|
CustomLog /dev/stdout combined env=!forwarded
|
||||||
|
CustomLog /dev/stdout proxy env=forwarded
|
||||||
|
</VirtualHost>
|
|
@ -0,0 +1,39 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: aodh
|
||||||
|
labels:
|
||||||
|
chart_group: openstack-aodh
|
||||||
|
spec:
|
||||||
|
releaseName: osh-openstack-aodh
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: aodh
|
||||||
|
version: 0.2.1
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: starlingx
|
||||||
|
interval: 5m
|
||||||
|
timeout: 30m
|
||||||
|
test:
|
||||||
|
enable: false
|
||||||
|
install:
|
||||||
|
disableHooks: false
|
||||||
|
upgrade:
|
||||||
|
disableHooks: false
|
||||||
|
dependsOn:
|
||||||
|
- name: horizon
|
||||||
|
namespace: openstack
|
||||||
|
valuesFrom:
|
||||||
|
- kind: Secret
|
||||||
|
name: aodh-static-overrides
|
||||||
|
valuesKey: aodh-static-overrides.yaml
|
||||||
|
- kind: Secret
|
||||||
|
name: aodh-system-overrides
|
||||||
|
valuesKey: aodh-system-overrides.yaml
|
|
@ -0,0 +1,18 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
namespace: openstack
|
||||||
|
resources:
|
||||||
|
- helmrelease.yaml
|
||||||
|
secretGenerator:
|
||||||
|
- name: aodh-static-overrides
|
||||||
|
files:
|
||||||
|
- aodh-static-overrides.yaml
|
||||||
|
- name: aodh-system-overrides
|
||||||
|
files:
|
||||||
|
- aodh-system-overrides.yaml
|
||||||
|
generatorOptions:
|
||||||
|
disableNameSuffixHash: true
|
|
@ -0,0 +1,535 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
ceilometer_api: docker.io/starlingx/stx-ceilometer:master-centos-stable-latest
|
||||||
|
ceilometer_central: docker.io/starlingx/stx-ceilometer:master-centos-stable-latest
|
||||||
|
ceilometer_collector: docker.io/starlingx/stx-ceilometer:master-centos-stable-latest
|
||||||
|
ceilometer_compute: docker.io/starlingx/stx-ceilometer:master-centos-stable-latest
|
||||||
|
ceilometer_db_sync: docker.io/starlingx/stx-ceilometer:master-centos-stable-latest
|
||||||
|
ceilometer_ipmi: docker.io/starlingx/stx-ceilometer:master-centos-stable-latest
|
||||||
|
ceilometer_notification: docker.io/starlingx/stx-ceilometer:master-centos-stable-latest
|
||||||
|
db_init: docker.io/starlingx/stx-ceilometer:master-centos-stable-latest
|
||||||
|
db_init_mongodb: docker.io/starlingx/stx-ceilometer:master-centos-stable-latest
|
||||||
|
image_repo_sync: null
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
test: null
|
||||||
|
dependencies:
|
||||||
|
static:
|
||||||
|
central:
|
||||||
|
jobs:
|
||||||
|
- ceilometer-db-sync
|
||||||
|
- ceilometer-rabbit-init
|
||||||
|
services: null
|
||||||
|
compute:
|
||||||
|
jobs:
|
||||||
|
- ceilometer-db-sync
|
||||||
|
- ceilometer-rabbit-init
|
||||||
|
services: null
|
||||||
|
ipmi:
|
||||||
|
jobs:
|
||||||
|
- ceilometer-db-sync
|
||||||
|
- ceilometer-rabbit-init
|
||||||
|
services: null
|
||||||
|
notification:
|
||||||
|
jobs:
|
||||||
|
- ceilometer-db-sync
|
||||||
|
- ceilometer-rabbit-init
|
||||||
|
services:
|
||||||
|
- endpoint: internal
|
||||||
|
service: event
|
||||||
|
db_sync:
|
||||||
|
jobs:
|
||||||
|
- ceilometer-ks-user
|
||||||
|
- ceilometer-ks-service
|
||||||
|
services:
|
||||||
|
- endpoint: internal
|
||||||
|
service: identity
|
||||||
|
- endpoint: internal
|
||||||
|
service: metric
|
||||||
|
manifests:
|
||||||
|
deployment_api: false
|
||||||
|
deployment_collector: false
|
||||||
|
service_api: false
|
||||||
|
job_db_init: false
|
||||||
|
job_db_init_mongodb: false
|
||||||
|
job_ks_endpoints: false
|
||||||
|
secret_db: false
|
||||||
|
secret_mongodb: false
|
||||||
|
endpoints:
|
||||||
|
identity:
|
||||||
|
force_public_endpoint: true
|
||||||
|
oslo_messaging:
|
||||||
|
statefulset:
|
||||||
|
name: osh-openstack-rabbitmq-rabbitmq
|
||||||
|
oslo_cache:
|
||||||
|
hosts:
|
||||||
|
default: memcached
|
||||||
|
conf:
|
||||||
|
ceilometer:
|
||||||
|
keystone_authtoken:
|
||||||
|
auth_uri: http://keystone.openstack.svc.cluster.local:80/v3
|
||||||
|
auth_url: http://keystone.openstack.svc.cluster.local:80/v3
|
||||||
|
service_credentials:
|
||||||
|
auth_url: http://keystone.openstack.svc.cluster.local:80/v3
|
||||||
|
dispatcher_gnocchi:
|
||||||
|
url: http://gnocchi.openstack.svc.cluster.local:80/
|
||||||
|
api:
|
||||||
|
aodh_url: http://aodh.openstack.svc.cluster.local:80/
|
||||||
|
cache:
|
||||||
|
expiration_time: 86400
|
||||||
|
compute:
|
||||||
|
resource_update_interval: 60
|
||||||
|
instance_discovery_method: workload_partitioning
|
||||||
|
oslo_messaging_notifications:
|
||||||
|
topics:
|
||||||
|
- notifications
|
||||||
|
pipeline:
|
||||||
|
sources:
|
||||||
|
- name: meter_source
|
||||||
|
meters:
|
||||||
|
- "*"
|
||||||
|
sinks:
|
||||||
|
- meter_sink
|
||||||
|
sinks:
|
||||||
|
- name: meter_sink
|
||||||
|
publishers:
|
||||||
|
- gnocchi://
|
||||||
|
event_pipeline:
|
||||||
|
sources:
|
||||||
|
- name: event_source
|
||||||
|
events:
|
||||||
|
- "*"
|
||||||
|
sinks:
|
||||||
|
- event_sink
|
||||||
|
sinks:
|
||||||
|
- name: event_sink
|
||||||
|
publishers:
|
||||||
|
- gnocchi://
|
||||||
|
polling:
|
||||||
|
sources:
|
||||||
|
- name: instance_cpu_pollster
|
||||||
|
interval: 30
|
||||||
|
meters:
|
||||||
|
- cpu
|
||||||
|
- name: instance_disk_pollster
|
||||||
|
interval: 600
|
||||||
|
meters:
|
||||||
|
- disk.capacity
|
||||||
|
- disk.allocation
|
||||||
|
- disk.usage
|
||||||
|
- disk.device.read.requests
|
||||||
|
- disk.device.write.requests
|
||||||
|
- disk.device.read.bytes
|
||||||
|
- disk.device.write.bytes
|
||||||
|
- disk.device.capacity
|
||||||
|
- disk.device.allocation
|
||||||
|
- disk.device.usage
|
||||||
|
- name: ipmi_pollster
|
||||||
|
interval: 600
|
||||||
|
meters:
|
||||||
|
- hardware.ipmi.node.power
|
||||||
|
- hardware.ipmi.node.temperature
|
||||||
|
- hardware.ipmi.node.outlet_temperature
|
||||||
|
- hardware.ipmi.node.airflow
|
||||||
|
- hardware.ipmi.node.cups
|
||||||
|
- hardware.ipmi.node.cpu_util
|
||||||
|
- hardware.ipmi.node.mem_util
|
||||||
|
- hardware.ipmi.node.io_util
|
||||||
|
- hardware.ipmi.temperature
|
||||||
|
- hardware.ipmi.voltage
|
||||||
|
- hardware.ipmi.current
|
||||||
|
- hardware.ipmi.fan
|
||||||
|
- name: ceph_pollster
|
||||||
|
interval: 600
|
||||||
|
meters:
|
||||||
|
- radosgw.objects
|
||||||
|
- radosgw.objects.size
|
||||||
|
- radosgw.objects.containers
|
||||||
|
- radosgw.api.request
|
||||||
|
- radosgw.containers.objects
|
||||||
|
- radosgw.containers.objects.size
|
||||||
|
- name: image_pollster
|
||||||
|
interval: 600
|
||||||
|
meters:
|
||||||
|
- image.size
|
||||||
|
- name: volume_pollster
|
||||||
|
interval: 600
|
||||||
|
meters:
|
||||||
|
- volume.size
|
||||||
|
- volume.snapshot.size
|
||||||
|
- volume.backup.size
|
||||||
|
gnocchi_resources:
|
||||||
|
archive_policy_default: ceilometer-low
|
||||||
|
archive_policies:
|
||||||
|
- name: ceilometer-low
|
||||||
|
aggregation_methods:
|
||||||
|
- mean
|
||||||
|
back_window: 0
|
||||||
|
definition:
|
||||||
|
- granularity: 5 minutes
|
||||||
|
timespan: 7 days
|
||||||
|
- name: ceilometer-low-rate
|
||||||
|
aggregation_methods:
|
||||||
|
- mean
|
||||||
|
- rate:mean
|
||||||
|
back_window: 0
|
||||||
|
definition:
|
||||||
|
- granularity: 5 minutes
|
||||||
|
timespan: 7 days
|
||||||
|
resources:
|
||||||
|
- resource_type: identity
|
||||||
|
metrics:
|
||||||
|
identity.authenticate.success:
|
||||||
|
identity.authenticate.pending:
|
||||||
|
identity.authenticate.failure:
|
||||||
|
identity.user.created:
|
||||||
|
identity.user.deleted:
|
||||||
|
identity.user.updated:
|
||||||
|
identity.group.created:
|
||||||
|
identity.group.deleted:
|
||||||
|
identity.group.updated:
|
||||||
|
identity.role.created:
|
||||||
|
identity.role.deleted:
|
||||||
|
identity.role.updated:
|
||||||
|
identity.project.created:
|
||||||
|
identity.project.deleted:
|
||||||
|
identity.project.updated:
|
||||||
|
identity.trust.created:
|
||||||
|
identity.trust.deleted:
|
||||||
|
identity.role_assignment.created:
|
||||||
|
identity.role_assignment.deleted:
|
||||||
|
- resource_type: ceph_account
|
||||||
|
metrics:
|
||||||
|
radosgw.objects:
|
||||||
|
radosgw.objects.size:
|
||||||
|
radosgw.objects.containers:
|
||||||
|
radosgw.api.request:
|
||||||
|
radosgw.containers.objects:
|
||||||
|
radosgw.containers.objects.size:
|
||||||
|
- resource_type: instance
|
||||||
|
metrics:
|
||||||
|
memory:
|
||||||
|
memory.usage:
|
||||||
|
memory.resident:
|
||||||
|
memory.swap.in:
|
||||||
|
memory.swap.out:
|
||||||
|
memory.bandwidth.total:
|
||||||
|
memory.bandwidth.local:
|
||||||
|
vcpus:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
cpu:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
cpu_l3_cache:
|
||||||
|
disk.root.size:
|
||||||
|
disk.ephemeral.size:
|
||||||
|
disk.latency:
|
||||||
|
disk.iops:
|
||||||
|
disk.capacity:
|
||||||
|
disk.allocation:
|
||||||
|
disk.usage:
|
||||||
|
compute.instance.booting.time:
|
||||||
|
perf.cpu.cycles:
|
||||||
|
perf.instructions:
|
||||||
|
perf.cache.references:
|
||||||
|
perf.cache.misses:
|
||||||
|
attributes:
|
||||||
|
host: resource_metadata.(instance_host|host)
|
||||||
|
image_ref: resource_metadata.image_ref
|
||||||
|
launched_at: resource_metadata.launched_at
|
||||||
|
created_at: resource_metadata.created_at
|
||||||
|
deleted_at: resource_metadata.deleted_at
|
||||||
|
display_name: resource_metadata.display_name
|
||||||
|
flavor_id: resource_metadata.(instance_flavor_id|(flavor.id)|flavor_id)
|
||||||
|
flavor_name: resource_metadata.(instance_type|(flavor.name)|flavor_name)
|
||||||
|
server_group: resource_metadata.user_metadata.server_group
|
||||||
|
event_delete: compute.instance.delete.start
|
||||||
|
event_attributes:
|
||||||
|
id: instance_id
|
||||||
|
event_associated_resources:
|
||||||
|
instance_network_interface: '{"=": {"instance_id": "%s"}}'
|
||||||
|
instance_disk: '{"=": {"instance_id": "%s"}}'
|
||||||
|
- resource_type: instance_network_interface
|
||||||
|
metrics:
|
||||||
|
network.outgoing.packets:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
network.incoming.packets:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
network.outgoing.packets.drop:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
network.incoming.packets.drop:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
network.outgoing.packets.error:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
network.incoming.packets.error:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
network.outgoing.bytes:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
network.incoming.bytes:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
attributes:
|
||||||
|
name: resource_metadata.vnic_name
|
||||||
|
instance_id: resource_metadata.instance_id
|
||||||
|
- resource_type: instance_disk
|
||||||
|
metrics:
|
||||||
|
disk.device.read.requests:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
disk.device.write.requests:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
disk.device.read.bytes:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
disk.device.write.bytes:
|
||||||
|
archive_policy_name: ceilometer-low-rate
|
||||||
|
disk.device.latency:
|
||||||
|
disk.device.read.latency:
|
||||||
|
disk.device.write.latency:
|
||||||
|
disk.device.iops:
|
||||||
|
disk.device.capacity:
|
||||||
|
disk.device.allocation:
|
||||||
|
disk.device.usage:
|
||||||
|
attributes:
|
||||||
|
name: resource_metadata.disk_name
|
||||||
|
instance_id: resource_metadata.instance_id
|
||||||
|
- resource_type: image
|
||||||
|
metrics:
|
||||||
|
image.size:
|
||||||
|
image.download:
|
||||||
|
image.serve:
|
||||||
|
attributes:
|
||||||
|
name: resource_metadata.name
|
||||||
|
container_format: resource_metadata.container_format
|
||||||
|
disk_format: resource_metadata.disk_format
|
||||||
|
event_delete: image.delete
|
||||||
|
event_attributes:
|
||||||
|
id: resource_id
|
||||||
|
- resource_type: ipmi
|
||||||
|
metrics:
|
||||||
|
hardware.ipmi.node.power:
|
||||||
|
hardware.ipmi.node.temperature:
|
||||||
|
hardware.ipmi.node.inlet_temperature:
|
||||||
|
hardware.ipmi.node.outlet_temperature:
|
||||||
|
hardware.ipmi.node.fan:
|
||||||
|
hardware.ipmi.node.current:
|
||||||
|
hardware.ipmi.node.voltage:
|
||||||
|
hardware.ipmi.node.airflow:
|
||||||
|
hardware.ipmi.node.cups:
|
||||||
|
hardware.ipmi.node.cpu_util:
|
||||||
|
hardware.ipmi.node.mem_util:
|
||||||
|
hardware.ipmi.node.io_util:
|
||||||
|
- resource_type: ipmi_sensor
|
||||||
|
metrics:
|
||||||
|
hardware.ipmi.fan:
|
||||||
|
hardware.ipmi.temperature:
|
||||||
|
hardware.ipmi.current:
|
||||||
|
hardware.ipmi.voltage:
|
||||||
|
attributes:
|
||||||
|
node: resource_metadata.node
|
||||||
|
- resource_type: network
|
||||||
|
metrics:
|
||||||
|
bandwidth:
|
||||||
|
ip.floating:
|
||||||
|
event_delete: floatingip.delete.end
|
||||||
|
event_attributes:
|
||||||
|
id: resource_id
|
||||||
|
- resource_type: stack
|
||||||
|
metrics:
|
||||||
|
stack.create:
|
||||||
|
stack.update:
|
||||||
|
stack.delete:
|
||||||
|
stack.resume:
|
||||||
|
stack.suspend:
|
||||||
|
- resource_type: swift_account
|
||||||
|
metrics:
|
||||||
|
storage.objects.incoming.bytes:
|
||||||
|
storage.objects.outgoing.bytes:
|
||||||
|
storage.objects.size:
|
||||||
|
storage.objects:
|
||||||
|
storage.objects.containers:
|
||||||
|
storage.containers.objects:
|
||||||
|
storage.containers.objects.size:
|
||||||
|
- resource_type: volume
|
||||||
|
metrics:
|
||||||
|
volume:
|
||||||
|
volume.size:
|
||||||
|
snapshot.size:
|
||||||
|
volume.snapshot.size:
|
||||||
|
volume.backup.size:
|
||||||
|
attributes:
|
||||||
|
display_name: resource_metadata.(display_name|name)
|
||||||
|
volume_type: resource_metadata.volume_type
|
||||||
|
image_id: resource_metadata.image_id
|
||||||
|
instance_id: resource_metadata.instance_id
|
||||||
|
event_delete: volume.delete.start
|
||||||
|
event_attributes:
|
||||||
|
id: resource_id
|
||||||
|
- resource_type: volume_provider
|
||||||
|
metrics:
|
||||||
|
volume.provider.capacity.total:
|
||||||
|
volume.provider.capacity.free:
|
||||||
|
volume.provider.capacity.allocated:
|
||||||
|
volume.provider.capacity.provisioned:
|
||||||
|
volume.provider.capacity.virtual_free:
|
||||||
|
- resource_type: volume_provider_pool
|
||||||
|
metrics:
|
||||||
|
volume.provider.pool.capacity.total:
|
||||||
|
volume.provider.pool.capacity.free:
|
||||||
|
volume.provider.pool.capacity.allocated:
|
||||||
|
volume.provider.pool.capacity.provisioned:
|
||||||
|
volume.provider.pool.capacity.virtual_free:
|
||||||
|
attributes:
|
||||||
|
provider: resource_metadata.provider
|
||||||
|
- resource_type: host
|
||||||
|
metrics:
|
||||||
|
hardware.cpu.load.1min:
|
||||||
|
hardware.cpu.load.5min:
|
||||||
|
hardware.cpu.load.15min:
|
||||||
|
hardware.cpu.util:
|
||||||
|
hardware.memory.total:
|
||||||
|
hardware.memory.used:
|
||||||
|
hardware.memory.swap.total:
|
||||||
|
hardware.memory.swap.avail:
|
||||||
|
hardware.memory.buffer:
|
||||||
|
hardware.memory.cached:
|
||||||
|
hardware.network.ip.outgoing.datagrams:
|
||||||
|
hardware.network.ip.incoming.datagrams:
|
||||||
|
hardware.system_stats.cpu.idle:
|
||||||
|
hardware.system_stats.io.outgoing.blocks:
|
||||||
|
hardware.system_stats.io.incoming.blocks:
|
||||||
|
attributes:
|
||||||
|
host_name: resource_metadata.resource_url
|
||||||
|
- resource_type: host_disk
|
||||||
|
metrics:
|
||||||
|
hardware.disk.size.total:
|
||||||
|
hardware.disk.size.used:
|
||||||
|
hardware.disk.read.bytes:
|
||||||
|
hardware.disk.write.bytes:
|
||||||
|
hardware.disk.read.requests:
|
||||||
|
hardware.disk.write.requests:
|
||||||
|
attributes:
|
||||||
|
host_name: resource_metadata.resource_url
|
||||||
|
device_name: resource_metadata.device
|
||||||
|
- resource_type: host_network_interface
|
||||||
|
metrics:
|
||||||
|
hardware.network.incoming.bytes:
|
||||||
|
hardware.network.outgoing.bytes:
|
||||||
|
hardware.network.outgoing.errors:
|
||||||
|
attributes:
|
||||||
|
host_name: resource_metadata.resource_url
|
||||||
|
device_name: resource_metadata.name
|
||||||
|
- resource_type: nova_compute
|
||||||
|
metrics:
|
||||||
|
compute.node.cpu.frequency:
|
||||||
|
compute.node.cpu.idle.percent:
|
||||||
|
compute.node.cpu.idle.time:
|
||||||
|
compute.node.cpu.iowait.percent:
|
||||||
|
compute.node.cpu.iowait.time:
|
||||||
|
compute.node.cpu.kernel.percent:
|
||||||
|
compute.node.cpu.kernel.time:
|
||||||
|
compute.node.cpu.percent:
|
||||||
|
compute.node.cpu.user.percent:
|
||||||
|
compute.node.cpu.user.time:
|
||||||
|
attributes:
|
||||||
|
host_name: resource_metadata.host
|
||||||
|
- resource_type: manila_share
|
||||||
|
metrics:
|
||||||
|
manila.share.size:
|
||||||
|
attributes:
|
||||||
|
name: resource_metadata.name
|
||||||
|
host: resource_metadata.host
|
||||||
|
status: resource_metadata.status
|
||||||
|
availability_zone: resource_metadata.availability_zone
|
||||||
|
protocol: resource_metadata.protocol
|
||||||
|
- resource_type: switch
|
||||||
|
metrics:
|
||||||
|
switch:
|
||||||
|
switch.ports:
|
||||||
|
attributes:
|
||||||
|
controller: resource_metadata.controller
|
||||||
|
- resource_type: switch_port
|
||||||
|
metrics:
|
||||||
|
switch.port:
|
||||||
|
switch.port.uptime:
|
||||||
|
switch.port.receive.packets:
|
||||||
|
switch.port.transmit.packets:
|
||||||
|
switch.port.receive.bytes:
|
||||||
|
switch.port.transmit.bytes:
|
||||||
|
switch.port.receive.drops:
|
||||||
|
switch.port.transmit.drops:
|
||||||
|
switch.port.receive.errors:
|
||||||
|
switch.port.transmit.errors:
|
||||||
|
switch.port.receive.frame_error:
|
||||||
|
switch.port.receive.overrun_error:
|
||||||
|
switch.port.receive.crc_error:
|
||||||
|
switch.port.collision.count:
|
||||||
|
attributes:
|
||||||
|
switch: resource_metadata.switch
|
||||||
|
port_number_on_switch: resource_metadata.port_number_on_switch
|
||||||
|
neutron_port_id: resource_metadata.neutron_port_id
|
||||||
|
controller: resource_metadata.controller
|
||||||
|
- resource_type: port
|
||||||
|
metrics:
|
||||||
|
port:
|
||||||
|
port.uptime:
|
||||||
|
port.receive.packets:
|
||||||
|
port.transmit.packets:
|
||||||
|
port.receive.bytes:
|
||||||
|
port.transmit.bytes:
|
||||||
|
port.receive.drops:
|
||||||
|
port.receive.errors:
|
||||||
|
attributes:
|
||||||
|
controller: resource_metadata.controller
|
||||||
|
- resource_type: switch_table
|
||||||
|
metrics:
|
||||||
|
switch.table.active.entries:
|
||||||
|
attributes:
|
||||||
|
controller: resource_metadata.controller
|
||||||
|
switch: resource_metadata.switch
|
||||||
|
wsgi_ceilometer: |
|
||||||
|
Listen :::{{ tuple "metering" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
|
||||||
|
|
||||||
|
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
||||||
|
WSGISocketPrefix /var/run/httpd/wsgi
|
||||||
|
|
||||||
|
<VirtualHost *:{{ tuple "metering" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}>
|
||||||
|
LogLevel info
|
||||||
|
WSGIDaemonProcess ceilometer-api processes=2 threads=1 user=ceilometer group=ceilometer display-name=%{GROUP} python-home=/var/lib/openstack socket-user=apache
|
||||||
|
WSGIProcessGroup ceilometer-api
|
||||||
|
|
||||||
|
WSGIScriptReloading On
|
||||||
|
WSGIScriptAlias / /var/lib/kolla/venv/lib/python2.7/site-packages/ceilometer/api/app.wsgi
|
||||||
|
|
||||||
|
WSGIApplicationGroup %{GLOBAL}
|
||||||
|
|
||||||
|
<Directory "/var/lib/kolla/venv/lib/python2.7/site-packages/ceilometer/api">
|
||||||
|
<IfVersion >= 2.4>
|
||||||
|
Require all granted
|
||||||
|
</IfVersion>
|
||||||
|
<IfVersion < 2.4>
|
||||||
|
Order allow,deny
|
||||||
|
Allow from all
|
||||||
|
</IfVersion>
|
||||||
|
</Directory>
|
||||||
|
ErrorLog /dev/stdout
|
||||||
|
CustomLog /dev/stdout combined
|
||||||
|
</VirtualHost>
|
||||||
|
pod:
|
||||||
|
affinity:
|
||||||
|
anti:
|
||||||
|
type:
|
||||||
|
default: requiredDuringSchedulingIgnoredDuringExecution
|
||||||
|
tolerations:
|
||||||
|
ceilometer:
|
||||||
|
enabled: true
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
operator: Exists
|
||||||
|
effect: NoSchedule
|
||||||
|
- key: openstack-compute-node
|
||||||
|
operator: Exists
|
||||||
|
effect: NoSchedule
|
|
@ -0,0 +1,39 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: ceilometer
|
||||||
|
labels:
|
||||||
|
chart_group: openstack-ceilometer
|
||||||
|
spec:
|
||||||
|
releaseName: osh-openstack-ceilometer
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: ceilometer
|
||||||
|
version: 0.2.1
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: starlingx
|
||||||
|
interval: 5m
|
||||||
|
timeout: 30m
|
||||||
|
test:
|
||||||
|
enable: false
|
||||||
|
install:
|
||||||
|
disableHooks: false
|
||||||
|
upgrade:
|
||||||
|
disableHooks: false
|
||||||
|
dependsOn:
|
||||||
|
- name: horizon
|
||||||
|
namespace: openstack
|
||||||
|
valuesFrom:
|
||||||
|
- kind: Secret
|
||||||
|
name: ceilometer-static-overrides
|
||||||
|
valuesKey: ceilometer-static-overrides.yaml
|
||||||
|
- kind: Secret
|
||||||
|
name: ceilometer-system-overrides
|
||||||
|
valuesKey: ceilometer-system-overrides.yaml
|
|
@ -0,0 +1,18 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
namespace: openstack
|
||||||
|
resources:
|
||||||
|
- helmrelease.yaml
|
||||||
|
secretGenerator:
|
||||||
|
- name: ceilometer-static-overrides
|
||||||
|
files:
|
||||||
|
- ceilometer-static-overrides.yaml
|
||||||
|
- name: ceilometer-system-overrides
|
||||||
|
files:
|
||||||
|
- ceilometer-system-overrides.yaml
|
||||||
|
generatorOptions:
|
||||||
|
disableNameSuffixHash: true
|
|
@ -0,0 +1,136 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
db_init: docker.io/starlingx/stx-gnocchi:master-centos-stable-latest
|
||||||
|
db_init_indexer: docker.io/starlingx/stx-gnocchi:master-centos-stable-latest
|
||||||
|
db_sync: docker.io/starlingx/stx-gnocchi:master-centos-stable-latest
|
||||||
|
gnocchi_api: docker.io/starlingx/stx-gnocchi:master-centos-stable-latest
|
||||||
|
gnocchi_metricd: docker.io/starlingx/stx-gnocchi:master-centos-stable-latest
|
||||||
|
gnocchi_resources_cleaner: docker.io/starlingx/stx-gnocchi:master-centos-stable-latest
|
||||||
|
gnocchi_statsd: docker.io/starlingx/stx-gnocchi:master-centos-stable-latest
|
||||||
|
gnocchi_storage_init: docker.io/openstackhelm/ceph-config-helper:ubuntu_bionic-20201223
|
||||||
|
image_repo_sync: null
|
||||||
|
ks_endpoints: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
ks_service: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
ks_user: docker.io/starlingx/stx-heat:master-centos-stable-latest
|
||||||
|
conf:
|
||||||
|
gnocchi:
|
||||||
|
indexer:
|
||||||
|
driver: mariadb
|
||||||
|
keystone_authtoken:
|
||||||
|
interface: internal
|
||||||
|
auth_uri: http://keystone.openstack.svc.cluster.local:80/v3
|
||||||
|
auth_url: http://keystone.openstack.svc.cluster.local:80/v3
|
||||||
|
apache: |
|
||||||
|
Listen :::{{ tuple "metric" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
|
||||||
|
|
||||||
|
SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
|
||||||
|
CustomLog /dev/stdout combined env=!forwarded
|
||||||
|
CustomLog /dev/stdout proxy env=forwarded
|
||||||
|
WSGISocketPrefix /var/run/httpd/wsgi
|
||||||
|
|
||||||
|
<VirtualHost *:{{ tuple "metric" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}>
|
||||||
|
WSGIDaemonProcess gnocchi processes=1 threads=2 user=gnocchi group=gnocchi display-name=%{GROUP} python-home=/var/lib/openstack socket-user=apache
|
||||||
|
WSGIProcessGroup gnocchi
|
||||||
|
WSGIScriptAlias / "/var/lib/openstack/bin/gnocchi-api"
|
||||||
|
WSGIApplicationGroup %{GLOBAL}
|
||||||
|
|
||||||
|
ErrorLog /dev/stdout
|
||||||
|
SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
|
||||||
|
CustomLog /dev/stdout combined env=!forwarded
|
||||||
|
CustomLog /dev/stdout proxy env=forwarded
|
||||||
|
|
||||||
|
<Directory "/var/lib/openstack/bin">
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
</VirtualHost>
|
||||||
|
paste:
|
||||||
|
composite:gnocchi+basic:
|
||||||
|
use: egg:Paste#urlmap
|
||||||
|
/: gnocchiversions_pipeline
|
||||||
|
/v1: gnocchiv1+noauth
|
||||||
|
/healthcheck: healthcheck
|
||||||
|
composite:gnocchi+keystone:
|
||||||
|
use: egg:Paste#urlmap
|
||||||
|
/: gnocchiversions_pipeline
|
||||||
|
/v1: gnocchiv1+keystone
|
||||||
|
/healthcheck: healthcheck
|
||||||
|
composite:gnocchi+remoteuser:
|
||||||
|
use: egg:Paste#urlmap
|
||||||
|
/: gnocchiversions_pipeline
|
||||||
|
/v1: gnocchiv1+noauth
|
||||||
|
/healthcheck: healthcheck
|
||||||
|
pipeline:gnocchiv1+noauth:
|
||||||
|
pipeline: gnocchiv1
|
||||||
|
pipeline:gnocchiv1+keystone:
|
||||||
|
pipeline: keystone_authtoken gnocchiv1
|
||||||
|
pipeline:gnocchiversions_pipeline:
|
||||||
|
pipeline: gnocchiversions
|
||||||
|
app:gnocchiversions:
|
||||||
|
paste.app_factory: gnocchi.rest.app:app_factory
|
||||||
|
root: gnocchi.rest.api.VersionsController
|
||||||
|
app:gnocchiv1:
|
||||||
|
paste.app_factory: gnocchi.rest.app:app_factory
|
||||||
|
root: gnocchi.rest.api.V1Controller
|
||||||
|
filter:keystone_authtoken:
|
||||||
|
use: egg:keystonemiddleware#auth_token
|
||||||
|
oslo_config_project: gnocchi
|
||||||
|
app:healthcheck:
|
||||||
|
use: egg:oslo.middleware#healthcheck
|
||||||
|
oslo_config_project: gnocchi
|
||||||
|
pod:
|
||||||
|
affinity:
|
||||||
|
anti:
|
||||||
|
type:
|
||||||
|
default: requiredDuringSchedulingIgnoredDuringExecution
|
||||||
|
tolerations:
|
||||||
|
gnocchi:
|
||||||
|
enabled: true
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
operator: Exists
|
||||||
|
effect: NoSchedule
|
||||||
|
- key: openstack-compute-node
|
||||||
|
operator: Exists
|
||||||
|
effect: NoSchedule
|
||||||
|
dependencies:
|
||||||
|
static:
|
||||||
|
db_sync:
|
||||||
|
jobs:
|
||||||
|
- gnocchi-storage-init
|
||||||
|
- gnocchi-db-init
|
||||||
|
services:
|
||||||
|
- endpoint: internal
|
||||||
|
service: oslo_db
|
||||||
|
metricd:
|
||||||
|
services:
|
||||||
|
- endpoint: internal
|
||||||
|
service: oslo_db
|
||||||
|
- endpoint: internal
|
||||||
|
service: oslo_cache
|
||||||
|
- endpoint: internal
|
||||||
|
service: metric
|
||||||
|
tests:
|
||||||
|
services:
|
||||||
|
- endpoint: internal
|
||||||
|
service: identity
|
||||||
|
- endpoint: internal
|
||||||
|
service: oslo_db
|
||||||
|
- endpoint: internal
|
||||||
|
service: metric
|
||||||
|
manifests:
|
||||||
|
daemonset_statsd: false
|
||||||
|
job_db_init_indexer: false
|
||||||
|
secret_db_indexer: false
|
||||||
|
service_statsd: false
|
||||||
|
endpoints:
|
||||||
|
oslo_cache:
|
||||||
|
hosts:
|
||||||
|
default: memcached
|
||||||
|
identity:
|
||||||
|
force_public_endpoint: true
|
|
@ -0,0 +1,39 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: gnocchi
|
||||||
|
labels:
|
||||||
|
chart_group: openstack-gnocchi
|
||||||
|
spec:
|
||||||
|
releaseName: osh-openstack-gnocchi
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: gnocchi
|
||||||
|
version: 0.1.2
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: starlingx
|
||||||
|
interval: 5m
|
||||||
|
timeout: 30m
|
||||||
|
test:
|
||||||
|
enable: false
|
||||||
|
install:
|
||||||
|
disableHooks: false
|
||||||
|
upgrade:
|
||||||
|
disableHooks: false
|
||||||
|
dependsOn:
|
||||||
|
- name: horizon
|
||||||
|
namespace: openstack
|
||||||
|
valuesFrom:
|
||||||
|
- kind: Secret
|
||||||
|
name: gnocchi-static-overrides
|
||||||
|
valuesKey: gnocchi-static-overrides.yaml
|
||||||
|
- kind: Secret
|
||||||
|
name: gnocchi-system-overrides
|
||||||
|
valuesKey: gnocchi-system-overrides.yaml
|
|
@ -0,0 +1,18 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
namespace: openstack
|
||||||
|
resources:
|
||||||
|
- helmrelease.yaml
|
||||||
|
secretGenerator:
|
||||||
|
- name: gnocchi-static-overrides
|
||||||
|
files:
|
||||||
|
- gnocchi-static-overrides.yaml
|
||||||
|
- name: gnocchi-system-overrides
|
||||||
|
files:
|
||||||
|
- gnocchi-system-overrides.yaml
|
||||||
|
generatorOptions:
|
||||||
|
disableNameSuffixHash: true
|
Loading…
Reference in New Issue