Add resources limits and requests for some charts (#163)

* Add resources limits and requests for each chart

* Refactor the resources limits and requests to follow a patern

* Fix some coding issues

* fix issues resulting from feedback on the resources PR

* Reset some variables to a static value in the neutron chart.

* Substituting variable entrypoint by dependency_check in the concerned files

* Few adjustments

* Update deploy-region.yaml

* Update deployment.yaml

* Add resources limits and requests for each chart

Squah all commits in one.

* Add resources limits and requests for some charts

* cleaning

* Fix indendation issue

* Update deployment.yaml

* Update daemonset-ovs-vswitchd.yaml
This commit is contained in:
Marcellin Tchassem 2017-02-01 21:47:59 -06:00 committed by Alan Meadows
parent a5d7e1ca36
commit fc21a2e924
32 changed files with 427 additions and 7 deletions

View File

@ -35,6 +35,15 @@ spec:
- name: glance-api
image: {{ .Values.images.api }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.api.limits.cpu | quote }}
memory: {{ .Values.resources.api.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.api.requests.cpu | quote }}
memory: {{ .Values.resources.api.requests.memory | quote }}
{{- end }}
command:
- glance-api
- --config-file

View File

@ -27,6 +27,15 @@ spec:
- name: glance-registry
image: {{ .Values.images.registry }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.registry.limits.cpu | quote }}
memory: {{ .Values.resources.registry.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.registry.requests.cpu | quote }}
memory: {{ .Values.resources.registry.requests.memory | quote }}
{{- end }}
command:
- glance-registry
- --config-file

View File

@ -19,6 +19,15 @@ spec:
- name: glance-db-init
image: {{ .Values.images.db_init }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.jobs.init.limits.cpu | quote }}
memory: {{ .Values.resources.jobs.init.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.jobs.init.requests.cpu | quote }}
memory: {{ .Values.resources.jobs.init.requests.memory | quote }}
{{- end }}
env:
- name: ANSIBLE_LIBRARY
value: /usr/share/ansible/

View File

@ -19,6 +19,15 @@ spec:
- name: glance-db-sync
image: {{ .Values.images.db_sync }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.jobs.db.limits.cpu | quote }}
memory: {{ .Values.resources.jobs.db.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.jobs.db.requests.cpu | quote }}
memory: {{ .Values.resources.jobs.db.requests.memory | quote }}
{{- end }}
command:
- glance-manage
- db_sync

View File

@ -19,6 +19,15 @@ spec:
- name: glance-post
image: {{ .Values.images.post }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.jobs.post.limits.cpu | quote }}
memory: {{ .Values.resources.jobs.post.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.jobs.post.requests.cpu | quote }}
memory: {{ .Values.resources.jobs.post.requests.memory | quote }}
{{- end }}
command:
- bash
- /tmp/post.sh

View File

@ -1,4 +1,4 @@
# Default values for keystone.
# Default values for glance.
# This is a YAML-formatted file.
# Declare name/value pairs to be passed into your templates.
# name: value
@ -72,6 +72,45 @@ misc:
workers: 8
debug: false
resources:
enabled: false
api:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
registry:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
jobs:
db:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
init:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
post:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
dependencies:
api:
jobs:

View File

@ -31,6 +31,15 @@ spec:
- name: horizon
image: {{ .Values.images.horizon }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.dashboard.limits.cpu | quote }}
memory: {{ .Values.resources.dashboard.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.dashboard.requests.cpu | quote }}
memory: {{ .Values.resources.dashboard.requests.memory | quote }}
{{- end }}
command:
- bash
- /tmp/start.sh

View File

@ -1,4 +1,4 @@
# Default values for memcached.
# Default values for horizon.
# This is a YAML-formatted file.
# Declare name/value pairs to be passed into your templates.
# name: value
@ -36,7 +36,17 @@ dependencies:
- memcached
- keystone-api
# typically overriden by environmental
resources:
enabled: false
dashboard:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
# mits:typically overriden by environmental
# values, but should include all endpoints
# required by this chart
endpoints:

View File

@ -31,6 +31,15 @@ spec:
- name: keystone-api
image: {{ .Values.images.api }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.api.limits.cpu | quote }}
memory: {{ .Values.resources.api.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.api.requests.cpu | quote }}
memory: {{ .Values.resources.api.requests.memory | quote }}
{{- end }}
command:
- bash
- /tmp/start.sh

View File

@ -19,6 +19,15 @@ spec:
- name: keystone-db-init
image: {{ .Values.images.db_init }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.jobs.init.limits.cpu | quote }}
memory: {{ .Values.resources.jobs.init.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.jobs.init.requests.cpu | quote }}
memory: {{ .Values.resources.jobs.init.requests.memory | quote }}
{{- end }}
command:
- bash
- /tmp/init.sh

View File

@ -19,6 +19,15 @@ spec:
- name: keystone-db-sync
image: {{ .Values.images.db_sync }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.jobs.db_sync.limits.cpu | quote }}
memory: {{ .Values.resources.jobs.db_sync.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.jobs.db_sync.requests.cpu | quote }}
memory: {{ .Values.resources.jobs.db_sync.requests.memory | quote }}
{{- end }}
command:
- bash
- /tmp/db-sync.sh

View File

@ -77,6 +77,31 @@ dependencies:
service:
- mariadb
resources:
enabled: false
api:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
jobs:
db_sync:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
init:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
# typically overriden by environmental
# values, but should include all endpoints
# required by this chart

View File

@ -14,6 +14,15 @@ spec:
containers:
- name: maas-rack
image: {{ .Values.images.maas_rack }}
imagePullPolicy: Always
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.maas_rack_controller.limits.cpu | quote }}
memory: {{ .Values.resources.maas_rack_controller.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.maas_rack_controller.requests.cpu | quote }}
memory: {{ .Values.resources.maas_rack_controller.requests.memory | quote }}
{{- end }}
securityContext:
privileged: true

View File

@ -51,7 +51,16 @@ spec:
containers:
- name: maas-region
image: {{ .Values.images.maas_region }}
imagePullPolicy: Always
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.maas_region.limits.cpu | quote }}
memory: {{ .Values.resources.maas_region.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.maas_region.requests.cpu | quote }}
memory: {{ .Values.resources.maas_region.requests.memory | quote}}
{{- end }}
ports:
- containerPort: {{ .Values.network.port.region_container }}
readinessProbe:

View File

@ -5,6 +5,7 @@
images:
maas_region: quay.io/attcomdev/maas-region:2.1.2-1
maas_rack: quay.io/attcomdev/maas-rack:2.1.2-1
pull_policy: Always
labels:
node_selector_key: openstack-control-plane
@ -18,4 +19,21 @@ network:
service_proxy: 8000
service_proxy_target: 8000
service_name: maas-region-ui
service_name: maas-region-ui
resources:
enabled: false
maas_rack_controller:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
maas_region:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"

View File

@ -43,6 +43,15 @@ spec:
- name: {{ .Values.service_name }}
image: {{ .Values.images.mariadb }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.api.limits.cpu | quote }}
memory: {{ .Values.resources.api.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.api.requests.cpu | quote }}
memory: {{ .Values.resources.api.requests.memory | quote }}
{{- end }}
env:
- name: INTERFACE_NAME
value: "eth0"

View File

@ -16,6 +16,15 @@ spec:
- name: mariadb-init
image: {{ .Values.images.mariadb }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.job.seed.limits.cpu | quote }}
memory: {{ .Values.resources.job.seed.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.job.seed.requests.cpu | quote }}
memory: {{ .Values.resources.job.seed.requests.memory | quote }}
{{- end }}
env:
- name: INTERFACE_NAME
value: "eth0"

View File

@ -21,6 +21,24 @@ development:
enabled: false
storage_path: /data/openstack-helm/mariadb
resources:
enabled: false
api:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
job:
seed:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
# this drives the service name, and statefulset name
service_name: mariadb

View File

@ -23,6 +23,15 @@ spec:
- name: memcached
image: {{ .Values.images.memcached }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.api.limits.cpu | quote }}
memory: {{ .Values.resources.api.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.api.requests.cpu | quote }}
memory: {{ .Values.resources.api.requests.memory | quote }}
{{- end }}
command: ["sh", "-xec"]
args:
- |

View File

@ -26,5 +26,13 @@ memcached:
max_connections: 8192
resources:
enabled: false
memcached:
replicas: 1
api:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"

View File

@ -26,6 +26,15 @@ spec:
- name: neutron-dhcp-agent
image: {{ .Values.images.dhcp }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.agent.dhcp.limits.cpu | quote }}
memory: {{ .Values.resources.agent.dhcp.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.agent.dhcp.requests.cpu | quote }}
memory: {{ .Values.resources.agent.dhcp.requests.memory | quote }}
{{- end }}
securityContext:
privileged: true
command:

View File

@ -26,6 +26,15 @@ spec:
- name: neutron-l3-agent
image: {{ .Values.images.l3 }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.agent.l3.limits.cpu | quote }}
memory: {{ .Values.resources.agent.l3.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.agent.l3.requests.cpu | quote }}
memory: {{ .Values.resources.agent.l3.requests.memory | quote }}
{{- end }}
securityContext:
privileged: true
command:

View File

@ -26,6 +26,15 @@ spec:
- name: neutron-metadata-agent
image: {{ .Values.images.metadata }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.agent.metadata.limits.cpu | quote }}
memory: {{ .Values.resources.agent.metadata.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.agent.metadata.requests.cpu | quote }}
memory: {{ .Values.resources.agent.metadata.requests.memory | quote }}
{{- end }}
securityContext:
privileged: true
command:

View File

@ -26,6 +26,15 @@ spec:
- name: ovs-agent
image: {{ .Values.images.neutron_openvswitch_agent }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.ovs.agent.limits.cpu | quote }}
memory: {{ .Values.resources.ovs.agent.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.ovs.agent.requests.cpu | quote }}
memory: {{ .Values.resources.ovs.agent.requests.memory | quote }}
{{- end }}
securityContext:
privileged: true
command:

View File

@ -21,6 +21,15 @@ spec:
- name: ovs-db
image: {{ .Values.images.openvswitch_db_server }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.ovs.db.limits.cpu | quote }}
memory: {{ .Values.resources.ovs.db.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.ovs.db.requests.cpu | quote }}
memory: {{ .Values.resources.ovs.db.requests.memory | quote }}
{{- end }}
securityContext:
privileged: true
command:

View File

@ -21,6 +21,15 @@ spec:
- name: ovs-vswitchd
image: {{ .Values.images.openvswitch_vswitchd }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.ovs.vswitchd.limits.cpu | quote }}
memory: {{ .Values.resources.ovs.vswitchd.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.ovs.vswitchd.requests.cpu | quote }}
memory: {{ .Values.resources.ovs.vswitchd.requests.memory | quote }}
{{- end }}
securityContext:
privileged: true
# ensures this container can speak to the ovs database

View File

@ -37,6 +37,15 @@ spec:
- /etc/neutron/neutron.conf
- --config-file
- /etc/neutron/plugins/ml2/ml2-conf.ini
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.server.limits.cpu | quote }}
memory: {{ .Values.resources.server.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.server.requests.cpu | quote }}
memory: {{ .Values.resources.server.requests.memory | quote }}
{{- end }}
ports:
- containerPort: {{ .Values.network.port.server }}
readinessProbe:

View File

@ -27,6 +27,15 @@ spec:
- /etc/neutron/plugins/ml2/ml2-conf.ini
- upgrade
- head
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.jobs.db_sync.limits.cpu | quote }}
memory: {{ .Values.resources.jobs.db_sync.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.jobs.db_sync.requests.cpu | quote }}
memory: {{ .Values.resources.jobs.db_sync.requests.memory | quote }}
{{- end }}
volumeMounts:
- name: pod-etc-neutron
mountPath: /etc/neutron

View File

@ -22,6 +22,15 @@ spec:
command:
- bash
- /tmp/post.sh
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.jobs.post.limits.cpu | quote }}
memory: {{ .Values.resources.jobs.post.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.jobs.post.requests.cpu | quote }}
memory: {{ .Values.resources.jobs.post.requests.memory | quote }}
{{- end }}
env:
- name: ANSIBLE_LIBRARY
value: /usr/share/ansible/

View File

@ -1,4 +1,4 @@
# Default values for memcached.
# Default values for neutron.
# This is a YAML-formatted file.
# Declare name/value pairs to be passed into your templates.
# name: value
@ -199,6 +199,82 @@ dependencies:
jobs:
- neutron-db-sync
resources:
enabled: false
agent:
dhcp:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
l3:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
metadata:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
ovs:
agent:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
db:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
vswitchd:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
server:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
jobs:
db_sync:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
init:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
post:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
# typically overriden by environmental
# values, but should include all endpoints
# required by this chart

View File

@ -30,6 +30,15 @@ spec:
containers:
- name: rabbitmq
image: {{ .Values.images.rabbitmq }}
{{- if .Values.resources.enabled }}
resources:
limits:
cpu: {{ .Values.resources.api.limits.cpu | quote }}
memory: {{ .Values.resources.api.limits.memory | quote }}
requests:
cpu: {{ .Values.resources.api.requests.cpu | quote }}
memory: {{ .Values.resources.api.requests.memory | quote }}
{{- end }}
command:
- bash
- /tmp/start_rabbitmq.sh

View File

@ -5,6 +5,16 @@
replicas: "1" # this must be quoted to deal with atoi
resources:
enabled: false
api:
limits:
memory: "128Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "500m"
labels:
node_selector_key: openstack-control-plane
node_selector_value: enabled