Add cronjob to purge heat db

Change-Id: Ic95bcb545c6ff6783b5ca286939b1964e67e6168
This commit is contained in:
okozachenko 2020-07-09 22:05:24 +03:00
parent 7363de01ab
commit e49c236d4f
2 changed files with 63 additions and 2 deletions

View File

@ -44,8 +44,6 @@ def create_or_resume(name, spec, **_):
name=name, spec=spec, component='engine',
config_hash=config_hash)
utils.create_or_update('heat/cronjob-service-clean.yml.j2',
name=name, spec=spec)
utils.create_or_update('heat/memcached.yml.j2', spec=spec)
# deploy rabbitmq
if not utils.ensure_secret("openstack", "heat-rabbitmq"):
@ -53,6 +51,11 @@ def create_or_resume(name, spec, **_):
password=utils.generate_password())
utils.create_or_update('heat/rabbitmq.yml.j2', spec=spec)
utils.create_or_update('heat/cronjob-service-clean.yml.j2',
name=name, spec=spec)
utils.create_or_update('heat/cronjob-purge-deleted.yml.j2',
name=name, spec=spec)
if "ingress" in spec:
utils.create_or_update('heat/ingress.yml.j2',
name=name, spec=spec)

View File

@ -0,0 +1,58 @@
---
# Copyright 2020 VEXXHOST, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: heat
namespace: openstack
labels:
{{ labels("heat", name) | indent(4) }}
spec:
schedule: "0 0 */1 * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: purge
image: vexxhost/heat-engine:latest
imagePullPolicy: Always
command:
- heat-manage
- purge_deleted
- -g
- days
- "7"
volumeMounts:
- mountPath: /etc/heat
name: config
restartPolicy: OnFailure
volumes:
- name: config
secret:
secretName: heat-config
{% if 'nodeSelector' in spec %}
nodeSelector:
{{ spec.nodeSelector | to_yaml | indent(12) }}
{% endif %}
{% if 'tolerations' in spec %}
tolerations:
{{ spec.tolerations | to_yaml | indent(12) }}
{% endif %}
{% if 'hostAliases' in spec %}
hostAliases:
{{ spec.hostAliases | to_yaml | indent(12) }}
{% endif %}