Skip to content

Commit 5d573cd

Browse files
author
Jeff McCormick
committed
add scaledown error message and receive replay info back to CLI output
1 parent 0a5c8ec commit 5d573cd

File tree

2 files changed

+23
-9
lines changed

2 files changed

+23
-9
lines changed

apiserver/clusterservice/scaleimpl.go

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ limitations under the License.
1616
*/
1717

1818
import (
19+
"fmt"
1920
log "github.com/Sirupsen/logrus"
2021
crv1 "github.com/crunchydata/postgres-operator/apis/cr/v1"
2122
"github.com/crunchydata/postgres-operator/apiserver"
@@ -243,6 +244,9 @@ func ScaleQuery(name string) msgs.ScaleQueryResponse {
243244
//get the pod status
244245
target.ReadyStatus, target.Node = apiserver.GetPodStatus(dep.Name)
245246
//get the rep status
247+
receiveLocation, replayLocation := util.GetRepStatus(apiserver.RESTClient, apiserver.Clientset, &dep, apiserver.Namespace)
248+
249+
target.RepStatus = fmt.Sprintf("receive %d replay %d", receiveLocation, replayLocation)
246250
response.Targets = append(response.Targets, target)
247251
}
248252

@@ -293,6 +297,20 @@ func ScaleDown(deleteData bool, clusterName, replicaName string) msgs.ScaleDownR
293297
return response
294298
}
295299

300+
//validate the replica name that was passed
301+
replica := crv1.Pgreplica{}
302+
found, err := kubeapi.Getpgreplica(apiserver.RESTClient, &replica, replicaName, apiserver.Namespace)
303+
if !found || err != nil {
304+
log.Error(err)
305+
response.Status.Code = msgs.Error
306+
if !found {
307+
response.Status.Msg = replicaName + " replica not found"
308+
} else {
309+
response.Status.Msg = err.Error()
310+
}
311+
return response
312+
}
313+
296314
if len(replicaList.Items) == 1 {
297315
log.Debug("removing replica service when scaling down to 0 replicas")
298316
err = kubeapi.DeleteService(apiserver.Clientset, clusterName+"-replica", apiserver.Namespace)
@@ -303,14 +321,6 @@ func ScaleDown(deleteData bool, clusterName, replicaName string) msgs.ScaleDownR
303321
}
304322
}
305323

306-
replica := crv1.Pgreplica{}
307-
found, err := kubeapi.Getpgreplica(apiserver.RESTClient, &replica, replicaName, apiserver.Namespace)
308-
if !found || err != nil {
309-
response.Status.Code = msgs.Error
310-
response.Status.Msg = err.Error()
311-
return response
312-
}
313-
314324
err = kubeapi.Deletepgreplica(apiserver.RESTClient, replicaName, apiserver.Namespace)
315325
if err != nil {
316326
response.Status.Code = msgs.Error

pgo/cmd/scaledown.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ var scaledownCmd = &cobra.Command{
4444
if Query {
4545
queryCluster(args)
4646
} else {
47+
if Target == "" {
48+
fmt.Println(`Error: You must specify --target`)
49+
os.Exit(2)
50+
}
4751
if util.AskForConfirmation(NoPrompt, "") {
4852
} else {
4953
fmt.Println("Aborting...")
@@ -113,5 +117,5 @@ func scaleDownCluster(clusterName string) {
113117
}
114118

115119
func printScaleTarget(target msgs.ScaleQueryTargetSpec) {
116-
fmt.Printf("\t%s (%s) (%s)\n", target.Name, target.ReadyStatus, target.Node)
120+
fmt.Printf("\t%s (%s) (%s) (%s)\n", target.Name, target.ReadyStatus, target.Node, target.RepStatus)
117121
}

0 commit comments

Comments
 (0)