@@ -897,6 +897,7 @@ func (o *Operator) handleCatSrcDeletion(obj interface{}) {
897897}
898898
899899func validateSourceType (logger * logrus.Entry , in * v1alpha1.CatalogSource ) (out * v1alpha1.CatalogSource , continueSync bool , _ error ) {
900+ logger .Info ("validating catalog source type" )
900901 out = in
901902 var err error
902903 switch sourceType := out .Spec .SourceType ; sourceType {
@@ -912,41 +913,46 @@ func validateSourceType(logger *logrus.Entry, in *v1alpha1.CatalogSource) (out *
912913 err = fmt .Errorf ("unknown sourcetype: %s" , sourceType )
913914 }
914915 if err != nil {
916+ logger .WithError (err ).Error ("error validating catalog source type" )
915917 out .SetError (v1alpha1 .CatalogSourceSpecInvalidError , err )
916918 return
917919 }
918920
919921 // The sourceType is valid, clear all status (other than status conditions array) if there's existing invalid spec reason
920922 if out .Status .Reason == v1alpha1 .CatalogSourceSpecInvalidError {
923+ logger .Info ("catalog source has invalid spec" )
921924 out .Status = v1alpha1.CatalogSourceStatus {
922925 Conditions : out .Status .Conditions ,
923926 }
924927 }
925928 continueSync = true
926929
930+ logger .Info ("catalog source type validated" )
927931 return
928932}
929933
930934func (o * Operator ) syncConfigMap (logger * logrus.Entry , in * v1alpha1.CatalogSource ) (out * v1alpha1.CatalogSource , continueSync bool , syncError error ) {
935+ logger = logger .WithFields (logrus.Fields {
936+ "configmap.namespace" : in .Namespace ,
937+ "configmap.name" : in .Spec .ConfigMap ,
938+ })
939+ logger .Info ("checking catsrc configmap state" )
940+
931941 out = in
932942 if ! (in .Spec .SourceType == v1alpha1 .SourceTypeInternal || in .Spec .SourceType == v1alpha1 .SourceTypeConfigmap ) {
933943 continueSync = true
944+ logger .Info ("catalog type is neither internal not configmap - bailing without error" )
934945 return
935946 }
936947
937948 out = in .DeepCopy ()
938949
939- logger = logger .WithFields (logrus.Fields {
940- "configmap.namespace" : in .Namespace ,
941- "configmap.name" : in .Spec .ConfigMap ,
942- })
943- logger .Info ("checking catsrc configmap state" )
944-
945950 var updateLabel bool
946951 // Get the catalog source's config map
947952 configMap , err := o .lister .CoreV1 ().ConfigMapLister ().ConfigMaps (in .GetNamespace ()).Get (in .Spec .ConfigMap )
948953 // Attempt to look up the CM via api call if there is a cache miss
949954 if apierrors .IsNotFound (err ) {
955+ logger .Info ("configmap not found in cache - attempting with live client" )
950956 configMap , err = o .opClient .KubernetesInterface ().CoreV1 ().ConfigMaps (in .GetNamespace ()).Get (context .TODO (), in .Spec .ConfigMap , metav1.GetOptions {})
951957 // Found cm in the cluster, add managed label to configmap
952958 if err == nil {
@@ -961,6 +967,7 @@ func (o *Operator) syncConfigMap(logger *logrus.Entry, in *v1alpha1.CatalogSourc
961967 }
962968 }
963969 if err != nil {
970+ logger .WithError (err ).Error ("error getting configmap" )
964971 syncError = fmt .Errorf ("failed to get catalog config map %s: %s" , in .Spec .ConfigMap , err )
965972 out .SetError (v1alpha1 .CatalogSourceConfigMapError , syncError )
966973 return
@@ -969,11 +976,11 @@ func (o *Operator) syncConfigMap(logger *logrus.Entry, in *v1alpha1.CatalogSourc
969976 if wasOwned := ownerutil .EnsureOwner (configMap , in ); ! wasOwned || updateLabel {
970977 configMap , err = o .opClient .KubernetesInterface ().CoreV1 ().ConfigMaps (configMap .GetNamespace ()).Update (context .TODO (), configMap , metav1.UpdateOptions {})
971978 if err != nil {
979+ logger .WithError (err ).Error ("error updating configmap" )
972980 syncError = fmt .Errorf ("unable to write owner onto catalog source configmap - %v" , err )
973981 out .SetError (v1alpha1 .CatalogSourceConfigMapError , syncError )
974982 return
975983 }
976-
977984 logger .Info ("adopted configmap" )
978985 }
979986
@@ -992,30 +999,39 @@ func (o *Operator) syncConfigMap(logger *logrus.Entry, in *v1alpha1.CatalogSourc
992999 }
9931000
9941001 continueSync = true
1002+ logger .Info ("configmap catalog source sync'ed successfully" )
9951003 return
9961004}
9971005
9981006func (o * Operator ) syncRegistryServer (logger * logrus.Entry , in * v1alpha1.CatalogSource ) (out * v1alpha1.CatalogSource , continueSync bool , syncError error ) {
9991007 out = in .DeepCopy ()
10001008
1001- logger .Info ("synchronizing registry server" )
1009+ logger = logger .WithField ("step" , "syncRegistryServer" )
1010+ logger .Info ("registry server sync start" )
1011+ defer func () {
1012+ logger .WithError (syncError ).WithField ("continueSync" , continueSync ).Info ("registry server sync end" )
1013+ }()
10021014 sourceKey := registry.CatalogKey {Name : in .GetName (), Namespace : in .GetNamespace ()}
1015+
1016+ logger .Info ("getting reconciler for catalog source" )
10031017 srcReconciler := o .reconciler .ReconcilerForSource (in )
10041018 if srcReconciler == nil {
1005- // TODO: Add failure status on catalogsource and remove from sources
1019+ // TODO: Add failure status on catalogsource and remove from sources )
10061020 syncError = fmt .Errorf ("no reconciler for source type %s" , in .Spec .SourceType )
10071021 out .SetError (v1alpha1 .CatalogSourceRegistryServerError , syncError )
10081022 return
10091023 }
10101024
1025+ logger .Info ("checking registry server health" )
10111026 healthy , err := srcReconciler .CheckRegistryServer (logger , in )
10121027 if err != nil {
10131028 syncError = err
10141029 out .SetError (v1alpha1 .CatalogSourceRegistryServerError , syncError )
10151030 return
10161031 }
10171032
1018- logger .WithField ("health" , healthy ).Infof ("checked registry server health" )
1033+ logger = logger .WithField ("health" , healthy )
1034+ logger .Info ("checked registry server health" )
10191035
10201036 if healthy && in .Status .RegistryServiceStatus != nil {
10211037 logger .Info ("registry state good" )
@@ -1052,7 +1068,9 @@ func (o *Operator) syncRegistryServer(logger *logrus.Entry, in *v1alpha1.Catalog
10521068 return
10531069 }
10541070 if out .Spec .UpdateStrategy .RegistryPoll .ParsingError != "" && out .Status .Reason != v1alpha1 .CatalogSourceIntervalInvalidError {
1055- out .SetError (v1alpha1 .CatalogSourceIntervalInvalidError , errors .New (out .Spec .UpdateStrategy .RegistryPoll .ParsingError ))
1071+ err := errors .New (out .Spec .UpdateStrategy .RegistryPoll .ParsingError )
1072+ logger .WithError (err ).Info ("failed to parse registry poll interval" )
1073+ out .SetError (v1alpha1 .CatalogSourceIntervalInvalidError , err )
10561074 }
10571075 logger .Infof ("requeuing registry server sync based on polling interval %s" , out .Spec .UpdateStrategy .Interval .Duration .String ())
10581076 resyncPeriod := reconciler .SyncRegistryUpdateInterval (out , time .Now ())
@@ -1061,13 +1079,18 @@ func (o *Operator) syncRegistryServer(logger *logrus.Entry, in *v1alpha1.Catalog
10611079 }
10621080
10631081 if err := o .sources .Remove (sourceKey ); err != nil {
1064- o .logger .WithError (err ).Debug ("error closing client connection" )
1082+ o .logger .WithError (err ).Info ("error closing client connection" )
10651083 }
10661084
10671085 return
10681086}
10691087
10701088func (o * Operator ) syncConnection (logger * logrus.Entry , in * v1alpha1.CatalogSource ) (out * v1alpha1.CatalogSource , continueSync bool , syncError error ) {
1089+ logger = logger .WithField ("step" , "syncConnection" )
1090+ logger .Info ("sync connection start" )
1091+ defer func () {
1092+ logger .WithError (syncError ).WithField ("continueSync" , continueSync ).Info ("sync connection end" )
1093+ }()
10711094 out = in .DeepCopy ()
10721095
10731096 sourceKey := registry.CatalogKey {Name : in .GetName (), Namespace : in .GetNamespace ()}
@@ -1101,6 +1124,7 @@ func (o *Operator) syncConnection(logger *logrus.Entry, in *v1alpha1.CatalogSour
11011124
11021125 source := o .sources .GetMeta (sourceKey )
11031126 if source == nil {
1127+ logger .Info ("source not found - attempting to establish connection" )
11041128 source , syncError = connectFunc ()
11051129 if syncError != nil {
11061130 out .SetError (v1alpha1 .CatalogSourceRegistryServerError , syncError )
@@ -1109,10 +1133,15 @@ func (o *Operator) syncConnection(logger *logrus.Entry, in *v1alpha1.CatalogSour
11091133
11101134 // Set connection status and return.
11111135 updateConnectionStateFunc (out , source )
1136+ logger .Info ("successfully created source and updated connection state" )
11121137 return
11131138 }
11141139
11151140 if source .Address != address {
1141+ logger .WithFields (logrus.Fields {
1142+ "source.address" : source .Address ,
1143+ "catalogsource.address" : address ,
1144+ }).Info ("source and catalog source addresses differ - creating a new source" )
11161145 source , syncError = connectFunc ()
11171146 if syncError != nil {
11181147 out .SetError (v1alpha1 .CatalogSourceRegistryServerError , syncError )
@@ -1125,6 +1154,7 @@ func (o *Operator) syncConnection(logger *logrus.Entry, in *v1alpha1.CatalogSour
11251154
11261155 // GRPCConnectionState update must fail before
11271156 if out .Status .GRPCConnectionState == nil {
1157+ logger .Info ("connection state is nil - attempting to update connection state" )
11281158 updateConnectionStateFunc (out , source )
11291159 }
11301160
@@ -1152,7 +1182,10 @@ func (o *Operator) syncCatalogSources(obj interface{}) (syncError error) {
11521182 "catalogsource.name" : catsrc .Name ,
11531183 "id" : queueinformer .NewLoopID (),
11541184 })
1155- logger .Info ("syncing catalog source" )
1185+ logger .Info ("catalog source sync start" )
1186+ defer func () {
1187+ logger .WithError (syncError ).Info ("catalog source sync end" )
1188+ }()
11561189
11571190 syncFunc := func (in * v1alpha1.CatalogSource , chain []CatalogSourceSyncFunc ) (out * v1alpha1.CatalogSource , syncErr error ) {
11581191 out = in
0 commit comments