Browse Source

Retire Panko

With the openstack-helm upversion, we noticed that the Panko project was
retired [1][2]. Since this chart is currently disabled by default, we
didn't notice it, but we need to take action to remove the chart
references from stx-openstack.

[1] 160529ef90
[2] http://lists.openstack.org/pipermail/openstack-discuss/2021-May/022337.html

TEST PLAN

PASS Build and install stx-openstack with the change
PASS Verified no override namespaces were generated to Panko via `system
     helm-override-list` and `system helm-override-show wr-openstack
     panko openstack`
FAIL (expected) Tried to enable the Panko chart using `system
     helm-chart-attribute-modify --enabled true wr-openstack panko
     openstack
PASS Enabled aodh, ceilometer, gnocchi and re-appplied

Story: 2009161
Task: 44072
Signed-off-by: Thiago Brito <thiago.brito@windriver.com>
Change-Id: I2dc99a5d86933b36cc635124aca779e3bb20a7d0
changes/74/819374/6
Thiago Brito 2 months ago
committed by Thiago Paiva Brito
parent
commit
0a50ff4f89
  1. 21
      openstack-helm/centos/openstack-helm.spec
  2. 81
      openstack-helm/files/0001-Ceilometer-chart-add-the-ability-to-publish-events-t.patch
  3. 0
      openstack-helm/files/0001-Remove-stale-Apache2-service-pids-when-a-POD-starts.patch
  4. 0
      openstack-helm/files/0002-Nova-console-ip-address-search-optionality.patch
  5. 0
      openstack-helm/files/0003-Nova-chart-Support-ephemeral-pool-creation.patch
  6. 0
      openstack-helm/files/0004-Support-ingress-creation-for-keystone-admin-endpoint.patch
  7. 0
      openstack-helm/files/0005-Allow-set-public-endpoint-url-for-keystone-endpoints.patch
  8. 0
      openstack-helm/files/0006-Wrong-usage-of-rbd_store_chunk_size.patch
  9. 0
      openstack-helm/files/0007-Add-stx_admin-account.patch
  10. 0
      openstack-helm/files/0008-Disabling-helm3_hook.patch
  11. 0
      openstack-helm/files/0009-Add-flavor-extra-spec-hw-pci_irq_affinity_mask.patch
  12. 3
      python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/armada/manifest_openstack.py
  13. 1
      python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/common/constants.py
  14. 1
      python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/helm/keystone.py
  15. 70
      python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/helm/panko.py
  16. 25
      python-k8sapp-openstack/k8sapp_openstack/setup.cfg
  17. 1
      stx-openstack-helm/stx-openstack-helm/files/metadata.yaml
  18. 143
      stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml

21
openstack-helm/centos/openstack-helm.spec

@ -19,16 +19,15 @@ Source2: index.yaml
BuildArch: noarch
Patch01: 0001-Ceilometer-chart-add-the-ability-to-publish-events-t.patch
Patch02: 0002-Remove-stale-Apache2-service-pids-when-a-POD-starts.patch
Patch03: 0003-Nova-console-ip-address-search-optionality.patch
Patch04: 0004-Nova-chart-Support-ephemeral-pool-creation.patch
Patch05: 0005-Support-ingress-creation-for-keystone-admin-endpoint.patch
Patch06: 0006-Allow-set-public-endpoint-url-for-keystone-endpoints.patch
Patch07: 0007-Wrong-usage-of-rbd_store_chunk_size.patch
Patch08: 0008-Add-stx_admin-account.patch
Patch09: 0009-Disabling-helm3_hook.patch
Patch10: 0010-Add-flavor-extra-spec-hw-pci_irq_affinity_mask.patch
Patch01: 0001-Remove-stale-Apache2-service-pids-when-a-POD-starts.patch
Patch02: 0002-Nova-console-ip-address-search-optionality.patch
Patch03: 0003-Nova-chart-Support-ephemeral-pool-creation.patch
Patch04: 0004-Support-ingress-creation-for-keystone-admin-endpoint.patch
Patch05: 0005-Allow-set-public-endpoint-url-for-keystone-endpoints.patch
Patch06: 0006-Wrong-usage-of-rbd_store_chunk_size.patch
Patch07: 0007-Add-stx_admin-account.patch
Patch08: 0008-Disabling-helm3_hook.patch
Patch09: 0009-Add-flavor-extra-spec-hw-pci_irq_affinity_mask.patch
BuildRequires: helm
BuildRequires: openstack-helm-infra
@ -49,7 +48,6 @@ Openstack Helm charts
%patch07 -p1
%patch08 -p1
%patch09 -p1
%patch10 -p1
%build
# Stage helm-toolkit in the local repo
@ -73,7 +71,6 @@ make keystone
make magnum
make neutron
make nova
make panko
make placement
# terminate helm server (the last backgrounded task)

81
openstack-helm/files/0001-Ceilometer-chart-add-the-ability-to-publish-events-t.patch

@ -1,81 +0,0 @@
From 5302aa4e87694e96cc3dfc56ae494a1a8211cc37 Mon Sep 17 00:00:00 2001
From: Angie Wang <angie.wang@windriver.com>
Date: Wed, 6 Mar 2019 18:06:06 -0500
Subject: [PATCH 01] Ceilometer chart: add the ability to publish events to
panko
Ceilometer notification agent sends the events to panko via panko
dispatcher/publisher which requires the db connection information
in /etc/panko/panko.conf.
This commit updates to mount the configuration file for panko in
ceilometer notification pod.
Change-Id: I4ca524ed7462f945a245e9dbe1d69493dbc4211d
Story: 2005019
Task: 29498
Depends-On: https://review.openstack.org/#/c/641144/
Signed-off-by: Angie Wang <angie.wang@windriver.com>
(cherry picked from commit 507bc47f1447808c57c1c8aa82b0639543083656)
Signed-off-by: Robert Church <robert.church@windriver.com>
---
ceilometer/values.yaml | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/ceilometer/values.yaml b/ceilometer/values.yaml
index 44dda74..1343670 100644
--- a/ceilometer/values.yaml
+++ b/ceilometer/values.yaml
@@ -1706,6 +1706,8 @@ dependencies:
service: mongodb
- endpoint: internal
service: metric
+ - endpoint: internal
+ service: event
tests:
services:
- endpoint: internal
@@ -1827,6 +1829,21 @@ endpoints:
api:
default: 8041
public: 80
+ event:
+ name: panko
+ hosts:
+ default: panko-api
+ public: panko
+ host_fqdn_override:
+ default: null
+ path:
+ default: null
+ scheme:
+ default: 'http'
+ port:
+ api:
+ default: 8977
+ public: 80
alarming:
name: aodh
hosts:
@@ -1958,7 +1975,19 @@ pod:
init_container: null
ceilometer_notification:
volumeMounts:
+ - name: etcpanko
+ mountPath: /etc/panko
+ - name: panko-etc
+ mountPath: /etc/panko/panko.conf
+ subPath: panko.conf
+ readOnly: true
volumes:
+ - name: etcpanko
+ emptyDir: {}
+ - name: panko-etc
+ secret:
+ secretName: panko-etc
+ defaultMode: 0444
ceilometer_db_sync:
ceilometer_db_sync:
volumeMounts:
--
2.7.4

0
openstack-helm/files/0002-Remove-stale-Apache2-service-pids-when-a-POD-starts.patch → openstack-helm/files/0001-Remove-stale-Apache2-service-pids-when-a-POD-starts.patch

0
openstack-helm/files/0003-Nova-console-ip-address-search-optionality.patch → openstack-helm/files/0002-Nova-console-ip-address-search-optionality.patch

0
openstack-helm/files/0004-Nova-chart-Support-ephemeral-pool-creation.patch → openstack-helm/files/0003-Nova-chart-Support-ephemeral-pool-creation.patch

0
openstack-helm/files/0005-Support-ingress-creation-for-keystone-admin-endpoint.patch → openstack-helm/files/0004-Support-ingress-creation-for-keystone-admin-endpoint.patch

0
openstack-helm/files/0006-Allow-set-public-endpoint-url-for-keystone-endpoints.patch → openstack-helm/files/0005-Allow-set-public-endpoint-url-for-keystone-endpoints.patch

0
openstack-helm/files/0007-Wrong-usage-of-rbd_store_chunk_size.patch → openstack-helm/files/0006-Wrong-usage-of-rbd_store_chunk_size.patch

0
openstack-helm/files/0008-Add-stx_admin-account.patch → openstack-helm/files/0007-Add-stx_admin-account.patch

0
openstack-helm/files/0009-Disabling-helm3_hook.patch → openstack-helm/files/0008-Disabling-helm3_hook.patch

0
openstack-helm/files/0010-Add-flavor-extra-spec-hw-pci_irq_affinity_mask.patch → openstack-helm/files/0009-Add-flavor-extra-spec-hw-pci_irq_affinity_mask.patch

3
python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/armada/manifest_openstack.py

@ -35,7 +35,6 @@ from k8sapp_openstack.helm.nova import NovaHelm
from k8sapp_openstack.helm.nova_api_proxy import NovaApiProxyHelm
from k8sapp_openstack.helm.pci_irq_affinity_agent import PciIrqAffinityAgentHelm
from k8sapp_openstack.helm.openvswitch import OpenvswitchHelm
from k8sapp_openstack.helm.panko import PankoHelm
from k8sapp_openstack.helm.placement import PlacementHelm
from k8sapp_openstack.helm.rabbitmq import RabbitmqHelm
from k8sapp_openstack.helm.swift import SwiftHelm
@ -97,7 +96,6 @@ class OpenstackArmadaManifestOperator(base.ArmadaManifestOperator):
NovaApiProxyHelm.CHART: CHART_GROUP_COMPUTE_KIT,
PciIrqAffinityAgentHelm.CHART: CHART_GROUP_COMPUTE_KIT,
OpenvswitchHelm.CHART: CHART_GROUP_COMPUTE_KIT,
PankoHelm.CHART: CHART_GROUP_TELEMETRY,
PlacementHelm.CHART: CHART_GROUP_COMPUTE_KIT,
PSPRolebindingHelm.CHART: CHART_GROUP_PSP_ROLEBINDING,
RabbitmqHelm.CHART: CHART_GROUP_RABBITMQ,
@ -130,7 +128,6 @@ class OpenstackArmadaManifestOperator(base.ArmadaManifestOperator):
NovaApiProxyHelm.CHART: 'openstack-nova-api-proxy',
PciIrqAffinityAgentHelm.CHART: 'openstack-pci-irq-affinity-agent',
OpenvswitchHelm.CHART: 'openstack-openvswitch',
PankoHelm.CHART: 'openstack-panko',
PSPRolebindingHelm.CHART: 'openstack-psp-rolebinding',
PlacementHelm.CHART: 'openstack-placement',
RabbitmqHelm.CHART: 'openstack-rabbitmq',

1
python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/common/constants.py

@ -31,7 +31,6 @@ HELM_CHART_NOVA = 'nova'
HELM_CHART_NOVA_API_PROXY = 'nova-api-proxy'
HELM_CHART_PCI_IRQ_AFFINITY_AGENT = 'pci-irq-affinity-agent'
HELM_CHART_OPENVSWITCH = 'openvswitch'
HELM_CHART_PANKO = 'panko'
HELM_CHART_PLACEMENT = 'placement'
HELM_CHART_RABBITMQ = 'rabbitmq'
HELM_CHART_SWIFT = 'ceph-rgw'

1
python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/helm/keystone.py

@ -196,7 +196,6 @@ class KeystoneHelm(openstack.OpenstackBaseHelm):
["'sysinv':%(target.user.name)s"],
["'mtce':%(target.user.name)s"],
["'magnum':%(target.user.name)s"],
["'panko':%(target.user.name)s"],
["'gnocchi':%(target.user.name)s"]
],
"identity:delete_service": "rule:admin_required and not rule:protected_services",

70
python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/helm/panko.py

@ -1,70 +0,0 @@
#
# Copyright (c) 2019-2020 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
from k8sapp_openstack.common import constants as app_constants
from k8sapp_openstack.helm import openstack
from sysinv.common import exception
from sysinv.helm import common
class PankoHelm(openstack.OpenstackBaseHelm):
"""Class to encapsulate helm operations for the panko chart"""
CHART = app_constants.HELM_CHART_PANKO
SERVICE_NAME = app_constants.HELM_CHART_PANKO
AUTH_USERS = ['panko']
def get_overrides(self, namespace=None):
overrides = {
common.HELM_NS_OPENSTACK: {
'pod': self._get_pod_overrides(),
'endpoints': self._get_endpoints_overrides()
}
}
if namespace in self.SUPPORTED_NAMESPACES:
return overrides[namespace]
elif namespace:
raise exception.InvalidHelmNamespace(chart=self.CHART,
namespace=namespace)
else:
return overrides
def _get_pod_overrides(self):
overrides = {
'replicas': {
'api': self._num_provisioned_controllers()
}
}
return overrides
def _get_endpoints_overrides(self):
return {
'identity': {
'auth':
self._get_endpoints_identity_overrides(
self.SERVICE_NAME, self.AUTH_USERS),
},
'event': {
'host_fqdn_override':
self._get_endpoints_host_fqdn_overrides(
self.SERVICE_NAME),
'port': self._get_endpoints_port_api_public_overrides(),
'scheme': self._get_endpoints_scheme_public_overrides(),
},
'oslo_db': {
'auth': self._get_endpoints_oslo_db_overrides(
self.SERVICE_NAME, self.AUTH_USERS)
},
'oslo_cache': {
'auth': {
'memcache_secret_key':
self._get_common_password('auth_memcache_key')
}
},
}

25
python-k8sapp-openstack/k8sapp_openstack/setup.cfg

@ -50,19 +50,18 @@ systemconfig.helm_plugins.openstack =
015_cinder = k8sapp_openstack.helm.cinder:CinderHelm
016_gnocchi = k8sapp_openstack.helm.gnocchi:GnocchiHelm
017_ceilometer = k8sapp_openstack.helm.ceilometer:CeilometerHelm
018_panko = k8sapp_openstack.helm.panko:PankoHelm
019_aodh = k8sapp_openstack.helm.aodh:AodhHelm
020_openstack-helm-toolkit = k8sapp_openstack.helm.helm_toolkit:HelmToolkitHelm
021_barbican = k8sapp_openstack.helm.barbican:BarbicanHelm
022_keystone-api-proxy = k8sapp_openstack.helm.keystone_api_proxy:KeystoneApiProxyHelm
023_ceph-rgw = k8sapp_openstack.helm.swift:SwiftHelm
024_ironic = k8sapp_openstack.helm.ironic:IronicHelm
025_placement = k8sapp_openstack.helm.placement:PlacementHelm
026_nginx-ports-control = k8sapp_openstack.helm.nginx_ports_control:NginxPortsControlHelm
027_fm-rest-api = k8sapp_openstack.helm.fm_rest_api:FmRestApiHelm
028_dcdbsync = k8sapp_openstack.helm.dcdbsync:DcdbsyncHelm
029_openstack-psp-rolebinding = k8sapp_openstack.helm.psp_rolebinding:PSPRolebindingHelm
030_pci-irq-affinity-agent = k8sapp_openstack.helm.pci_irq_affinity_agent:PciIrqAffinityAgentHelm
018_aodh = k8sapp_openstack.helm.aodh:AodhHelm
019_openstack-helm-toolkit = k8sapp_openstack.helm.helm_toolkit:HelmToolkitHelm
020_barbican = k8sapp_openstack.helm.barbican:BarbicanHelm
021_keystone-api-proxy = k8sapp_openstack.helm.keystone_api_proxy:KeystoneApiProxyHelm
022_ceph-rgw = k8sapp_openstack.helm.swift:SwiftHelm
023_ironic = k8sapp_openstack.helm.ironic:IronicHelm
024_placement = k8sapp_openstack.helm.placement:PlacementHelm
025_nginx-ports-control = k8sapp_openstack.helm.nginx_ports_control:NginxPortsControlHelm
026_fm-rest-api = k8sapp_openstack.helm.fm_rest_api:FmRestApiHelm
027_dcdbsync = k8sapp_openstack.helm.dcdbsync:DcdbsyncHelm
028_openstack-psp-rolebinding = k8sapp_openstack.helm.psp_rolebinding:PSPRolebindingHelm
029_pci-irq-affinity-agent = k8sapp_openstack.helm.pci_irq_affinity_agent:PciIrqAffinityAgentHelm
systemconfig.armada.manifest_ops =
openstack = k8sapp_openstack.armada.manifest_openstack:OpenstackArmadaManifestOperator

1
stx-openstack-helm/stx-openstack-helm/files/metadata.yaml

@ -5,7 +5,6 @@ disabled_charts:
- ceph-rgw
- gnocchi
- ironic
- panko
behavior:
platform_managed_app: yes
evaluate_reapply:

143
stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml

@ -2195,132 +2195,6 @@ data:
- helm-toolkit
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: openstack-panko
data:
chart_name: panko
release: openstack-panko
namespace: openstack
wait:
timeout: 1800
labels:
release_group: osh-openstack-panko
test:
enabled: false
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
release_group: osh-openstack-panko
- type: pod
labels:
release_group: osh-openstack-panko
component: test
values:
endpoints:
identity:
force_public_endpoint: true
pod:
user:
panko:
uid: 0
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
images:
tags:
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
panko_api: docker.io/starlingx/stx-panko:master-centos-stable-latest
panko_db_sync: docker.io/starlingx/stx-panko:master-centos-stable-latest
panko_events_cleaner: docker.io/starlingx/stx-panko:master-centos-stable-latest
test: null
conf:
panko:
keystone_authtoken:
auth_uri: http://keystone.openstack.svc.cluster.local:80/v3
auth_url: http://keystone.openstack.svc.cluster.local:80/v3
paste:
composite:panko+noauth:
use: egg:Paste#urlmap
/: pankoversions_pipeline
/v2: pankov2_noauth_pipeline
composite:panko+keystone:
use: egg:Paste#urlmap
/: pankoversions_pipeline
/v2: pankov2_keystone_pipeline
pipeline:pankoversions_pipeline:
pipeline: cors http_proxy_to_wsgi pankoversions
app:pankoversions:
paste.app_factory: panko.api.app:app_factory
root: panko.api.controllers.root.VersionsController
pipeline:pankov2_keystone_pipeline:
pipeline: cors http_proxy_to_wsgi request_id authtoken pankov2
pipeline:pankov2_noauth_pipeline:
pipeline: cors http_proxy_to_wsgi request_id pankov2
app:pankov2:
paste.app_factory: panko.api.app:app_factory
root: panko.api.controllers.v2.root.V2Controller
filter:authtoken:
paste.filter_factory: keystonemiddleware.auth_token:filter_factory
oslo_config_project: panko
filter:request_id:
paste.filter_factory: oslo_middleware:RequestId.factory
filter:cors:
paste.filter_factory: oslo_middleware.cors:filter_factory
oslo_config_project: panko
filter:http_proxy_to_wsgi:
paste.filter_factory: oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory
oslo_config_project: panko
wsgi_panko: |
Listen :::{{ tuple "event" "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 "event" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}>
WSGIDaemonProcess panko processes=2 threads=1 user=panko group=panko display-name=%{GROUP} python-home=/var/lib/openstack socket-user=apache
WSGIProcessGroup panko
WSGIScriptAlias / /var/www/cgi-bin/panko/panko-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>
jobs:
events_cleaner:
# hourly at the 10 minute mark
cron: "10 * * * *"
source:
type: tar
location: http://172.17.0.1/helm_charts/starlingx/panko-0.1.0.tgz
subpath: panko
reference: master
dependencies:
- helm-toolkit
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: openstack-ceilometer
@ -2415,21 +2289,6 @@ data:
oslo_cache:
hosts:
default: memcached
event:
name: panko
hosts:
default: panko-api
public: panko
host_fqdn_override:
default: null
path:
default: null
scheme:
default: 'http'
port:
api:
default: 8977
public: 80
conf:
ceilometer:
keystone_authtoken:
@ -2470,7 +2329,6 @@ data:
sinks:
- name: event_sink
publishers:
- panko://
- gnocchi://
polling:
sources:
@ -4034,7 +3892,6 @@ data:
chart_group:
- openstack-aodh
- openstack-gnocchi
- openstack-panko
- openstack-ceilometer
---
schema: armada/ChartGroup/v1

Loading…
Cancel
Save