Merge pull request #1415 from XiShanYongYe-Chang/refactor-getworks
remove duplicated `GetWorks` function
This commit is contained in:
commit
0365d04c5d
|
@ -127,7 +127,7 @@ func (c *StatusController) SetupWithManager(mgr controllerruntime.Manager) error
|
|||
}
|
||||
|
||||
func (c *StatusController) collectQuotaStatus(quota *policyv1alpha1.FederatedResourceQuota) error {
|
||||
workList, err := helper.GetWorks(c.Client, labels.Set{
|
||||
workList, err := helper.GetWorksByLabelsSet(c.Client, labels.Set{
|
||||
util.FederatedResourceQuotaNamespaceLabel: quota.Namespace,
|
||||
util.FederatedResourceQuotaNameLabel: quota.Name,
|
||||
})
|
||||
|
|
|
@ -89,18 +89,18 @@ func GetBindingClusterNames(targetClusters []workv1alpha2.TargetCluster, binding
|
|||
func FindOrphanWorks(c client.Client, bindingNamespace, bindingName string, clusterNames []string, scope apiextensionsv1.ResourceScope) ([]workv1alpha1.Work, error) {
|
||||
var needJudgeWorks []workv1alpha1.Work
|
||||
if scope == apiextensionsv1.NamespaceScoped {
|
||||
workList, err := GetWorksByLabelSelector(c, labels.SelectorFromSet(labels.Set{
|
||||
workList, err := GetWorksByLabelsSet(c, labels.Set{
|
||||
workv1alpha2.ResourceBindingReferenceKey: names.GenerateBindingReferenceKey(bindingNamespace, bindingName),
|
||||
}))
|
||||
})
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to get works by ResourceBinding(%s/%s): %v", bindingNamespace, bindingName, err)
|
||||
return nil, err
|
||||
}
|
||||
needJudgeWorks = append(needJudgeWorks, workList.Items...)
|
||||
} else {
|
||||
workList, err := GetWorksByLabelSelector(c, labels.SelectorFromSet(labels.Set{
|
||||
workList, err := GetWorksByLabelsSet(c, labels.Set{
|
||||
workv1alpha2.ClusterResourceBindingReferenceKey: names.GenerateBindingReferenceKey("", bindingName),
|
||||
}))
|
||||
})
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to get works by ClusterResourceBinding(%s): %v", bindingName, err)
|
||||
return nil, err
|
||||
|
@ -199,14 +199,6 @@ func GetResourceBindings(c client.Client, ls labels.Set) (*workv1alpha2.Resource
|
|||
return bindings, c.List(context.TODO(), bindings, listOpt)
|
||||
}
|
||||
|
||||
// GetWorks returns a WorkList by labels
|
||||
func GetWorks(c client.Client, ls labels.Set) (*workv1alpha1.WorkList, error) {
|
||||
works := &workv1alpha1.WorkList{}
|
||||
listOpt := &client.ListOptions{LabelSelector: labels.SelectorFromSet(ls)}
|
||||
|
||||
return works, c.List(context.TODO(), works, listOpt)
|
||||
}
|
||||
|
||||
// DeleteWorkByRBNamespaceAndName will delete all Work objects by ResourceBinding namespace and name.
|
||||
func DeleteWorkByRBNamespaceAndName(c client.Client, namespace, name string) error {
|
||||
return DeleteWorks(c, labels.Set{
|
||||
|
@ -223,7 +215,7 @@ func DeleteWorkByCRBName(c client.Client, name string) error {
|
|||
|
||||
// DeleteWorks will delete all Work objects by labels.
|
||||
func DeleteWorks(c client.Client, selector labels.Set) error {
|
||||
workList, err := GetWorks(c, selector)
|
||||
workList, err := GetWorksByLabelsSet(c, selector)
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to get works by label %v: %v", selector, err)
|
||||
return err
|
||||
|
|
|
@ -69,13 +69,10 @@ func CreateOrUpdateWork(client client.Client, workMeta metav1.ObjectMeta, resour
|
|||
return nil
|
||||
}
|
||||
|
||||
// GetWorksByLabelSelector get WorkList by matching label selector.
|
||||
func GetWorksByLabelSelector(c client.Client, selector labels.Selector) (*workv1alpha1.WorkList, error) {
|
||||
// GetWorksByLabelsSet get WorkList by matching labels.Set.
|
||||
func GetWorksByLabelsSet(c client.Client, ls labels.Set) (*workv1alpha1.WorkList, error) {
|
||||
workList := &workv1alpha1.WorkList{}
|
||||
err := c.List(context.TODO(), workList, &client.ListOptions{LabelSelector: selector})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
listOpt := &client.ListOptions{LabelSelector: labels.SelectorFromSet(ls)}
|
||||
|
||||
return workList, nil
|
||||
return workList, c.List(context.TODO(), workList, listOpt)
|
||||
}
|
||||
|
|
|
@ -36,11 +36,9 @@ const (
|
|||
// AggregateResourceBindingWorkStatus will collect all work statuses with current ResourceBinding objects,
|
||||
// then aggregate status info to current ResourceBinding status.
|
||||
func AggregateResourceBindingWorkStatus(c client.Client, binding *workv1alpha2.ResourceBinding, workload *unstructured.Unstructured) error {
|
||||
workList, err := GetWorksByLabelSelector(c, labels.SelectorFromSet(
|
||||
labels.Set{
|
||||
workv1alpha2.ResourceBindingReferenceKey: names.GenerateBindingReferenceKey(binding.Namespace, binding.Name),
|
||||
},
|
||||
))
|
||||
workList, err := GetWorksByLabelsSet(c, labels.Set{
|
||||
workv1alpha2.ResourceBindingReferenceKey: names.GenerateBindingReferenceKey(binding.Namespace, binding.Name),
|
||||
})
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to get works by ResourceBinding(%s/%s): %v", binding.Namespace, binding.Name, err)
|
||||
return err
|
||||
|
@ -83,11 +81,9 @@ func AggregateResourceBindingWorkStatus(c client.Client, binding *workv1alpha2.R
|
|||
// AggregateClusterResourceBindingWorkStatus will collect all work statuses with current ClusterResourceBinding objects,
|
||||
// then aggregate status info to current ClusterResourceBinding status.
|
||||
func AggregateClusterResourceBindingWorkStatus(c client.Client, binding *workv1alpha2.ClusterResourceBinding, workload *unstructured.Unstructured) error {
|
||||
workList, err := GetWorksByLabelSelector(c, labels.SelectorFromSet(
|
||||
labels.Set{
|
||||
workv1alpha2.ClusterResourceBindingReferenceKey: names.GenerateBindingReferenceKey("", binding.Name),
|
||||
},
|
||||
))
|
||||
workList, err := GetWorksByLabelsSet(c, labels.Set{
|
||||
workv1alpha2.ClusterResourceBindingReferenceKey: names.GenerateBindingReferenceKey("", binding.Name),
|
||||
})
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to get works by ClusterResourceBinding(%s): %v", binding.Name, err)
|
||||
return err
|
||||
|
|
Loading…
Reference in New Issue