diff --git a/service/k8s/statefulset.go b/service/k8s/statefulset.go index 34655acd9..c37ff385d 100644 --- a/service/k8s/statefulset.go +++ b/service/k8s/statefulset.go @@ -2,6 +2,7 @@ package k8s import ( "context" + "encoding/json" "fmt" "strconv" "strings" @@ -38,6 +39,8 @@ type StatefulSetService struct { metricsRecorder metrics.Recorder } +var previousSS appsv1.StatefulSet + // NewStatefulSetService returns a new StatefulSet KubeService. func NewStatefulSetService(kubeClient kubernetes.Interface, logger log.Logger, metricsRecorder metrics.Recorder) *StatefulSetService { logger = logger.With("service", "k8s.statefulSet") @@ -176,6 +179,8 @@ func (s *StatefulSetService) CreateOrUpdateStatefulSet(namespace string, statefu } s.logger.Debugf("%v/%v statefulset has a different resource hash, updating the object...", statefulSet.Namespace, statefulSet.Name) addHashAnnotation(statefulSet) + previousSS = *statefulSet + } return s.UpdateStatefulSet(namespace, statefulSet) @@ -195,3 +200,12 @@ func (s *StatefulSetService) ListStatefulSets(namespace string) (*appsv1.Statefu recordMetrics(namespace, "StatefulSet", metrics.NOT_APPLICABLE, "LIST", err, s.metricsRecorder) return stsList, err } + +func StatefulsetToJson(sts appsv1.StatefulSet) { + // convert statefulset object to json string + stsJson, err := json.Marshal(sts) + if err != nil { + fmt.Println(err) + } + fmt.Println(string(stsJson)) +}