Add replica and anti-affinity settings

Add anti-affinity settings to openstack pods. Add replication to
novncproxy, aodh, panko and rbd_provisioner services.

Change-Id: I8091a54cab98ff295eba6e7dd6fa76827d149b5f
Story: 2004520
Task: 29418
Signed-off-by: David Sullivan <david.sullivan@windriver.com>
This commit is contained in:
David Sullivan 2019-02-12 14:09:10 -05:00
parent 5b94294002
commit 0dd4b86526
7 changed files with 114 additions and 2 deletions

View File

@ -48,6 +48,10 @@ data:
replicas: replicas:
error_page: 2 error_page: 2
ingress: 2 ingress: 2
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/ingress-0.1.0.tgz location: http://172.17.0.1/helm_charts/ingress-0.1.0.tgz
@ -89,6 +93,10 @@ data:
replicas: replicas:
error_page: 2 error_page: 2
ingress: 2 ingress: 2
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/ingress-0.1.0.tgz location: http://172.17.0.1/helm_charts/ingress-0.1.0.tgz
@ -118,6 +126,12 @@ data:
- type: job - type: job
labels: labels:
app: rbd-provisioner app: rbd-provisioner
values:
pod:
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/rbd-provisioner-0.1.0.tgz location: http://172.17.0.1/helm_charts/rbd-provisioner-0.1.0.tgz
@ -158,6 +172,11 @@ data:
prometheus_mysql_exporter: prometheus_mysql_exporter:
node_selector_key: openstack-control-plane node_selector_key: openstack-control-plane
node_selector_value: enabled node_selector_value: enabled
pod:
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/mariadb-0.1.0.tgz location: http://172.17.0.1/helm_charts/mariadb-0.1.0.tgz
@ -331,6 +350,10 @@ data:
pod: pod:
replicas: replicas:
api: 2 api: 2
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/keystone-0.1.0.tgz location: http://172.17.0.1/helm_charts/keystone-0.1.0.tgz
@ -970,6 +993,10 @@ data:
user: user:
aodh: aodh:
uid: 0 uid: 0
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
jobs: jobs:
alarms_cleaner: alarms_cleaner:
# daily at the 35 minute mark # daily at the 35 minute mark
@ -1070,6 +1097,11 @@ data:
app:healthcheck: app:healthcheck:
use: egg:oslo.middleware#healthcheck use: egg:oslo.middleware#healthcheck
oslo_config_project: gnocchi oslo_config_project: gnocchi
pod:
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/gnocchi-0.1.0.tgz location: http://172.17.0.1/helm_charts/gnocchi-0.1.0.tgz
@ -1110,6 +1142,10 @@ data:
user: user:
panko: panko:
uid: 0 uid: 0
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
jobs: jobs:
events_cleaner: events_cleaner:
# hourly at the 10 minute mark # hourly at the 10 minute mark
@ -1756,6 +1792,11 @@ data:
attributes: attributes:
controller: resource_metadata.controller controller: resource_metadata.controller
switch: resource_metadata.switch switch: resource_metadata.switch
pod:
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/ceilometer-0.1.0.tgz location: http://172.17.0.1/helm_charts/ceilometer-0.1.0.tgz

View File

@ -48,6 +48,10 @@ data:
replicas: replicas:
error_page: 2 error_page: 2
ingress: 2 ingress: 2
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/ingress-0.1.0.tgz location: http://172.17.0.1/helm_charts/ingress-0.1.0.tgz
@ -89,6 +93,10 @@ data:
replicas: replicas:
error_page: 2 error_page: 2
ingress: 2 ingress: 2
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/ingress-0.1.0.tgz location: http://172.17.0.1/helm_charts/ingress-0.1.0.tgz
@ -118,6 +126,12 @@ data:
- type: job - type: job
labels: labels:
app: rbd-provisioner app: rbd-provisioner
values:
pod:
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/rbd-provisioner-0.1.0.tgz location: http://172.17.0.1/helm_charts/rbd-provisioner-0.1.0.tgz
@ -158,6 +172,11 @@ data:
prometheus_mysql_exporter: prometheus_mysql_exporter:
node_selector_key: openstack-control-plane node_selector_key: openstack-control-plane
node_selector_value: enabled node_selector_value: enabled
pod:
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/mariadb-0.1.0.tgz location: http://172.17.0.1/helm_charts/mariadb-0.1.0.tgz
@ -331,6 +350,10 @@ data:
pod: pod:
replicas: replicas:
api: 2 api: 2
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/keystone-0.1.0.tgz location: http://172.17.0.1/helm_charts/keystone-0.1.0.tgz
@ -970,6 +993,10 @@ data:
user: user:
aodh: aodh:
uid: 0 uid: 0
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
jobs: jobs:
alarms_cleaner: alarms_cleaner:
# daily at the 35 minute mark # daily at the 35 minute mark
@ -1070,6 +1097,11 @@ data:
app:healthcheck: app:healthcheck:
use: egg:oslo.middleware#healthcheck use: egg:oslo.middleware#healthcheck
oslo_config_project: gnocchi oslo_config_project: gnocchi
pod:
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/gnocchi-0.1.0.tgz location: http://172.17.0.1/helm_charts/gnocchi-0.1.0.tgz
@ -1110,6 +1142,10 @@ data:
user: user:
panko: panko:
uid: 0 uid: 0
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
jobs: jobs:
events_cleaner: events_cleaner:
# hourly at the 10 minute mark # hourly at the 10 minute mark
@ -1756,6 +1792,11 @@ data:
attributes: attributes:
controller: resource_metadata.controller controller: resource_metadata.controller
switch: resource_metadata.switch switch: resource_metadata.switch
pod:
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
source: source:
type: tar type: tar
location: http://172.17.0.1/helm_charts/ceilometer-0.1.0.tgz location: http://172.17.0.1/helm_charts/ceilometer-0.1.0.tgz

View File

@ -1,2 +1,2 @@
SRC_DIR="sysinv" SRC_DIR="sysinv"
TIS_PATCH_VER=302 TIS_PATCH_VER=303

View File

@ -24,6 +24,7 @@ class AodhHelm(openstack.OpenstackBaseHelm):
def get_overrides(self, namespace=None): def get_overrides(self, namespace=None):
overrides = { overrides = {
common.HELM_NS_OPENSTACK: { common.HELM_NS_OPENSTACK: {
'pod': self._get_pod_overrides(),
'images': self._get_images_overrides(), 'images': self._get_images_overrides(),
'conf': self._get_conf_overrides(), 'conf': self._get_conf_overrides(),
'endpoints': self._get_endpoints_overrides() 'endpoints': self._get_endpoints_overrides()
@ -38,6 +39,17 @@ class AodhHelm(openstack.OpenstackBaseHelm):
else: else:
return overrides return overrides
def _get_pod_overrides(self):
overrides = {
'replicas': {
'api': self._num_controllers(),
'evaluator': self._num_controllers(),
'listener': self._num_controllers(),
'notifier': self._num_controllers()
}
}
return overrides
def _get_images_overrides(self): def _get_images_overrides(self):
heat_image = self._operator.chart_operators[ heat_image = self._operator.chart_operators[
constants.HELM_CHART_HEAT].docker_image constants.HELM_CHART_HEAT].docker_image

View File

@ -69,7 +69,7 @@ class NovaHelm(openstack.OpenstackBaseHelm):
'conductor': self._num_controllers(), 'conductor': self._num_controllers(),
'consoleauth': self._num_controllers(), 'consoleauth': self._num_controllers(),
'scheduler': self._num_controllers(), 'scheduler': self._num_controllers(),
# set replicas for novncproxy once it's validated. 'novncproxy': self._num_controllers()
} }
}, },
'conf': { 'conf': {

View File

@ -24,6 +24,7 @@ class PankoHelm(openstack.OpenstackBaseHelm):
def get_overrides(self, namespace=None): def get_overrides(self, namespace=None):
overrides = { overrides = {
common.HELM_NS_OPENSTACK: { common.HELM_NS_OPENSTACK: {
'pod': self._get_pod_overrides(),
'images': self._get_images_overrides(), 'images': self._get_images_overrides(),
'endpoints': self._get_endpoints_overrides() 'endpoints': self._get_endpoints_overrides()
} }
@ -37,6 +38,14 @@ class PankoHelm(openstack.OpenstackBaseHelm):
else: else:
return overrides return overrides
def _get_pod_overrides(self):
overrides = {
'replicas': {
'api': self._num_controllers()
}
}
return overrides
def _get_images_overrides(self): def _get_images_overrides(self):
heat_image = self._operator.chart_operators[ heat_image = self._operator.chart_operators[
constants.HELM_CHART_HEAT].docker_image constants.HELM_CHART_HEAT].docker_image

View File

@ -104,6 +104,7 @@ class RbdProvisionerHelm(base.BaseHelm):
"classes": classes, "classes": classes,
"ephemeral_pools": ephemeral_pools, "ephemeral_pools": ephemeral_pools,
"images": self._get_images_overrides(), "images": self._get_images_overrides(),
"pods": self._get_pod_overrides()
} }
} }
@ -115,6 +116,14 @@ class RbdProvisionerHelm(base.BaseHelm):
else: else:
return overrides return overrides
def _get_pod_overrides(self):
overrides = {
'replicas': {
'rbd-provisioner': self._num_controllers()
}
}
return overrides
def _get_images_overrides(self): def _get_images_overrides(self):
# TODO: Remove after ceph upgrade # TODO: Remove after ceph upgrade
# Format the name of the stx specific ceph config helper # Format the name of the stx specific ceph config helper