Documentation ¶
Index ¶
- Constants
- func Add(mgr manager.Manager) error
- func GetUnitedDeploymentCondition(status appsv1alpha1.UnitedDeploymentStatus, ...) *appsv1alpha1.UnitedDeploymentCondition
- func NewUnitedDeploymentCondition(condType appsv1alpha1.UnitedDeploymentConditionType, ...) *appsv1alpha1.UnitedDeploymentCondition
- func ParseSubsetReplicas(udReplicas int32, subsetReplicas intstr.IntOrString) (int32, error)
- func RemoveUnitedDeploymentCondition(status *appsv1alpha1.UnitedDeploymentStatus, ...)
- func SetUnitedDeploymentCondition(status *appsv1alpha1.UnitedDeploymentStatus, ...)
- type ControlInterface
- type ReconcileUnitedDeployment
- type ReplicaAllocator
- type ResourceRef
- type Subset
- type SubsetControl
- func (m *SubsetControl) CreateSubset(ud *alpha1.UnitedDeployment, subsetName string, revision string, ...) error
- func (m *SubsetControl) DeleteSubset(subSet *Subset) error
- func (m *SubsetControl) GetAllSubsets(ud *alpha1.UnitedDeployment, updatedRevision string) (subSets []*Subset, err error)
- func (m *SubsetControl) GetSubsetFailure(subset *Subset) *string
- func (m *SubsetControl) IsExpected(subSet *Subset, revision string) bool
- func (m *SubsetControl) UpdateSubset(subset *Subset, ud *alpha1.UnitedDeployment, revision string, ...) error
- type SubsetSpec
- type SubsetStatus
- type SubsetUpdate
- type SubsetUpdateStrategy
Constants ¶
const ControllerRevisionHashLabel = "controller.kubernetes.io/hash"
ControllerRevisionHashLabel is the label used to indicate the hash value of a ControllerRevision's Data.
Variables ¶
This section is empty.
Functions ¶
func Add ¶
Add creates a new UnitedDeployment Controller and adds it to the Manager with default RBAC. The Manager will set fields on the Controller and Start it when the Manager is Started.
func GetUnitedDeploymentCondition ¶
func GetUnitedDeploymentCondition(status appsv1alpha1.UnitedDeploymentStatus, condType appsv1alpha1.UnitedDeploymentConditionType) *appsv1alpha1.UnitedDeploymentCondition
GetUnitedDeploymentCondition returns the condition with the provided type.
func NewUnitedDeploymentCondition ¶
func NewUnitedDeploymentCondition(condType appsv1alpha1.UnitedDeploymentConditionType, status corev1.ConditionStatus, reason, message string) *appsv1alpha1.UnitedDeploymentCondition
NewUnitedDeploymentCondition creates a new UnitedDeployment condition.
func ParseSubsetReplicas ¶
func ParseSubsetReplicas(udReplicas int32, subsetReplicas intstr.IntOrString) (int32, error)
ParseSubsetReplicas parses the subsetReplicas, and returns the replicas number depending on the sum replicas.
func RemoveUnitedDeploymentCondition ¶
func RemoveUnitedDeploymentCondition(status *appsv1alpha1.UnitedDeploymentStatus, condType appsv1alpha1.UnitedDeploymentConditionType)
RemoveUnitedDeploymentCondition removes the UnitedDeployment condition with the provided type.
func SetUnitedDeploymentCondition ¶
func SetUnitedDeploymentCondition(status *appsv1alpha1.UnitedDeploymentStatus, condition *appsv1alpha1.UnitedDeploymentCondition)
SetUnitedDeploymentCondition updates the UnitedDeployment to include the provided condition. If the condition that we are about to add already exists and has the same status, reason and message then we are not going to update.
Types ¶
type ControlInterface ¶
type ControlInterface interface { // GetAllSubsets returns the subsets which are managed by the UnitedDeployment. GetAllSubsets(ud *appsv1alpha1.UnitedDeployment, updatedRevision string) ([]*Subset, error) // CreateSubset creates the subset depending on the inputs. CreateSubset(ud *appsv1alpha1.UnitedDeployment, unit string, revision string, replicas, partition int32) error // UpdateSubset updates the target subset with the input information. UpdateSubset(subSet *Subset, ud *appsv1alpha1.UnitedDeployment, revision string, replicas, partition int32) error // UpdateSubset is used to delete the input subset. DeleteSubset(*Subset) error // GetSubsetFailure extracts the subset failure message to expose on UnitedDeployment status. GetSubsetFailure(*Subset) *string // IsExpected check the subset is the expected revision IsExpected(subSet *Subset, revision string) bool }
ControlInterface defines the interface that UnitedDeployment uses to list, create, update, and delete Subsets.
type ReconcileUnitedDeployment ¶
ReconcileUnitedDeployment reconciles a UnitedDeployment object
func (*ReconcileUnitedDeployment) Reconcile ¶
func (r *ReconcileUnitedDeployment) Reconcile(_ context.Context, request reconcile.Request) (reconcile.Result, error)
Reconcile reads that state of the cluster for a UnitedDeployment object and makes changes based on the state read and what is in the UnitedDeployment.Spec
type ReplicaAllocator ¶ added in v1.5.1
type ReplicaAllocator interface {
Alloc(nameToSubset *map[string]*Subset) (*map[string]int32, error)
}
func NewReplicaAllocator ¶ added in v1.5.1
func NewReplicaAllocator(ud *appsv1alpha1.UnitedDeployment) ReplicaAllocator
type ResourceRef ¶
ResourceRef stores the Subset resource it represents.
type Subset ¶
type Subset struct { metav1.ObjectMeta Spec SubsetSpec Status SubsetStatus }
Subset stores the details of a subset resource owned by one UnitedDeployment.
type SubsetControl ¶ added in v0.4.0
SubsetControl provides subset operations of MutableSet.
func (*SubsetControl) CreateSubset ¶ added in v0.4.0
func (m *SubsetControl) CreateSubset(ud *alpha1.UnitedDeployment, subsetName string, revision string, replicas, partition int32) error
CreateSubset creates the Subset depending on the inputs.
func (*SubsetControl) DeleteSubset ¶ added in v0.4.0
func (m *SubsetControl) DeleteSubset(subSet *Subset) error
DeleteSubset is called to delete the subset. The target Subset workload can be found with the input subset.
func (*SubsetControl) GetAllSubsets ¶ added in v0.4.0
func (m *SubsetControl) GetAllSubsets(ud *alpha1.UnitedDeployment, updatedRevision string) (subSets []*Subset, err error)
GetAllSubsets returns all of subsets owned by the UnitedDeployment.
func (*SubsetControl) GetSubsetFailure ¶ added in v0.4.0
func (m *SubsetControl) GetSubsetFailure(subset *Subset) *string
GetSubsetFailure return the error message extracted form Subset workload status conditions.
func (*SubsetControl) IsExpected ¶ added in v0.4.0
func (m *SubsetControl) IsExpected(subSet *Subset, revision string) bool
IsExpected checks the subset is expected revision or not.
func (*SubsetControl) UpdateSubset ¶ added in v0.4.0
func (m *SubsetControl) UpdateSubset(subset *Subset, ud *alpha1.UnitedDeployment, revision string, replicas, partition int32) error
UpdateSubset is used to update the subset. The target Subset workload can be found with the input subset.
type SubsetSpec ¶
type SubsetSpec struct { SubsetName string Replicas int32 UpdateStrategy SubsetUpdateStrategy SubsetRef ResourceRef }
SubsetSpec stores the spec details of the Subset
type SubsetStatus ¶
type SubsetStatus struct { ObservedGeneration int64 Replicas int32 ReadyReplicas int32 UpdatedReplicas int32 UpdatedReadyReplicas int32 }
SubsetStatus stores the observed state of the Subset.
type SubsetUpdate ¶ added in v1.5.0
SubsetUpdate stores the subset field that may need to be updated
type SubsetUpdateStrategy ¶
type SubsetUpdateStrategy struct {
Partition int32
}
SubsetUpdateStrategy stores the strategy detail of the Subset.