From 9099505e23301e5e55cdf1dfe00f645ea0d0f806 Mon Sep 17 00:00:00 2001 From: mertsaygi Date: Mon, 5 Oct 2020 17:59:52 +0300 Subject: [PATCH 1/2] if resource does not exists on remote, floodgate does not create it. this problem resolved --- spinnakerresource/application.go | 1 + spinnakerresource/pipeline.go | 1 + spinnakerresource/pipelinetemplate.go | 1 + 3 files changed, 3 insertions(+) diff --git a/spinnakerresource/application.go b/spinnakerresource/application.go index abf2e78..cb92958 100644 --- a/spinnakerresource/application.go +++ b/spinnakerresource/application.go @@ -32,6 +32,7 @@ func (a *Application) Init(api *gc.GateapiClient, localData map[string]interface a.name = name if api != nil { if err := a.LoadRemoteState(api); err != nil { + err := a.SaveLocalState(api) return err } } diff --git a/spinnakerresource/pipeline.go b/spinnakerresource/pipeline.go index 6273f21..0a53ce4 100644 --- a/spinnakerresource/pipeline.go +++ b/spinnakerresource/pipeline.go @@ -41,6 +41,7 @@ func (p *Pipeline) Init(api *gc.GateapiClient, localData map[string]interface{}) p.templateReference = reference if api != nil { if err := p.LoadRemoteState(api); err != nil { + err := p.SaveLocalState(api) return err } } diff --git a/spinnakerresource/pipelinetemplate.go b/spinnakerresource/pipelinetemplate.go index c09f666..87c5159 100644 --- a/spinnakerresource/pipelinetemplate.go +++ b/spinnakerresource/pipelinetemplate.go @@ -35,6 +35,7 @@ func (pt *PipelineTemplate) Init(api *gc.GateapiClient, localData map[string]int pt.name = name if api != nil { if err := pt.LoadRemoteState(api); err != nil { + err := pt.SaveLocalState(api) return err } } From 73a47ff605714a343b05a3c22e0e6ce443fe0c13 Mon Sep 17 00:00:00 2001 From: mertsaygi Date: Thu, 15 Oct 2020 16:11:31 +0300 Subject: [PATCH 2/2] unexpected end of JSON input problem resolved --- spinnakerresource/resource.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spinnakerresource/resource.go b/spinnakerresource/resource.go index 78e6bbc..1021a50 100644 --- a/spinnakerresource/resource.go +++ b/spinnakerresource/resource.go @@ -86,8 +86,10 @@ func (r *Resource) unmarshalStates() (localJSON, remoteJSON map[string]interface return } - if err = json.Unmarshal(r.remoteState, &remoteJSON); err != nil { - return + if len(r.remoteState) != 0 { + if err = json.Unmarshal(r.remoteState, &remoteJSON); err != nil { + return + } } var state []byte