rollout

package
v0.9.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2020 License: Apache-2.0 Imports: 60 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetExperimentFromTemplate added in v0.6.0

func GetExperimentFromTemplate(r *v1alpha1.Rollout, stableRS, newRS *appsv1.ReplicaSet) (*v1alpha1.Experiment, error)

GetExperimentFromTemplate takes the canary experiment step and converts it to an experiment

Types

type Controller added in v0.9.0

type Controller struct {
	// contains filtered or unexported fields
}

Controller is the controller implementation for Rollout resources

func NewController added in v0.9.0

func NewController(cfg ControllerConfig) *Controller

NewController returns a new rollout controller

func (*Controller) EnqueueIstioVsvc added in v0.9.1

func (c *Controller) EnqueueIstioVsvc(vsvc interface{})

func (*Controller) NewTrafficRoutingReconciler added in v0.9.0

func (c *Controller) NewTrafficRoutingReconciler(roCtx rolloutContext) (TrafficRoutingReconciler, error)

NewTrafficRoutingReconciler identifies return the TrafficRouting Plugin that the rollout wants to modify

func (*Controller) Run added in v0.9.0

func (c *Controller) Run(threadiness int, stopCh <-chan struct{}) error

Run will set up the event handlers for types we are interested in, as well as syncing informer caches and starting workers. It will block until stopCh is closed, at which point it will shutdown the workqueue and wait for workers to finish processing their current work items.

type ControllerConfig added in v0.9.0

type ControllerConfig struct {
	Namespace                       string
	KubeClientSet                   kubernetes.Interface
	ArgoProjClientset               clientset.Interface
	DynamicClientSet                dynamic.Interface
	SmiClientSet                    smiclientset.Interface
	ExperimentInformer              informers.ExperimentInformer
	AnalysisRunInformer             informers.AnalysisRunInformer
	AnalysisTemplateInformer        informers.AnalysisTemplateInformer
	ClusterAnalysisTemplateInformer informers.ClusterAnalysisTemplateInformer
	ReplicaSetInformer              appsinformers.ReplicaSetInformer
	ServicesInformer                coreinformers.ServiceInformer
	IngressInformer                 extensionsinformers.IngressInformer
	RolloutsInformer                informers.RolloutInformer
	IstioVirtualServiceInformer     cache.SharedIndexInformer
	ResyncPeriod                    time.Duration
	RolloutWorkQueue                workqueue.RateLimitingInterface
	ServiceWorkQueue                workqueue.RateLimitingInterface
	IngressWorkQueue                workqueue.RateLimitingInterface
	MetricsServer                   *metrics.MetricsServer
	Recorder                        record.EventRecorder
	DefaultIstioVersion             string
	DefaultTrafficSplitVersion      string
}

ControllerConfig describes the data required to instantiate a new rollout controller

type RolloutPodRestarter added in v0.8.0

type RolloutPodRestarter struct {
	// contains filtered or unexported fields
}

RolloutPodRestarter describes the components needed for the controller to restart all the pods of a rollout.

func (*RolloutPodRestarter) Reconcile added in v0.8.0

func (p *RolloutPodRestarter) Reconcile(roCtx rolloutContext) error

type SortReplicaSetsByPriority added in v0.8.0

type SortReplicaSetsByPriority struct {
	// contains filtered or unexported fields
}

SortReplicaSetsByPriority sorts the ReplicaSets with the following Priority: 1. Stable RS 2. New RS 3. Older ReplicaSets

func NewSortReplicaSetsByPriority added in v0.8.0

func NewSortReplicaSetsByPriority(roCtx rolloutContext) SortReplicaSetsByPriority

func (SortReplicaSetsByPriority) Len added in v0.8.0

func (SortReplicaSetsByPriority) Less added in v0.8.0

func (s SortReplicaSetsByPriority) Less(i, j int) bool

func (SortReplicaSetsByPriority) Swap added in v0.8.0

func (s SortReplicaSetsByPriority) Swap(i, j int)

type TrafficRoutingReconciler added in v0.7.0

type TrafficRoutingReconciler interface {
	Reconcile(desiredWeight int32) error
	Type() string
}

TrafficRoutingReconciler common function across all TrafficRouting implementation

Directories

Path Synopsis
trafficrouting
alb
smi

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL