@@ -356,33 +356,11 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
356
356
informersByNamespace [namespace ].CopiedCSVInformer = copiedCSVInformer
357
357
informersByNamespace [namespace ].CopiedCSVLister = op .copiedCSVLister
358
358
359
- // Register separate queue for reverting copied csvs
360
- copiedCSVRevertQueue := workqueue .NewTypedRateLimitingQueueWithConfig [types.NamespacedName ](
361
- workqueue .DefaultTypedControllerRateLimiter [types.NamespacedName ](),
362
- workqueue.TypedRateLimitingQueueConfig [types.NamespacedName ]{
363
- Name : fmt .Sprintf ("%s/csv-revert" , namespace ),
364
- })
365
- op .copiedCSVGCQueueSet .Set (namespace , copiedCSVRevertQueue )
366
- copiedCSVRevertQueueInformer , err := queueinformer .NewQueueInformer (
367
- ctx ,
368
- queueinformer .WithInformer (copiedCSVInformer ),
369
- queueinformer .WithLogger (op .logger ),
370
- queueinformer .WithQueue (copiedCSVRevertQueue ),
371
- queueinformer .WithIndexer (copiedCSVInformer .GetIndexer ()),
372
- queueinformer .WithSyncer (queueinformer .LegacySyncHandler (op .syncRevertCsv ).ToSyncer ()),
373
- )
374
- if err != nil {
375
- return nil , err
376
- }
377
- if err := op .RegisterQueueInformer (copiedCSVRevertQueueInformer ); err != nil {
378
- return nil , err
379
- }
380
-
381
359
// Register separate queue for gcing copied csvs
382
360
copiedCSVGCQueue := workqueue .NewTypedRateLimitingQueueWithConfig [types.NamespacedName ](
383
361
workqueue .DefaultTypedControllerRateLimiter [types.NamespacedName ](),
384
362
workqueue.TypedRateLimitingQueueConfig [types.NamespacedName ]{
385
- Name : fmt .Sprintf ("%s/csv-gc" , namespace ),
363
+ Name : fmt .Sprintf ("%s/csv-gc-revert " , namespace ),
386
364
})
387
365
op .copiedCSVGCQueueSet .Set (namespace , copiedCSVGCQueue )
388
366
copiedCSVGCQueueInformer , err := queueinformer .NewQueueInformer (
@@ -391,7 +369,7 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
391
369
queueinformer .WithLogger (op .logger ),
392
370
queueinformer .WithQueue (copiedCSVGCQueue ),
393
371
queueinformer .WithIndexer (copiedCSVInformer .GetIndexer ()),
394
- queueinformer .WithSyncer (queueinformer .LegacySyncHandler (op .syncGcCsv ).ToSyncer ()),
372
+ queueinformer .WithSyncer (queueinformer .LegacySyncHandler (op .syncRevertGcCsv ).ToSyncer ()),
395
373
)
396
374
if err != nil {
397
375
return nil , err
@@ -1955,51 +1933,51 @@ func GetCopiedNamespace(c *v1alpha1.ClusterServiceVersion) string {
1955
1933
return ""
1956
1934
}
1957
1935
1958
- func (a * Operator ) syncRevertCsv (obj interface {}) error {
1936
+ func (a * Operator ) syncRevertGcCsv (obj interface {}) error {
1959
1937
csv , ok := obj .(* v1alpha1.ClusterServiceVersion )
1960
1938
if ! ok {
1961
1939
a .logger .Debugf ("wrong type: %#v" , obj )
1962
1940
return fmt .Errorf ("casting ClusterServiceVersion failed" )
1963
1941
}
1964
- logger := a .logger .WithField ("csv" , fmt .Sprintf ("%s/%s" , csv .GetNamespace (), csv .GetName ()))
1965
- logger .Info ("syncRevertCsv" )
1942
+ if ! v1alpha1 .IsCopied (csv ) {
1943
+ return nil
1944
+ }
1945
+
1946
+ logger := a .logger .WithField ("csv" , fmt .Sprintf ("%s/%s" , csv .Namespace , csv .Name ))
1947
+
1948
+ // check for any garbage collection
1949
+ logger .Info ("syncRevertGcCsv: removeDanglingChildCSVs" )
1950
+ err := a .removeDanglingChildCSVs (csv )
1951
+ if err != nil {
1952
+ return err
1953
+ }
1954
+
1955
+ // Check for a revert
1966
1956
ns := GetCopiedNamespace (csv )
1967
1957
if ns == "" {
1968
- logger .Info ("syncRevertCsv: Unable to get copied-from namespace" )
1958
+ logger .Info ("syncRevertGcCsv: Failed to get copied-from namespace" )
1969
1959
return nil
1970
1960
}
1971
- prototype , err := a .client .OperatorsV1alpha1 ().ClusterServiceVersions (ns ).Get (context .TODO (), csv .GetName () , metav1.GetOptions {})
1961
+ prototype , err := a .client .OperatorsV1alpha1 ().ClusterServiceVersions (ns ).Get (context .TODO (), csv .Name , metav1.GetOptions {})
1972
1962
if err != nil {
1973
- logger .Info ("syncRevertCsv: Unable to get prototype" )
1963
+ logger .Info ("syncRevertGcCsv: Failed to get prototype" )
1974
1964
return err
1975
1965
}
1976
1966
var copyPrototype v1alpha1.ClusterServiceVersion
1977
1967
csvCopyPrototype (prototype , & copyPrototype )
1978
1968
specHash , statusHash , err := copyableCSVHash (& copyPrototype )
1979
1969
if err != nil {
1980
- logger .Info ("syncRevertCsv: Unable to hash" )
1970
+ logger .Info ("syncRevertGcCsv: Failed to hash" )
1981
1971
return err
1982
1972
}
1983
- _ , err = a .copyToNamespace (& copyPrototype , ns , csv .GetNamespace (), specHash , statusHash )
1973
+ logger .Info ("syncRevertGcCsv: copyToNamespace" )
1974
+ _ , err = a .copyToNamespace (& copyPrototype , ns , csv .Namespace , specHash , statusHash )
1984
1975
if err != nil {
1985
- logger .WithError (err ).Info ("syncRevertCsv : copyToNamespace failed" )
1976
+ logger .WithError (err ).Info ("syncRevertGcCsv : copyToNamespace failed" )
1986
1977
}
1987
1978
return err
1988
1979
}
1989
1980
1990
- func (a * Operator ) syncGcCsv (obj interface {}) (syncError error ) {
1991
- clusterServiceVersion , ok := obj .(* v1alpha1.ClusterServiceVersion )
1992
- if ! ok {
1993
- a .logger .Debugf ("wrong type: %#v" , obj )
1994
- return fmt .Errorf ("casting ClusterServiceVersion failed" )
1995
- }
1996
- if v1alpha1 .IsCopied (clusterServiceVersion ) {
1997
- syncError = a .removeDanglingChildCSVs (clusterServiceVersion )
1998
- return
1999
- }
2000
- return
2001
- }
2002
-
2003
1981
// operatorGroupFromAnnotations returns the OperatorGroup for the CSV only if the CSV is active one in the group
2004
1982
func (a * Operator ) operatorGroupFromAnnotations (logger * logrus.Entry , csv * v1alpha1.ClusterServiceVersion ) * operatorsv1.OperatorGroup {
2005
1983
annotations := csv .GetAnnotations ()
0 commit comments