@@ -897,6 +897,11 @@ func (o *Operator) handleCatSrcDeletion(obj interface{}) {
897897}
898898
899899func validateSourceType (logger * logrus.Entry , in * v1alpha1.CatalogSource ) (out * v1alpha1.CatalogSource , continueSync bool , _ error ) {
900+ logger = logger .WithField ("step" , "validateSourceType" )
901+ logger .Info ("validate source type start" )
902+ defer func () {
903+ logger .WithField ("continueSync" , continueSync ).Info ("validate source type end" )
904+ }()
900905 out = in
901906 var err error
902907 switch sourceType := out .Spec .SourceType ; sourceType {
@@ -912,41 +917,44 @@ func validateSourceType(logger *logrus.Entry, in *v1alpha1.CatalogSource) (out *
912917 err = fmt .Errorf ("unknown sourcetype: %s" , sourceType )
913918 }
914919 if err != nil {
920+ logger .WithError (err ).Error ("error validating catalog source type" )
915921 out .SetError (v1alpha1 .CatalogSourceSpecInvalidError , err )
916922 return
917923 }
918924
919925 // The sourceType is valid, clear all status (other than status conditions array) if there's existing invalid spec reason
920926 if out .Status .Reason == v1alpha1 .CatalogSourceSpecInvalidError {
927+ logger .Info ("catalog source has invalid spec" )
921928 out .Status = v1alpha1.CatalogSourceStatus {
922929 Conditions : out .Status .Conditions ,
923930 }
924931 }
925932 continueSync = true
926-
927933 return
928934}
929935
930936func (o * Operator ) syncConfigMap (logger * logrus.Entry , in * v1alpha1.CatalogSource ) (out * v1alpha1.CatalogSource , continueSync bool , syncError error ) {
937+ logger = logger .WithFields (logrus.Fields {
938+ "configmap.namespace" : in .Namespace ,
939+ "configmap.name" : in .Spec .ConfigMap ,
940+ })
941+ logger .Info ("checking catsrc configmap state" )
942+
931943 out = in
932944 if ! (in .Spec .SourceType == v1alpha1 .SourceTypeInternal || in .Spec .SourceType == v1alpha1 .SourceTypeConfigmap ) {
933945 continueSync = true
946+ logger .Info ("catalog type is neither internal not configmap - bailing without error" )
934947 return
935948 }
936949
937950 out = in .DeepCopy ()
938951
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-
945952 var updateLabel bool
946953 // Get the catalog source's config map
947954 configMap , err := o .lister .CoreV1 ().ConfigMapLister ().ConfigMaps (in .GetNamespace ()).Get (in .Spec .ConfigMap )
948955 // Attempt to look up the CM via api call if there is a cache miss
949956 if apierrors .IsNotFound (err ) {
957+ logger .Info ("configmap not found in cache - attempting with live client" )
950958 configMap , err = o .opClient .KubernetesInterface ().CoreV1 ().ConfigMaps (in .GetNamespace ()).Get (context .TODO (), in .Spec .ConfigMap , metav1.GetOptions {})
951959 // Found cm in the cluster, add managed label to configmap
952960 if err == nil {
@@ -961,6 +969,7 @@ func (o *Operator) syncConfigMap(logger *logrus.Entry, in *v1alpha1.CatalogSourc
961969 }
962970 }
963971 if err != nil {
972+ logger .WithError (err ).Error ("error getting configmap" )
964973 syncError = fmt .Errorf ("failed to get catalog config map %s: %s" , in .Spec .ConfigMap , err )
965974 out .SetError (v1alpha1 .CatalogSourceConfigMapError , syncError )
966975 return
@@ -969,11 +978,11 @@ func (o *Operator) syncConfigMap(logger *logrus.Entry, in *v1alpha1.CatalogSourc
969978 if wasOwned := ownerutil .EnsureOwner (configMap , in ); ! wasOwned || updateLabel {
970979 configMap , err = o .opClient .KubernetesInterface ().CoreV1 ().ConfigMaps (configMap .GetNamespace ()).Update (context .TODO (), configMap , metav1.UpdateOptions {})
971980 if err != nil {
981+ logger .WithError (err ).Error ("error updating configmap" )
972982 syncError = fmt .Errorf ("unable to write owner onto catalog source configmap - %v" , err )
973983 out .SetError (v1alpha1 .CatalogSourceConfigMapError , syncError )
974984 return
975985 }
976-
977986 logger .Info ("adopted configmap" )
978987 }
979988
@@ -992,30 +1001,39 @@ func (o *Operator) syncConfigMap(logger *logrus.Entry, in *v1alpha1.CatalogSourc
9921001 }
9931002
9941003 continueSync = true
1004+ logger .Info ("configmap catalog source sync'ed successfully" )
9951005 return
9961006}
9971007
9981008func (o * Operator ) syncRegistryServer (logger * logrus.Entry , in * v1alpha1.CatalogSource ) (out * v1alpha1.CatalogSource , continueSync bool , syncError error ) {
9991009 out = in .DeepCopy ()
10001010
1001- logger .Info ("synchronizing registry server" )
1011+ logger = logger .WithField ("step" , "syncRegistryServer" )
1012+ logger .Info ("registry server sync start" )
1013+ defer func () {
1014+ logger .WithError (syncError ).WithField ("continueSync" , continueSync ).Info ("registry server sync end" )
1015+ }()
10021016 sourceKey := registry.CatalogKey {Name : in .GetName (), Namespace : in .GetNamespace ()}
1017+
1018+ logger .Info ("getting reconciler for catalog source" )
10031019 srcReconciler := o .reconciler .ReconcilerForSource (in )
10041020 if srcReconciler == nil {
1005- // TODO: Add failure status on catalogsource and remove from sources
1021+ // TODO: Add failure status on catalogsource and remove from sources )
10061022 syncError = fmt .Errorf ("no reconciler for source type %s" , in .Spec .SourceType )
10071023 out .SetError (v1alpha1 .CatalogSourceRegistryServerError , syncError )
10081024 return
10091025 }
10101026
1027+ logger .Info ("checking registry server health" )
10111028 healthy , err := srcReconciler .CheckRegistryServer (logger , in )
10121029 if err != nil {
10131030 syncError = err
10141031 out .SetError (v1alpha1 .CatalogSourceRegistryServerError , syncError )
10151032 return
10161033 }
10171034
1018- logger .WithField ("health" , healthy ).Infof ("checked registry server health" )
1035+ logger = logger .WithField ("health" , healthy )
1036+ logger .Info ("checked registry server health" )
10191037
10201038 if healthy && in .Status .RegistryServiceStatus != nil {
10211039 logger .Info ("registry state good" )
@@ -1052,7 +1070,9 @@ func (o *Operator) syncRegistryServer(logger *logrus.Entry, in *v1alpha1.Catalog
10521070 return
10531071 }
10541072 if out .Spec .UpdateStrategy .RegistryPoll .ParsingError != "" && out .Status .Reason != v1alpha1 .CatalogSourceIntervalInvalidError {
1055- out .SetError (v1alpha1 .CatalogSourceIntervalInvalidError , errors .New (out .Spec .UpdateStrategy .RegistryPoll .ParsingError ))
1073+ err := errors .New (out .Spec .UpdateStrategy .RegistryPoll .ParsingError )
1074+ logger .WithError (err ).Info ("failed to parse registry poll interval" )
1075+ out .SetError (v1alpha1 .CatalogSourceIntervalInvalidError , err )
10561076 }
10571077 logger .Infof ("requeuing registry server sync based on polling interval %s" , out .Spec .UpdateStrategy .Interval .Duration .String ())
10581078 resyncPeriod := reconciler .SyncRegistryUpdateInterval (out , time .Now ())
@@ -1061,13 +1081,18 @@ func (o *Operator) syncRegistryServer(logger *logrus.Entry, in *v1alpha1.Catalog
10611081 }
10621082
10631083 if err := o .sources .Remove (sourceKey ); err != nil {
1064- o .logger .WithError (err ).Debug ("error closing client connection" )
1084+ o .logger .WithError (err ).Info ("error closing client connection" )
10651085 }
10661086
10671087 return
10681088}
10691089
10701090func (o * Operator ) syncConnection (logger * logrus.Entry , in * v1alpha1.CatalogSource ) (out * v1alpha1.CatalogSource , continueSync bool , syncError error ) {
1091+ logger = logger .WithField ("step" , "syncConnection" )
1092+ logger .Info ("sync connection start" )
1093+ defer func () {
1094+ logger .WithError (syncError ).WithField ("continueSync" , continueSync ).Info ("sync connection end" )
1095+ }()
10711096 out = in .DeepCopy ()
10721097
10731098 sourceKey := registry.CatalogKey {Name : in .GetName (), Namespace : in .GetNamespace ()}
@@ -1101,6 +1126,7 @@ func (o *Operator) syncConnection(logger *logrus.Entry, in *v1alpha1.CatalogSour
11011126
11021127 source := o .sources .GetMeta (sourceKey )
11031128 if source == nil {
1129+ logger .Info ("source not found - attempting to establish connection" )
11041130 source , syncError = connectFunc ()
11051131 if syncError != nil {
11061132 out .SetError (v1alpha1 .CatalogSourceRegistryServerError , syncError )
@@ -1109,10 +1135,15 @@ func (o *Operator) syncConnection(logger *logrus.Entry, in *v1alpha1.CatalogSour
11091135
11101136 // Set connection status and return.
11111137 updateConnectionStateFunc (out , source )
1138+ logger .Info ("successfully created source and updated connection state" )
11121139 return
11131140 }
11141141
11151142 if source .Address != address {
1143+ logger .WithFields (logrus.Fields {
1144+ "source.address" : source .Address ,
1145+ "catalogsource.address" : address ,
1146+ }).Info ("source and catalog source addresses differ - creating a new source" )
11161147 source , syncError = connectFunc ()
11171148 if syncError != nil {
11181149 out .SetError (v1alpha1 .CatalogSourceRegistryServerError , syncError )
@@ -1125,6 +1156,7 @@ func (o *Operator) syncConnection(logger *logrus.Entry, in *v1alpha1.CatalogSour
11251156
11261157 // GRPCConnectionState update must fail before
11271158 if out .Status .GRPCConnectionState == nil {
1159+ logger .Info ("connection state is nil - attempting to update connection state" )
11281160 updateConnectionStateFunc (out , source )
11291161 }
11301162
@@ -1152,7 +1184,10 @@ func (o *Operator) syncCatalogSources(obj interface{}) (syncError error) {
11521184 "catalogsource.name" : catsrc .Name ,
11531185 "id" : queueinformer .NewLoopID (),
11541186 })
1155- logger .Info ("syncing catalog source" )
1187+ logger .Info ("catalog source sync start" )
1188+ defer func () {
1189+ logger .WithError (syncError ).Info ("catalog source sync end" )
1190+ }()
11561191
11571192 syncFunc := func (in * v1alpha1.CatalogSource , chain []CatalogSourceSyncFunc ) (out * v1alpha1.CatalogSource , syncErr error ) {
11581193 out = in
0 commit comments