Skip to content

Commit 0685c8c

Browse files
authored
Merge pull request #3158 from hunterkepley/ocm-21426-1
OCM-21426 | fix: Attach to builder, instead of replace
2 parents eb94bb3 + d1fe61c commit 0685c8c

File tree

1 file changed

+34
-20
lines changed

1 file changed

+34
-20
lines changed

cmd/create/logforwarder/cmd.go

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222

2323
cmv1 "github.com/openshift-online/ocm-sdk-go/clustersmgmt/v1"
2424
"github.com/spf13/cobra"
25+
errors "github.com/zgalor/weberr"
2526

2627
"github.com/openshift/rosa/pkg/fedramp"
2728
"github.com/openshift/rosa/pkg/interactive"
@@ -132,33 +133,46 @@ func CreateLogForwarderRunner(userOptions *CreateLogForwarderUserOptions) rosa.C
132133
var logForwarderBuilder *cmv1.LogForwarderBuilder
133134
if logFwdS3ConfigObject != nil {
134135
logForwarderBuilder = logforwarding.BindS3LogForwarder(logFwdS3ConfigObject)
136+
err = createLogForwarder(r, cluster.ID(), logForwarderBuilder)
137+
if err != nil {
138+
return errors.UserErrorf("failed to create S3 log forwarder: %v", err)
139+
}
140+
r.Reporter.Infof("Successfully created S3 log forwarder for HCP cluster '%s'", cluster.ID())
135141
}
136142
if logFwdCloudWatchConfigObject != nil {
137143
logForwarderBuilder = logforwarding.BindCloudWatchLogForwarder(logFwdCloudWatchConfigObject)
138-
}
139-
if logForwarderBuilder == nil {
140-
return fmt.Errorf("no proper log forwarding configuration provided")
141-
}
142-
143-
logForwarder, err := logForwarderBuilder.Build()
144-
if err != nil {
145-
return fmt.Errorf("failed to build log forwarder from inputs: %v", err)
146-
}
147-
148-
createdLogForwarder, err := r.OCMClient.SetLogForwarder(cluster.ID(), logForwarder)
149-
if err != nil {
150-
return fmt.Errorf("failed to create log forwarder: %v", err)
151-
}
152-
153-
if output.HasFlag() {
154-
err = output.Print(createdLogForwarder)
144+
err = createLogForwarder(r, cluster.ID(), logForwarderBuilder)
155145
if err != nil {
156-
return fmt.Errorf("failed to output log forwarder: %v", err)
146+
return errors.UserErrorf("failed to create CloudWatch log forwarder: %v", err)
157147
}
158-
return nil
148+
r.Reporter.Infof("Successfully created CloudWatch log forwarder for HCP cluster '%s'", cluster.ID())
159149
}
160150

161-
r.Reporter.Infof("Successfully created log forwarder for HCP cluster '%s'", clusterKey)
162151
return nil
163152
}
164153
}
154+
155+
func createLogForwarder(r *rosa.Runtime, clusterId string, forwarder *cmv1.LogForwarderBuilder) error {
156+
if forwarder == nil {
157+
return fmt.Errorf("no proper log forwarding configuration provided")
158+
}
159+
160+
logForwarder, err := forwarder.Build()
161+
if err != nil {
162+
return fmt.Errorf("failed to build log forwarder from inputs: %v", err)
163+
}
164+
165+
createdLogForwarder, err := r.OCMClient.SetLogForwarder(clusterId, logForwarder)
166+
if err != nil {
167+
return fmt.Errorf("failed to create log forwarder on cluster '%s': %v", clusterId, err)
168+
}
169+
170+
if output.HasFlag() {
171+
err = output.Print(createdLogForwarder)
172+
if err != nil {
173+
return fmt.Errorf("failed to output log forwarder: %v", err)
174+
}
175+
}
176+
177+
return nil
178+
}

0 commit comments

Comments
 (0)