Merge branch 'master' into docs_helm_overrides

This commit is contained in:
Alan Meadows 2017-02-06 15:32:12 -08:00
commit 98c871d2cd
96 changed files with 1379 additions and 67 deletions

10
OWNERS Normal file
View File

@ -0,0 +1,10 @@
reviewers:
- alanmeadows
- v1k0d3n
- intlabs
- wilkers-steve
- DTadrzak
- larryrensing
approvers:
- alanmeadows
- v1k0d3n

View File

@ -1,6 +1,9 @@
# Openstack-Helm # Openstack-Helm
Join us on [freenode](https://freenode.net/): `#openstack-helm` **Join us on [Slack](http://slack.k8s.io/):** `#openstack-helm`<br>
**Join us on [Freenode](https://freenode.net/):** `#openstack-helm`<br>
**Community Meetings:** [Every other Tuesday @ 3PM UTC](https://calendar.google.com/calendar/embed?src=rnd4tpeoncig91pvs05il4p29o%40group.calendar.google.com&ctz=America/New_York) (Provided by [Zoom](https://zoom.us/j/562328746))<br>
**Community Agenda Items:** [Google Docs](https://docs.google.com/document/d/1Vm2OnMzjSru3cuvxh4Oa7R_z7staU-7ivGy8foOzDCs/edit#heading=h.bfc0dkav9gk2)
Openstack-Helm is a fully self-contained Helm-based OpenStack deployment on Kubernetes. It will provide baremetal provisioning, persistent storage, full-stack resiliency, full-stack scalability, performance monitoring and tracing, and an optional development pipeline (using Jenkins). This project, along with the tools used within are community-based and open sourced. Openstack-Helm is a fully self-contained Helm-based OpenStack deployment on Kubernetes. It will provide baremetal provisioning, persistent storage, full-stack resiliency, full-stack scalability, performance monitoring and tracing, and an optional development pipeline (using Jenkins). This project, along with the tools used within are community-based and open sourced.

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
description: A Helm chart for Kubernetes description: A Helm chart for Kubernetes
name: ceph name: ceph
version: 0.1.0 version: 0.1.0

View File

@ -1,5 +1,18 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
dependencies: dependencies:
- name: common - name: common
repository: http://localhost:8879/charts repository: http://localhost:8879/charts
version: 0.1.0 version: 0.1.0

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
--- ---
kind: DaemonSet kind: DaemonSet
apiVersion: extensions/v1beta1 apiVersion: extensions/v1beta1

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
--- ---
kind: Deployment kind: Deployment
apiVersion: extensions/v1beta1 apiVersion: extensions/v1beta1

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
--- ---
kind: Deployment kind: Deployment
apiVersion: extensions/v1beta1 apiVersion: extensions/v1beta1
@ -16,7 +30,7 @@ spec:
daemon: moncheck daemon: moncheck
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
serviceAccount: default serviceAccount: default
volumes: volumes:
- name: ceph-conf - name: ceph-conf

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
{{- if .Values.rgw.enabled }} {{- if .Values.rgw.enabled }}
--- ---
kind: Deployment kind: Deployment
@ -5,7 +19,7 @@ apiVersion: extensions/v1beta1
metadata: metadata:
labels: labels:
app: ceph app: ceph
daemon: rgw daemon: rgw
name: ceph-rgw name: ceph-rgw
spec: spec:
replicas: {{ .Values.replicas.rgw }} replicas: {{ .Values.replicas.rgw }}

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
{{- if .Values.secrets.use_common_secrets -}} {{- if .Values.secrets.use_common_secrets -}}
--- ---
apiVersion: v1 apiVersion: v1

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
--- ---
kind: Service kind: Service
apiVersion: v1 apiVersion: v1

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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: apps/v1beta1 apiVersion: apps/v1beta1
kind: StatefulSet kind: StatefulSet
@ -37,7 +51,7 @@ spec:
} }
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
serviceAccount: default serviceAccount: default
volumes: volumes:
- name: ceph-conf - name: ceph-conf
@ -53,7 +67,7 @@ spec:
secret: secret:
secretName: ceph-bootstrap-rgw-keyring secretName: ceph-bootstrap-rgw-keyring
- name: ceph-monfs - name: ceph-monfs
hostPath: hostPath:
path: {{ .Values.storage.mon_directory }} path: {{ .Values.storage.mon_directory }}
containers: containers:
- name: ceph-mon - name: ceph-mon
@ -72,10 +86,16 @@ spec:
value: MON value: MON
- name: KV_TYPE - name: KV_TYPE
value: k8s value: k8s
- name: NETWORK_AUTO_DETECT
value: "4"
- name: CLUSTER - name: CLUSTER
value: ceph value: ceph
- name: NETWORK_AUTO_DETECT
value: "0"
- name: CEPH_PUBLIC_NETWORK
value: {{ .Values.network.public | quote }}
- name: MON_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
volumeMounts: volumeMounts:
- name: ceph-conf - name: ceph-conf
mountPath: /etc/ceph mountPath: /etc/ceph

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
# note that these secrets are handled by the common chart, not the ceph # note that these secrets are handled by the common chart, not the ceph
# chart, as we likely want them "everywhere" # chart, as we likely want them "everywhere"
--- ---

View File

@ -1,11 +1,16 @@
# Default values for ceph. # Copyright 2017 The Openstack-Helm Authors.
# This is a YAML-formatted file.
# Declare name/value pairs to be passed into your templates.
# name: value
# #
# alanmeadows(NOTE): this is merely a sample of the potential # Licensed under the Apache License, Version 2.0 (the "License");
# tunables available - parameterizing more of the elements # you may not use this file except in compliance with the License.
# in the manifests is a work in progress # 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.
replicas: replicas:
mon: 3 mon: 3
@ -25,7 +30,8 @@ labels:
node_selector_value: enabled node_selector_value: enabled
network: network:
port: public: "10.25.0.0/16"
port:
mon: 6789 mon: 6789
rgw_ingress: 80 rgw_ingress: 80
rgw_target: 8088 rgw_target: 8088
@ -77,22 +83,22 @@ resources:
cpu: "250m" cpu: "250m"
limits: limits:
memory: "50Mi" memory: "50Mi"
cpu: "500m" cpu: "500m"
# Setting this to false will assume you will # Setting this to false will assume you will
# setup and orchestrate your own secrets and # setup and orchestrate your own secrets and
# configmaps outside of this helm chart # configmaps outside of this helm chart
# #
# The list below is in the format of # The list below is in the format of
# #
# configMapName: # configMapName:
# elementKeyName # elementKeyName
# #
# ceph.conf: # ceph.conf:
# ceph.conf # ceph.conf
# ceph.client.admin.keyring # ceph.client.admin.keyring
# ceph.client.admin.keyring # ceph.client.admin.keyring
# ceph.mon.keyring: # ceph.mon.keyring:
# ceph.mon.keyring # ceph.mon.keyring
# ceph-bootstrap-rgw-keyring: # ceph-bootstrap-rgw-keyring:
# ceph.keyring # ceph.keyring

View File

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

View File

@ -31,6 +31,15 @@ spec:
- name: cinder-scheduler - name: cinder-scheduler
image: {{ .Values.images.scheduler }} image: {{ .Values.images.scheduler }}
imagePullPolicy: {{ .Values.images.pull_policy }} imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
requests:
memory: {{ .Values.resources.cinder_scheduler.requests.memory | quote }}
cpu: {{ .Values.resources.cinder_scheduler.requests.cpu | quote }}
limits:
memory: {{ .Values.resources.cinder_scheduler.limits.memory | quote }}
cpu: {{ .Values.resources.cinder_scheduler.limits.cpu | quote }}
{{- end }}
command: command:
- cinder-scheduler - cinder-scheduler
- --config-dir - --config-dir

View File

@ -31,6 +31,15 @@ spec:
- name: cinder-volume - name: cinder-volume
image: {{ .Values.images.volume }} image: {{ .Values.images.volume }}
imagePullPolicy: {{ .Values.images.pull_policy }} imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
requests:
memory: {{ .Values.resources.cinder_volume.requests.memory | quote }}
cpu: {{ .Values.resources.cinder_volume.requests.cpu | quote }}
limits:
memory: {{ .Values.resources.cinder_volume.limits.memory | quote }}
cpu: {{ .Values.resources.cinder_volume.limits.cpu | quote }}
{{- end }}
command: command:
- cinder-volume - cinder-volume
- --config-dir - --config-dir

View File

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

View File

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

View File

@ -22,6 +22,15 @@ spec:
- name: {{ $osServiceType }}-ks-endpoints-{{ $osServiceEndPoint }} - name: {{ $osServiceType }}-ks-endpoints-{{ $osServiceEndPoint }}
image: {{ $envAll.Values.images.ks_endpoints }} image: {{ $envAll.Values.images.ks_endpoints }}
imagePullPolicy: {{ $envAll.Values.images.pull_policy }} imagePullPolicy: {{ $envAll.Values.images.pull_policy }}
{{- if $envAll.Values.resources.enabled }}
resources:
requests:
memory: {{ $envAll.Values.resources.cinder_ks_endpoints.requests.memory | quote }}
cpu: {{ $envAll.Values.resources.cinder_ks_endpoints.requests.cpu | quote }}
limits:
memory: {{ $envAll.Values.resources.cinder_ks_endpoints.limits.memory | quote }}
cpu: {{ $envAll.Values.resources.cinder_ks_endpoints.limits.cpu | quote }}
{{- end }}
command: command:
- bash - bash
- /tmp/ks-endpoints.sh - /tmp/ks-endpoints.sh

View File

@ -21,6 +21,15 @@ spec:
- name: {{ $osServiceType }}-ks-service-registration - name: {{ $osServiceType }}-ks-service-registration
image: {{ $envAll.Values.images.ks_service }} image: {{ $envAll.Values.images.ks_service }}
imagePullPolicy: {{ $envAll.Values.images.pull_policy }} imagePullPolicy: {{ $envAll.Values.images.pull_policy }}
{{- if $envAll.Values.resources.enabled }}
resources:
requests:
memory: {{ $envAll.Values.resources.cinder_ks_service.requests.memory | quote }}
cpu: {{ $envAll.Values.resources.cinder_ks_service.requests.cpu | quote }}
limits:
memory: {{ $envAll.Values.resources.cinder_ks_service.limits.memory | quote }}
cpu: {{ $envAll.Values.resources.cinder_ks_service.limits.cpu | quote }}
{{- end }}
command: command:
- bash - bash
- /tmp/ks-service.sh - /tmp/ks-service.sh

View File

@ -21,6 +21,15 @@ spec:
- name: cinder-ks-user - name: cinder-ks-user
image: {{ .Values.images.ks_user }} image: {{ .Values.images.ks_user }}
imagePullPolicy: {{ .Values.images.pull_policy }} imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
requests:
memory: {{ .Values.resources.cinder_ks_user.requests.memory | quote }}
cpu: {{ .Values.resources.cinder_ks_user.requests.cpu | quote }}
limits:
memory: {{ .Values.resources.cinder_ks_user.limits.memory | quote }}
cpu: {{ .Values.resources.cinder_ks_user.limits.cpu | quote }}
{{- end }}
command: command:
- bash - bash
- /tmp/ks-user.sh - /tmp/ks-user.sh

View File

@ -183,3 +183,63 @@ endpoints:
scheme: 'http' scheme: 'http'
port: port:
api: 8776 api: 8776
resources:
enabled: false
cinder_api:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
cinder_scheduler:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
cinder_volume:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
cinder_db_init:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
cinder_db_sync:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
cinder_ks_endpoints:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
cinder_ks_service:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
cinder_ks_user:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"

View File

@ -3,8 +3,8 @@
## Table of Contents ## Table of Contents
## &nbsp;1. [Openstack-Helm Design Principals]() ## &nbsp;1. [Openstack-Helm Design Principles]
### &nbsp;&nbsp;&nbsp;1.1 Mission ### &nbsp;&nbsp;&nbsp;1.1 [Mission](mission.md)
##### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.1.1 [Resiliency](mission.md#resiliency) ##### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.1.1 [Resiliency](mission.md#resiliency)
##### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.1.2 [Scaling](mission.md#scaling) ##### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.1.2 [Scaling](mission.md#scaling)
### &nbsp;&nbsp;&nbsp;1.2 Helm Overrides ### &nbsp;&nbsp;&nbsp;1.2 Helm Overrides

View File

@ -37,6 +37,7 @@ git checkout 0.1.0
# Start a local Helm Server: # Start a local Helm Server:
helm serve & helm serve &
helm repo add local http://localhost:8879/charts
# You may need to change these params for your environment. Look up use of --iso-url if needed: # You may need to change these params for your environment. Look up use of --iso-url if needed:
minikube start \ minikube start \
@ -166,7 +167,7 @@ After following the instructions above your environment is in a state where you
Consider the following when using Minikube and development mode: Consider the following when using Minikube and development mode:
* Persistent Storage used for Minikube development mode is `hostPath`. The Ceph PVC's included with this project are not intended to work with Minikube. * Persistent Storage used for Minikube development mode is `hostPath`. The Ceph PVC's included with this project are not intended to work with Minikube.
* There is *no need* to install the `common` `ceph` or `bootstrap` charts. These charts are required for deploying Ceph PVC's. * There is *no need* to install the `common` `ceph` or `bootstrap` charts. These charts are required for deploying Ceph PVC's.
* Familiarize yourself with `values.yaml` included with the MariaDB chart. You will want to have the `hostPath` directory created prior to deploying MariaDB. * Familiarize yourself with `values.yaml` included with the MariaDB chart. You will want to have the `storage_path` directory created prior to deploying MariaDB. This value will be used as the deployment's `hostPath`.
* If Ceph development is required, you will need to follow the [getting started guide](https://github.com/att-comdev/openstack-helm/blob/master/docs/installation/getting-started.md) rather than this development mode documentation. * If Ceph development is required, you will need to follow the [getting started guide](https://github.com/att-comdev/openstack-helm/blob/master/docs/installation/getting-started.md) rather than this development mode documentation.
To deploy Openstack-Helm in development mode, ensure you've created a minikube-approved `hostPath` volume. Minikube is very specific about what is expected for `hostPath` volumes. The following volumes are acceptable for minikube deployments: To deploy Openstack-Helm in development mode, ensure you've created a minikube-approved `hostPath` volume. Minikube is very specific about what is expected for `hostPath` volumes. The following volumes are acceptable for minikube deployments:

View File

@ -268,7 +268,7 @@ Please ensure that you use ``--purge`` whenever deleting a project.
## Ceph Installation and Verification ## Ceph Installation and Verification
Install the first service, which is Ceph. If all instructions have been followed as mentioned above, this installation should go smoothly. Use the following command to install Ceph: Install the first service, which is Ceph. If all instructions have been followed as mentioned above, this installation should go smoothly. Use the following command to install Ceph:
``` ```
admin@kubenode01:~$ helm install --name=ceph local/ceph --namespace=ceph admin@kubenode01:~$ helm install --set network.public=$osd_public_network --name=ceph local/ceph --namespace=ceph
``` ```
## Bootstrap Installation ## Bootstrap Installation

View File

@ -35,6 +35,15 @@ spec:
- name: glance-api - name: glance-api
image: {{ .Values.images.api }} image: {{ .Values.images.api }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: command:
- glance-api - glance-api
- --config-file - --config-file

View File

@ -27,6 +27,15 @@ spec:
- name: glance-registry - name: glance-registry
image: {{ .Values.images.registry }} image: {{ .Values.images.registry }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: command:
- glance-registry - glance-registry
- --config-file - --config-file

View File

@ -19,6 +19,15 @@ spec:
- name: glance-db-init - name: glance-db-init
image: {{ .Values.images.db_init }} image: {{ .Values.images.db_init }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: env:
- name: ANSIBLE_LIBRARY - name: ANSIBLE_LIBRARY
value: /usr/share/ansible/ value: /usr/share/ansible/

View File

@ -19,6 +19,15 @@ spec:
- name: glance-db-sync - name: glance-db-sync
image: {{ .Values.images.db_sync }} image: {{ .Values.images.db_sync }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: command:
- glance-manage - glance-manage
- db_sync - db_sync

View File

@ -19,6 +19,15 @@ spec:
- name: glance-post - name: glance-post
image: {{ .Values.images.post }} image: {{ .Values.images.post }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: command:
- bash - bash
- /tmp/post.sh - /tmp/post.sh

View File

@ -1,4 +1,4 @@
# Default values for keystone. # Default values for glance.
# This is a YAML-formatted file. # This is a YAML-formatted file.
# Declare name/value pairs to be passed into your templates. # Declare name/value pairs to be passed into your templates.
# name: value # name: value
@ -72,6 +72,45 @@ misc:
workers: 8 workers: 8
debug: false 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: dependencies:
api: api:
jobs: jobs:

View File

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

View File

@ -21,6 +21,15 @@ spec:
- name: heat-cfn - name: heat-cfn
image: {{ .Values.images.cfn }} image: {{ .Values.images.cfn }}
imagePullPolicy: {{ .Values.images.pull_policy }} imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
requests:
memory: {{ .Values.resources.heat_cfn.requests.memory | quote }}
cpu: {{ .Values.resources.heat_cfn.requests.cpu | quote }}
limits:
memory: {{ .Values.resources.heat_cfn.limits.memory | quote }}
cpu: {{ .Values.resources.heat_cfn.limits.cpu | quote }}
{{- end }}
command: command:
- heat-api-cfn - heat-api-cfn
- --config-dir - --config-dir

View File

@ -21,6 +21,15 @@ spec:
- name: heat-cloudwatch - name: heat-cloudwatch
image: {{ .Values.images.cloudwatch }} image: {{ .Values.images.cloudwatch }}
imagePullPolicy: {{ .Values.images.pull_policy }} imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
requests:
memory: {{ .Values.resources.heat_cloudwatch.requests.memory | quote }}
cpu: {{ .Values.resources.heat_cloudwatch.requests.cpu | quote }}
limits:
memory: {{ .Values.resources.heat_cloudwatch.limits.memory | quote }}
cpu: {{ .Values.resources.heat_cloudwatch.limits.cpu | quote }}
{{- end }}
command: command:
- heat-api-cloudwatch - heat-api-cloudwatch
- --config-dir - --config-dir

View File

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

View File

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

View File

@ -22,6 +22,15 @@ spec:
- name: {{ $osServiceName }}-ks-endpoints-{{ $osServiceEndPoint }} - name: {{ $osServiceName }}-ks-endpoints-{{ $osServiceEndPoint }}
image: {{ $envAll.Values.images.ks_endpoints }} image: {{ $envAll.Values.images.ks_endpoints }}
imagePullPolicy: {{ $envAll.Values.images.pull_policy }} imagePullPolicy: {{ $envAll.Values.images.pull_policy }}
{{- if $envAll.Values.resources.enabled }}
resources:
requests:
memory: {{ $envAll.Values.resources.heat_ks_endpoints.requests.memory | quote }}
cpu: {{ $envAll.Values.resources.heat_ks_endpoints.requests.cpu | quote }}
limits:
memory: {{ $envAll.Values.resources.heat_ks_endpoints.limits.memory | quote }}
cpu: {{ $envAll.Values.resources.heat_ks_endpoints.limits.cpu | quote }}
{{- end }}
command: command:
- bash - bash
- /tmp/ks-endpoints.sh - /tmp/ks-endpoints.sh

View File

@ -21,6 +21,15 @@ spec:
- name: {{ $osServiceName }}-ks-service-registration - name: {{ $osServiceName }}-ks-service-registration
image: {{ $envAll.Values.images.ks_service }} image: {{ $envAll.Values.images.ks_service }}
imagePullPolicy: {{ $envAll.Values.images.pull_policy }} imagePullPolicy: {{ $envAll.Values.images.pull_policy }}
{{- if $envAll.Values.resources.enabled }}
resources:
requests:
memory: {{ $envAll.Values.resources.heat_ks_service.requests.memory | quote }}
cpu: {{ $envAll.Values.resources.heat_ks_service.requests.cpu | quote }}
limits:
memory: {{ $envAll.Values.resources.heat_ks_service.limits.memory | quote }}
cpu: {{ $envAll.Values.resources.heat_ks_service.limits.cpu | quote }}
{{- end }}
command: command:
- bash - bash
- /tmp/ks-service.sh - /tmp/ks-service.sh
@ -38,6 +47,7 @@ spec:
- name: OS_SERVICE_TYPE - name: OS_SERVICE_TYPE
value: {{ tuple $osServiceName $envAll | include "endpoint_type_lookup" }} value: {{ tuple $osServiceName $envAll | include "endpoint_type_lookup" }}
{{- end }} {{- end }}
volumes: volumes:
- name: ks-service-sh - name: ks-service-sh
configMap: configMap:

View File

@ -24,6 +24,15 @@ spec:
- name: heat-ks-user - name: heat-ks-user
image: {{ .Values.images.ks_user }} image: {{ .Values.images.ks_user }}
imagePullPolicy: {{ .Values.images.pull_policy }} imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
requests:
memory: {{ .Values.resources.heat_ks_user.requests.memory | quote }}
cpu: {{ .Values.resources.heat_ks_user.requests.cpu | quote }}
limits:
memory: {{ .Values.resources.heat_ks_user.limits.memory | quote }}
cpu: {{ .Values.resources.heat_ks_user.limits.cpu | quote }}
{{- end }}
command: command:
- bash - bash
- /tmp/ks-user.sh - /tmp/ks-user.sh

View File

@ -22,6 +22,15 @@ spec:
- name: heat-engine - name: heat-engine
image: {{ .Values.images.engine }} image: {{ .Values.images.engine }}
imagePullPolicy: {{ .Values.images.pull_policy }} imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
requests:
memory: {{ .Values.resources.heat_engine.requests.memory | quote }}
cpu: {{ .Values.resources.heat_engine.requests.cpu | quote }}
limits:
memory: {{ .Values.resources.heat_engine.limits.memory | quote }}
cpu: {{ .Values.resources.heat_engine.limits.cpu | quote }}
{{- end }}
command: command:
- heat-engine - heat-engine
- --config-dir - --config-dir

View File

@ -97,16 +97,6 @@ memcached:
host: memcached host: memcached
port: 11211 port: 11211
resources:
api:
workers: 8
cfn:
workers: 8
cloudwatch:
workers: 8
engine:
workers: 8
misc: misc:
debug: true debug: true
@ -206,3 +196,77 @@ endpoints:
scheme: 'http' scheme: 'http'
port: port:
api: 8003 api: 8003
resources:
enabled: false
heat_api:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
heat_cfn:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
heat_cloudwatch:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
heat_db_init:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
heat_db_sync:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
heat_ks_endpoints:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
heat_ks_service:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
heat_ks_user:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
heat_engine:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
api:
workers: 8
cfn:
workers: 8
cloudwatch:
workers: 8
engine:
workers: 8

View File

@ -31,6 +31,15 @@ spec:
- name: horizon - name: horizon
image: {{ .Values.images.horizon }} image: {{ .Values.images.horizon }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: command:
- bash - bash
- /tmp/start.sh - /tmp/start.sh

View File

@ -1,4 +1,4 @@
# Default values for memcached. # Default values for horizon.
# This is a YAML-formatted file. # This is a YAML-formatted file.
# Declare name/value pairs to be passed into your templates. # Declare name/value pairs to be passed into your templates.
# name: value # name: value
@ -36,7 +36,17 @@ dependencies:
- memcached - memcached
- keystone-api - 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 # values, but should include all endpoints
# required by this chart # required by this chart
endpoints: endpoints:

View File

@ -31,6 +31,15 @@ spec:
- name: keystone-api - name: keystone-api
image: {{ .Values.images.api }} image: {{ .Values.images.api }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: command:
- bash - bash
- /tmp/start.sh - /tmp/start.sh

View File

@ -19,6 +19,15 @@ spec:
- name: keystone-db-init - name: keystone-db-init
image: {{ .Values.images.db_init }} image: {{ .Values.images.db_init }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: command:
- bash - bash
- /tmp/init.sh - /tmp/init.sh

View File

@ -19,6 +19,15 @@ spec:
- name: keystone-db-sync - name: keystone-db-sync
image: {{ .Values.images.db_sync }} image: {{ .Values.images.db_sync }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: command:
- bash - bash
- /tmp/db-sync.sh - /tmp/db-sync.sh

View File

@ -77,6 +77,31 @@ dependencies:
service: service:
- mariadb - 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 # typically overriden by environmental
# values, but should include all endpoints # values, but should include all endpoints
# required by this chart # required by this chart

View File

@ -14,6 +14,15 @@ spec:
containers: containers:
- name: maas-rack - name: maas-rack
image: {{ .Values.images.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: securityContext:
privileged: true privileged: true

View File

@ -51,7 +51,16 @@ spec:
containers: containers:
- name: maas-region - name: maas-region
image: {{ .Values.images.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: ports:
- containerPort: {{ .Values.network.port.region_container }} - containerPort: {{ .Values.network.port.region_container }}
readinessProbe: readinessProbe:

View File

@ -5,6 +5,7 @@
images: images:
maas_region: quay.io/attcomdev/maas-region:2.1.2-1 maas_region: quay.io/attcomdev/maas-region:2.1.2-1
maas_rack: quay.io/attcomdev/maas-rack:2.1.2-1 maas_rack: quay.io/attcomdev/maas-rack:2.1.2-1
pull_policy: Always
labels: labels:
node_selector_key: openstack-control-plane node_selector_key: openstack-control-plane
@ -18,4 +19,21 @@ network:
service_proxy: 8000 service_proxy: 8000
service_proxy_target: 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

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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: v1 apiVersion: v1
description: A helm chart for mariadb description: A helm chart for mariadb
name: mariadb name: mariadb

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
dependencies: dependencies:
- name: common - name: common
repository: http://localhost:8879/charts repository: http://localhost:8879/charts

View File

@ -1,4 +1,17 @@
#!/bin/sh #!/bin/sh
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
set -ex set -ex

View File

@ -1,4 +1,18 @@
#!/usr/bin/env python #!/usr/bin/env python
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
import json import json
import os import os
import urllib2 import urllib2
@ -88,4 +102,3 @@ def main():
if __name__ == '__main__': if __name__ == '__main__':
main() main()

View File

@ -1,4 +1,18 @@
#!/usr/bin/env python #!/usr/bin/env python
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
import os import os
import sys import sys
import time import time

View File

@ -1,4 +1,17 @@
#!/bin/sh #!/bin/sh
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
set -ex set -ex

View File

@ -1,4 +1,18 @@
#!/bin/bash #!/bin/bash
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
set -ex set -ex
trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT
@ -24,7 +38,7 @@ fi
if [ "$REPLICAS" -eq 1 ] ; then if [ "$REPLICAS" -eq 1 ] ; then
if [[ ! -f ${INIT_MARKER} ]]; then if [[ ! -f ${INIT_MARKER} ]]; then
cd /var/lib/mysql cd /var/lib/mysql
echo "Creating one-instance MariaDB." echo "Creating one-instance MariaDB."
bash /tmp/bootstrap-db.sh bash /tmp/bootstrap-db.sh
touch ${INIT_MARKER} touch ${INIT_MARKER}

View File

@ -1,15 +1,29 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: mariadb-bin name: mariadb-bin
data: data:
start.sh: | start.sh: |
{{ tuple "bin/_start.sh.tpl" . | include "template" | indent 4 }} {{ tuple "bin/_start.sh.tpl" . | include "template" | indent 4 }}
peer-finder.py: | peer-finder.py: |
{{ tuple "bin/_peer-finder.py.tpl" . | include "template" | indent 4 }} {{ tuple "bin/_peer-finder.py.tpl" . | include "template" | indent 4 }}
readiness.py: | readiness.py: |
{{ tuple "bin/_readiness.py.tpl" . | include "template" | indent 4 }} {{ tuple "bin/_readiness.py.tpl" . | include "template" | indent 4 }}
bootstrap-db.sh: | bootstrap-db.sh: |
{{ tuple "bin/_bootstrap-db.sh.tpl" . | include "template" | indent 4 }} {{ tuple "bin/_bootstrap-db.sh.tpl" . | include "template" | indent 4 }}
seed.sh: | seed.sh: |
{{ tuple "bin/_seed.sh.tpl" . | include "template" | indent 4 }} {{ tuple "bin/_seed.sh.tpl" . | include "template" | indent 4 }}

View File

@ -1,21 +1,35 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: mariadb-etc name: mariadb-etc
data: data:
charsets.cnf: | charsets.cnf: |
{{ tuple "etc/_charsets.cnf.tpl" . | include "template" | indent 4 }} {{ tuple "etc/_charsets.cnf.tpl" . | include "template" | indent 4 }}
engine.cnf: | engine.cnf: |
{{ tuple "etc/_engine.cnf.tpl" . | include "template" | indent 4 }} {{ tuple "etc/_engine.cnf.tpl" . | include "template" | indent 4 }}
my.cnf: | my.cnf: |
{{ tuple "etc/_galera-my.cnf.tpl" . | include "template" | indent 4 }} {{ tuple "etc/_galera-my.cnf.tpl" . | include "template" | indent 4 }}
log.cnf: | log.cnf: |
{{ tuple "etc/_log.cnf.tpl" . | include "template" | indent 4 }} {{ tuple "etc/_log.cnf.tpl" . | include "template" | indent 4 }}
pid.cnf: | pid.cnf: |
{{ tuple "etc/_pid.cnf.tpl" . | include "template" | indent 4 }} {{ tuple "etc/_pid.cnf.tpl" . | include "template" | indent 4 }}
tuning.cnf: | tuning.cnf: |
{{ tuple "etc/_tuning.cnf.tpl" . | include "template" | indent 4 }} {{ tuple "etc/_tuning.cnf.tpl" . | include "template" | indent 4 }}
networking.cnf: | networking.cnf: |
{{ tuple "etc/_networking.cnf.tpl" . | include "template" | indent 4 }} {{ tuple "etc/_networking.cnf.tpl" . | include "template" | indent 4 }}
wsrep.cnf: | wsrep.cnf: |
{{ tuple "etc/_wsrep.cnf.tpl" . | include "template" | indent 4 }} {{ tuple "etc/_wsrep.cnf.tpl" . | include "template" | indent 4 }}

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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: apps/v1beta1 apiVersion: apps/v1beta1
kind: StatefulSet kind: StatefulSet
@ -43,6 +57,15 @@ spec:
- name: {{ .Values.service_name }} - name: {{ .Values.service_name }}
image: {{ .Values.images.mariadb }} image: {{ .Values.images.mariadb }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: env:
- name: INTERFACE_NAME - name: INTERFACE_NAME
value: "eth0" value: "eth0"
@ -90,19 +113,19 @@ spec:
mountPath: /mariadb-readiness.py mountPath: /mariadb-readiness.py
subPath: readiness.py subPath: readiness.py
- name: charsets - name: charsets
mountPath: /etc/my.cnf.d/charsets.cnf mountPath: /etc/my.cnf.d/charsets.cnf
subPath: charsets.cnf subPath: charsets.cnf
- name: engine - name: engine
mountPath: /etc/my.cnf.d/engine.cnf mountPath: /etc/my.cnf.d/engine.cnf
subPath: engine.cnf subPath: engine.cnf
- name: log - name: log
mountPath: /etc/my.cnf.d/log.cnf mountPath: /etc/my.cnf.d/log.cnf
subPath: log.cnf subPath: log.cnf
- name: mycnf - name: mycnf
mountPath: /etc/my.cnf mountPath: /etc/my.cnf
subPath: my.cnf subPath: my.cnf
- name: networking - name: networking
mountPath: /etc/my.cnf.d/networking.cnf mountPath: /etc/my.cnf.d/networking.cnf
subPath: networking.cnf subPath: networking.cnf
- name: pid - name: pid
mountPath: /etc/my.cnf.d/pid.cnf mountPath: /etc/my.cnf.d/pid.cnf
@ -114,7 +137,7 @@ spec:
mountPath: /etc/my.cnf.d/wsrep.cnf mountPath: /etc/my.cnf.d/wsrep.cnf
subPath: wsrep.cnf subPath: wsrep.cnf
- name: mysql-data - name: mysql-data
mountPath: /var/lib/mysql mountPath: /var/lib/mysql
volumes: volumes:
- name: mycnfd - name: mycnfd
emptyDir: {} emptyDir: {}

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
[mysqld] [mysqld]
character_set_server=utf8 character_set_server=utf8
collation_server=utf8_unicode_ci collation_server=utf8_unicode_ci

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
[mysqld] [mysqld]
default-storage-engine=InnoDB default-storage-engine=InnoDB
innodb=FORCE innodb=FORCE

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
[mysqld] [mysqld]
datadir=/var/lib/mysql datadir=/var/lib/mysql
basedir=/usr basedir=/usr

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
[mysqld] [mysqld]
slow_query_log=off slow_query_log=off
slow_query_log_file=/var/log/mysql/mariadb-slow.log slow_query_log_file=/var/log/mysql/mariadb-slow.log

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
[mysqld] [mysqld]
bind_address=0.0.0.0 bind_address=0.0.0.0
port={{ .Values.network.port.mariadb }} port={{ .Values.network.port.mariadb }}

View File

@ -1,2 +1,16 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
[mysqld] [mysqld]
pid_file=/var/lib/mysql/mariadb.pid pid_file=/var/lib/mysql/mariadb.pid

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
[mysqld] [mysqld]
user=mysql user=mysql
max_allowed_packet=256M max_allowed_packet=256M

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
[mysqld] [mysqld]
wsrep_cluster_name="{{ .Values.database.cluster_name }}" wsrep_cluster_name="{{ .Values.database.cluster_name }}"
wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_provider=/usr/lib/galera/libgalera_smm.so

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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/v1 apiVersion: batch/v1
kind: Job kind: Job
@ -16,6 +30,15 @@ spec:
- name: mariadb-init - name: mariadb-init
image: {{ .Values.images.mariadb }} image: {{ .Values.images.mariadb }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: env:
- name: INTERFACE_NAME - name: INTERFACE_NAME
value: "eth0" value: "eth0"
@ -26,7 +49,7 @@ spec:
- name: POD_IP - name: POD_IP
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: status.podIP fieldPath: status.podIP
- name: NAMESPACE - name: NAMESPACE
valueFrom: valueFrom:
fieldRef: fieldRef:
@ -82,7 +105,7 @@ spec:
- name: bootstrapdb - name: bootstrapdb
configMap: configMap:
name: mariadb-bin name: mariadb-bin
- name: peerfinder - name: peerfinder
configMap: configMap:
name: mariadb-bin name: mariadb-bin
- name: charsets - name: charsets

View File

@ -1,3 +1,17 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:

View File

@ -1,7 +1,16 @@
# Default values for mariadb. # Copyright 2017 The Openstack-Helm Authors.
# This is a YAML-formatted file. #
# Declare name/value pairs to be passed into your templates. # Licensed under the Apache License, Version 2.0 (the "License");
# name: value # 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.
# note that you need to update the gcomm member list # note that you need to update the gcomm member list
# below when changing this value # below when changing this value
@ -21,6 +30,24 @@ development:
enabled: false enabled: false
storage_path: /data/openstack-helm/mariadb 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 # this drives the service name, and statefulset name
service_name: mariadb service_name: mariadb
@ -39,12 +66,12 @@ labels:
network: network:
port: port:
wsrep: 4567 wsrep: 4567
mariadb: 3306 mariadb: 3306
ist: 4444 ist: 4444
dns: dns:
kubernetes_domain: cluster.local kubernetes_domain: cluster.local
database: database:
root_password: password root_password: password
cluster_name: mariadb cluster_name: mariadb

View File

@ -23,6 +23,15 @@ spec:
- name: memcached - name: memcached
image: {{ .Values.images.memcached }} image: {{ .Values.images.memcached }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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"] command: ["sh", "-xec"]
args: args:
- | - |

View File

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

View File

@ -26,6 +26,15 @@ spec:
- name: neutron-dhcp-agent - name: neutron-dhcp-agent
image: {{ .Values.images.dhcp }} image: {{ .Values.images.dhcp }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: securityContext:
privileged: true privileged: true
command: command:

View File

@ -26,6 +26,15 @@ spec:
- name: neutron-l3-agent - name: neutron-l3-agent
image: {{ .Values.images.l3 }} image: {{ .Values.images.l3 }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: securityContext:
privileged: true privileged: true
command: command:

View File

@ -26,6 +26,15 @@ spec:
- name: neutron-metadata-agent - name: neutron-metadata-agent
image: {{ .Values.images.metadata }} image: {{ .Values.images.metadata }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: securityContext:
privileged: true privileged: true
command: command:

View File

@ -26,6 +26,15 @@ spec:
- name: ovs-agent - name: ovs-agent
image: {{ .Values.images.neutron_openvswitch_agent }} image: {{ .Values.images.neutron_openvswitch_agent }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: securityContext:
privileged: true privileged: true
command: command:

View File

@ -21,6 +21,15 @@ spec:
- name: ovs-db - name: ovs-db
image: {{ .Values.images.openvswitch_db_server }} image: {{ .Values.images.openvswitch_db_server }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: securityContext:
privileged: true privileged: true
command: command:

View File

@ -21,6 +21,15 @@ spec:
- name: ovs-vswitchd - name: ovs-vswitchd
image: {{ .Values.images.openvswitch_vswitchd }} image: {{ .Values.images.openvswitch_vswitchd }}
imagePullPolicy: {{ .Values.images.pull_policy }} 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: securityContext:
privileged: true privileged: true
# ensures this container can speak to the ovs database # ensures this container can speak to the ovs database

View File

@ -37,6 +37,15 @@ spec:
- /etc/neutron/neutron.conf - /etc/neutron/neutron.conf
- --config-file - --config-file
- /etc/neutron/plugins/ml2/ml2-conf.ini - /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: ports:
- containerPort: {{ .Values.network.port.server }} - containerPort: {{ .Values.network.port.server }}
readinessProbe: readinessProbe:

View File

@ -27,6 +27,15 @@ spec:
- /etc/neutron/plugins/ml2/ml2-conf.ini - /etc/neutron/plugins/ml2/ml2-conf.ini
- upgrade - upgrade
- head - 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: volumeMounts:
- name: pod-etc-neutron - name: pod-etc-neutron
mountPath: /etc/neutron mountPath: /etc/neutron

View File

@ -22,6 +22,15 @@ spec:
command: command:
- bash - bash
- /tmp/post.sh - /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: env:
- name: ANSIBLE_LIBRARY - name: ANSIBLE_LIBRARY
value: /usr/share/ansible/ value: /usr/share/ansible/

View File

@ -1,4 +1,4 @@
# Default values for memcached. # Default values for neutron.
# This is a YAML-formatted file. # This is a YAML-formatted file.
# Declare name/value pairs to be passed into your templates. # Declare name/value pairs to be passed into your templates.
# name: value # name: value
@ -199,6 +199,82 @@ dependencies:
jobs: jobs:
- neutron-db-sync - 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 # typically overriden by environmental
# values, but should include all endpoints # values, but should include all endpoints
# required by this chart # required by this chart

View File

@ -27,6 +27,15 @@ spec:
- name: nova-compute - name: nova-compute
image: {{ .Values.images.compute }} image: {{ .Values.images.compute }}
imagePullPolicy: {{ .Values.images.pull_policy }} imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
requests:
memory: {{ .Values.resources.nova_compute.requests.memory | quote }}
cpu: {{ .Values.resources.nova_compute.requests.cpu | quote }}
limits:
memory: {{ .Values.resources.nova_compute.limits.memory | quote }}
cpu: {{ .Values.resources.nova_compute.limits.cpu | quote }}
{{- end }}
securityContext: securityContext:
privileged: true privileged: true
command: command:

View File

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

View File

@ -32,6 +32,15 @@ spec:
image: {{ .Values.images.api }} image: {{ .Values.images.api }}
imagePullPolicy: {{ .Values.images.pull_policy }} imagePullPolicy: {{ .Values.images.pull_policy }}
# https://bugs.launchpad.net/kolla-mesos/+bug/1546007 # https://bugs.launchpad.net/kolla-mesos/+bug/1546007
{{- if .Values.resources.enabled }}
resources:
requests:
memory: {{ .Values.resources.nova_api_metadata.requests.memory | quote }}
cpu: {{ .Values.resources.nova_api_metadata.requests.cpu | quote }}
limits:
memory: {{ .Values.resources.nova_api_metadata.limits.memory | quote }}
cpu: {{ .Values.resources.nova_api_metadata.limits.cpu | quote }}
{{- end }}
securityContext: securityContext:
capabilities: capabilities:
add: add:

View File

@ -35,6 +35,15 @@ spec:
capabilities: capabilities:
add: add:
- NET_ADMIN - NET_ADMIN
{{- if .Values.resources.enabled }}
resources:
requests:
memory: {{ .Values.resources.nova_osapi.requests.memory | quote }}
cpu: {{ .Values.resources.nova_osapi.requests.cpu | quote }}
limits:
memory: {{ .Values.resources.nova_osapi.limits.memory | quote }}
cpu: {{ .Values.resources.nova_osapi.limits.cpu | quote }}
{{- end }}
command: command:
- nova-api - nova-api
- --config-file=/etc/nova/nova.conf - --config-file=/etc/nova/nova.conf

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -217,3 +217,76 @@ endpoints:
scheme: 'http' scheme: 'http'
port: port:
api: 9696 api: 9696
resources:
enabled: false
nova_compute:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
nova_libvirt:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
nova_api_metadata:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
nova_osapi:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
nova_conductor:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
nova_consoleauth:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
nova_scheduler:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
nova_db_sync:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
nova_init:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
nova_post:
requests:
memory: "124Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"

View File

@ -30,6 +30,15 @@ spec:
containers: containers:
- name: rabbitmq - name: rabbitmq
image: {{ .Values.images.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: command:
- bash - bash
- /tmp/start_rabbitmq.sh - /tmp/start_rabbitmq.sh

View File

@ -5,6 +5,16 @@
replicas: "1" # this must be quoted to deal with atoi 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: labels:
node_selector_key: openstack-control-plane node_selector_key: openstack-control-plane
node_selector_value: enabled node_selector_value: enabled