Documentation ¶
Index ¶
- Constants
- func AutoScaling(i *ispnv1.Infinispan, ctx pipeline.Context)
- func AwaitPodIps(i *ispnv1.Infinispan, ctx pipeline.Context)
- func AwaitUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
- func AwaitWellFormedCondition(i *ispnv1.Infinispan, ctx pipeline.Context)
- func CacheService(i *ispnv1.Infinispan, ctx pipeline.Context)
- func ClusterScaling(i *ispnv1.Infinispan, ctx pipeline.Context)
- func ConfigureLoggers(infinispan *ispnv1.Infinispan, ctx pipeline.Context)
- func ConsoleUrl(i *ispnv1.Infinispan, ctx pipeline.Context)
- func DefaultCacheTemplateXML(podName string, infinispan *ispnv1.Infinispan, k8 *kube.Kubernetes, ...) (string, error)
- func EnableRebalanceAfterScaleUp(i *ispnv1.Infinispan, ctx pipeline.Context)
- func GracefulShutdown(i *ispnv1.Infinispan, ctx pipeline.Context)
- func GracefulShutdownUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
- func HotRodRollingUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
- func InitialiseOperandVersion(i *ispnv1.Infinispan, ctx pipeline.Context)
- func OperandStatus(i *ispnv1.Infinispan, phase ispnv1.OperandPhase, operand version.Operand) ispnv1.OperandStatus
- func OperatorStatusChecks(i *ispnv1.Infinispan, ctx pipeline.Context)
- func PodStatus(i *ispnv1.Infinispan, ctx pipeline.Context)
- func PreliminaryChecks(i *ispnv1.Infinispan, ctx pipeline.Context)
- func RemoveFailedInitContainers(i *ispnv1.Infinispan, ctx pipeline.Context)
- func ScheduleGracefulShutdownUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
- func ScheduleHotRodRollingUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
- func StatefulSetRollingUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
- func UpdatePodLabels(i *ispnv1.Infinispan, ctx pipeline.Context)
- func UpgradeRequired(i *ispnv1.Infinispan, ctx pipeline.Context) bool
- func XSiteViewCondition(i *ispnv1.Infinispan, ctx pipeline.Context)
- type HotRodRollingUpgradeRequest
Constants ¶
const (
EventLoadBalancerUnsupported = "LoadBalancerUnsupported"
)
Variables ¶
This section is empty.
Functions ¶
func AutoScaling ¶
func AutoScaling(i *ispnv1.Infinispan, ctx pipeline.Context)
func AwaitPodIps ¶
func AwaitPodIps(i *ispnv1.Infinispan, ctx pipeline.Context)
func AwaitUpgrade ¶
func AwaitUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
func AwaitWellFormedCondition ¶
func AwaitWellFormedCondition(i *ispnv1.Infinispan, ctx pipeline.Context)
func CacheService ¶
func CacheService(i *ispnv1.Infinispan, ctx pipeline.Context)
func ClusterScaling ¶
func ClusterScaling(i *ispnv1.Infinispan, ctx pipeline.Context)
ClusterScaling can be removed once persistentVolumeClaimRetentionPolicy becomes stable and that k8s version is our baseline. https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
func ConfigureLoggers ¶
func ConfigureLoggers(infinispan *ispnv1.Infinispan, ctx pipeline.Context)
func ConsoleUrl ¶
func ConsoleUrl(i *ispnv1.Infinispan, ctx pipeline.Context)
func DefaultCacheTemplateXML ¶
func DefaultCacheTemplateXML(podName string, infinispan *ispnv1.Infinispan, k8 *kube.Kubernetes, logger logr.Logger) (string, error)
func EnableRebalanceAfterScaleUp ¶
func EnableRebalanceAfterScaleUp(i *ispnv1.Infinispan, ctx pipeline.Context)
func GracefulShutdown ¶
func GracefulShutdown(i *ispnv1.Infinispan, ctx pipeline.Context)
GracefulShutdown safely scales down the cluster to 0 pods if the user sets .spec.Replicas == 0 or a GracefulShutdown upgrade is triggered by the pipeline 1. If spec.Replicas == 0 and !Stopping. Shutdown server containers, set Stopping=true,WellFormed=false 2. Set status.ReplicasWantedAtRestart = statefulset.spec.replicas and statefulset.spec.replicas = 0 3. Once statefulset.currentReplicas == 0, Set GracefulShutdown=true,Stopping=false 4. If spec.Relicas > 0 and spec.Replicas == status.ReplicasWantedAtRestart. GracefulShutdown=false, status.ReplicasWantedAtRestart=0
func GracefulShutdownUpgrade ¶
func GracefulShutdownUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
GracefulShutdownUpgrade performs the steps required by GracefulShutdown upgrades once the cluster has been scaled down to 0 replicas
func HotRodRollingUpgrade ¶
func HotRodRollingUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
HotRodRollingUpgrade handles all stages of a Hot Rod Rolling upgrade. Throughout the execution we use RequeueEventually so that the Infinispan CR pipeline execution is not stopped by any rolling upgrade failures. This ensures the source cluster will continue to be reconciled as normal throughout the upgrade process.
func InitialiseOperandVersion ¶
func InitialiseOperandVersion(i *ispnv1.Infinispan, ctx pipeline.Context)
InitialiseOperandVersion sets the spec.Version field for CRs that were created by an older operator version
func OperandStatus ¶
func OperandStatus(i *ispnv1.Infinispan, phase ispnv1.OperandPhase, operand version.Operand) ispnv1.OperandStatus
func OperatorStatusChecks ¶
func OperatorStatusChecks(i *ispnv1.Infinispan, ctx pipeline.Context)
func PreliminaryChecks ¶
func PreliminaryChecks(i *ispnv1.Infinispan, ctx pipeline.Context)
func RemoveFailedInitContainers ¶
func RemoveFailedInitContainers(i *ispnv1.Infinispan, ctx pipeline.Context)
RemoveFailedInitContainers Recover Pods with updated init containers in case of fails
func ScheduleGracefulShutdownUpgrade ¶
func ScheduleGracefulShutdownUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
ScheduleGracefulShutdownUpgrade if an upgrade is not already in progress, pods exist and the current pod image is not equal to the most recent Operand image associated with the operator Sets ConditionUpgrade=true and spec.Replicas=0 in order to trigger GracefulShutdown
func ScheduleHotRodRollingUpgrade ¶
func ScheduleHotRodRollingUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
func StatefulSetRollingUpgrade ¶
func StatefulSetRollingUpgrade(i *ispnv1.Infinispan, ctx pipeline.Context)
func UpdatePodLabels ¶
func UpdatePodLabels(i *ispnv1.Infinispan, ctx pipeline.Context)
UpdatePodLabels Ensure all pods have upto date labels
func UpgradeRequired ¶
func UpgradeRequired(i *ispnv1.Infinispan, ctx pipeline.Context) bool
func XSiteViewCondition ¶
func XSiteViewCondition(i *ispnv1.Infinispan, ctx pipeline.Context)
Types ¶
type HotRodRollingUpgradeRequest ¶
type HotRodRollingUpgradeRequest struct {
// contains filtered or unexported fields
}
func (*HotRodRollingUpgradeRequest) PodsCreatedBy ¶
func (r *HotRodRollingUpgradeRequest) PodsCreatedBy(statefulSetName string) (*corev1.PodList, error)