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:
Thales Elero Cervi 2022-06-29 18:40:05 -03:00
parent 2eadc536ac
commit 26ba95f720
13 changed files with 924 additions and 1 deletions

View File

@ -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>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -27,4 +27,4 @@ resources:
- placement
- heat
- fm-rest-api
- horizon
- horizon