
This will enable integration of the floating monitor chart into the application with: - SM service monitor changes: - Add and remove floating monitor placement labels in the start/stop functions. This will ensure that when SM is transitioning activity labels will align on the active controller. - The stop function will delete the pod to force a reschedule. - The status function will detect the presence of the DRBD mounted filesystem and adjust the labeling accordingly in case start/stop functions did not label as desired. - application plugin changes: - Add constants support for 'rook-ceph-floating-monitor' helmrelease - Provide initial utility functions to detect if the DRBD controller filesystem is enabled and if the floating monitor is assigned (via a helm use override) - Add a new function to get the IP family from the cluster-pod network to set overrides and determine the IPv4/IPv6 static address - Update the ceph cluster plugin to use a new utility function for detecting the IP family - Add the floating monitor helm plugin to generate the ip_family and static ip_address based on that family. Initial support provided for the cluster-pod network - Update the lifecycle plugin to optionally remove the floating monitor helm release on application remove - application metadata - disable the 'rook-ceph-floating-monitor' chart by default - FluxCD manifest changes - Change helmrepository API to v1 to clean up an error - Add manifests for the 'rook-ceph-floating-monitor' helm release - Temporarily set deletionPropagation in the rook-ceph-cluster, the rook-ceph-provisioner and rook-ceph-floating-monitor helmreleases to provide more predictive delete behavior - Update rook-ceph-cluster-static-overrides.yaml to add network defaults and disable the host network as the default provider. This was done to avoid port conflicts with the floating monitor. The cluster-pod network will now be the network used for the ceph cluster and its pods Enable monitor at runtime: - system helm-override-list rook-ceph -l - system helm-override-show rook-ceph rook-ceph-floating-monitor \ rook-ceph - system helm-override-update rook-ceph rook-ceph-floating-monitor \ rook-ceph --set assigned="true" - system helm-override-show rook-ceph rook-ceph-floating-monitor \ rook-ceph - system application-apply rook-ceph Disable monitor at runtime: - system helm-override-list rook-ceph -l - system helm-override-show rook-ceph rook-ceph-floating-monitor \ rook-ceph - system helm-override-update rook-ceph rook-ceph-floating-monitor \ rook-ceph --set assigned="false" - system helm-override-show rook-ceph rook-ceph-floating-monitor \ rook-ceph - system application-apply rook-ceph Future Improvements: - Pickup the desired network from the storage backend (cluster-pod, cluster-host, etc) and - update _get_ip_family() to use this value - update _get_static_floating_mon_ip() to get address pool range and calculate an appropriate static IP address for the monitor Test Plan: PASS - Pkg build + ISO generation PASS - Successful AIO-DX Installation PASS - Initial Rook deployment without floating monitor. PASS - Initial Rook deployment with floating monitor. PASS - Runtime override enable of Rook floating monitor + reapply PASS - Runtime override disable of Rook floating monitor + reapply Change-Id: Ie1ff75481b6c2f0d9d34eb228d3019465e36bc1e Depends-On: https://review.opendev.org/c/starlingx/config/+/926374 Story: 2011066 Task: 50838 Signed-off-by: Robert Church <robert.church@windriver.com>
46 lines
1.5 KiB
INI
46 lines
1.5 KiB
INI
[metadata]
|
|
name = k8sapp_rook_ceph
|
|
summary = StarlingX sysinv extensions for rook-ceph
|
|
long_description = file: README.rst
|
|
long_description_content_type = text/x-rst
|
|
license = Apache 2.0
|
|
author = StarlingX
|
|
author-email = starlingx-discuss@lists.starlingx.io
|
|
home-page = https://www.starlingx.io/
|
|
classifier =
|
|
Environment :: OpenStack
|
|
Intended Audience :: Information Technology
|
|
Intended Audience :: System Administrators
|
|
License :: OSI Approved :: Apache Software License
|
|
Operating System :: POSIX :: Linux
|
|
Programming Language :: Python
|
|
Programming Language :: Python :: 3
|
|
Programming Language :: Python :: 3.9
|
|
|
|
[files]
|
|
packages =
|
|
k8sapp_rook_ceph
|
|
|
|
[global]
|
|
setup-hooks =
|
|
pbr.hooks.setup_hook
|
|
|
|
[entry_points]
|
|
systemconfig.helm_applications =
|
|
rook-ceph = systemconfig.helm_plugins.rook_ceph
|
|
|
|
systemconfig.helm_plugins.rook_ceph =
|
|
001_rook-ceph = k8sapp_rook_ceph.helm.rook_ceph:RookCephHelm
|
|
002_rook-ceph-cluster = k8sapp_rook_ceph.helm.rook_ceph_cluster:RookCephClusterHelm
|
|
003_rook-ceph-provisioner = k8sapp_rook_ceph.helm.rook_ceph_provisioner:RookCephClusterProvisionerHelm
|
|
004_rook-ceph-floating-monitor = k8sapp_rook_ceph.helm.rook_ceph_floating_monitor:RookCephFloatingMonitorHelm
|
|
|
|
systemconfig.fluxcd.kustomize_ops =
|
|
rook-ceph = k8sapp_rook_ceph.kustomize.kustomize_rook_ceph:RookCephFluxCDKustomizeOperator
|
|
|
|
systemconfig.app_lifecycle =
|
|
rook-ceph = k8sapp_rook_ceph.lifecycle.lifecycle_rook_ceph:RookCephAppLifecycleOperator
|
|
|
|
[wheel]
|
|
universal = 1
|