@@ -249,7 +249,7 @@ func createUpgrade(args []string) {
249249 }
250250
251251 // Create an instance of our CRD
252- newInstance , err = getUpgradeParams (arg )
252+ newInstance , err = getUpgradeParams (arg , cl . Spec . CCPImageTag )
253253 if err == nil {
254254 err = RestClient .Post ().
255255 Resource (crv1 .PgupgradeResourcePlural ).
@@ -305,10 +305,10 @@ func deleteUpgrade(args []string) {
305305
306306}
307307
308- func getUpgradeParams (name string ) (* crv1.Pgupgrade , error ) {
308+ func getUpgradeParams (name , currentImageTag string ) (* crv1.Pgupgrade , error ) {
309309
310310 var err error
311- var existingImage string
311+ var existingImage , strRep string
312312 var existingMajorVersion float64
313313
314314 spec := crv1.PgupgradeSpec {
@@ -317,14 +317,17 @@ func getUpgradeParams(name string) (*crv1.Pgupgrade, error) {
317317 UpgradeType : UpgradeType ,
318318 CCPImageTag : viper .GetString ("Cluster.CCPImageTag" ),
319319 StorageSpec : crv1.PgStorageSpec {},
320- OldDatabaseName : "basic " ,
321- NewDatabaseName : "primary " ,
322- OldVersion : "9.5 " ,
323- NewVersion : "9.6 " ,
320+ OldDatabaseName : "?? " ,
321+ NewDatabaseName : "?? " ,
322+ OldVersion : "?? " ,
323+ NewVersion : "?? " ,
324324 OldPVCName : viper .GetString ("PrimaryStorage.Name" ),
325325 NewPVCName : viper .GetString ("PrimaryStorage.Name" ),
326326 }
327327
328+ _ , strRep = parseMajorVersion (currentImageTag )
329+ spec .OldVersion = strRep
330+
328331 spec .StorageSpec .AccessMode = viper .GetString ("PrimaryStorage.AccessMode" )
329332 spec .StorageSpec .Size = viper .GetString ("PrimaryStorage.Size" )
330333
@@ -348,7 +351,7 @@ func getUpgradeParams(name string) (*crv1.Pgupgrade, error) {
348351 spec .NewPVCName = cluster .Spec .PrimaryStorage .Name + "-upgrade"
349352 spec .BackupPVCName = cluster .Spec .BackupPVCName
350353 existingImage = cluster .Spec .CCPImageTag
351- existingMajorVersion = parseMajorVersion (cluster .Spec .CCPImageTag )
354+ existingMajorVersion , strRep = parseMajorVersion (cluster .Spec .CCPImageTag )
352355 } else if kerrors .IsNotFound (err ) {
353356 log .Debug (name + " is not a cluster" )
354357 return nil , err
@@ -367,14 +370,14 @@ func getUpgradeParams(name string) (*crv1.Pgupgrade, error) {
367370
368371 return nil , errors .New ("invalid image tag" )
369372 }
370- requestedMajorVersion = parseMajorVersion (CCPImageTag )
373+ requestedMajorVersion , strRep = parseMajorVersion (CCPImageTag )
371374 } else if viper .GetString ("Cluster.CCPImageTag" ) == existingImage {
372375 log .Error ("CCPImageTag is the same as the cluster" )
373376 log .Error ("can't upgrade to the same image version" )
374377
375378 return nil , errors .New ("invalid image tag" )
376379 } else {
377- requestedMajorVersion = parseMajorVersion (viper .GetString ("Cluster.CCPImageTag" ))
380+ requestedMajorVersion , strRep = parseMajorVersion (viper .GetString ("Cluster.CCPImageTag" ))
378381 }
379382
380383 if UpgradeType == MajorUpgrade {
@@ -393,6 +396,8 @@ func getUpgradeParams(name string) (*crv1.Pgupgrade, error) {
393396 }
394397 }
395398
399+ spec .NewVersion = strRep
400+
396401 newInstance := & crv1.Pgupgrade {
397402 ObjectMeta : meta_v1.ObjectMeta {
398403 Name : name ,
@@ -402,7 +407,8 @@ func getUpgradeParams(name string) (*crv1.Pgupgrade, error) {
402407 return newInstance , err
403408}
404409
405- func parseMajorVersion (st string ) float64 {
410+ // parseMajorVersion returns a numeric and string representation
411+ func parseMajorVersion (st string ) (float64 , string ) {
406412 parts := strings .Split (st , separator )
407413 //OS = parts[0]
408414 //PGVERSION = parts[1]
@@ -419,17 +425,21 @@ func parseMajorVersion(st string) float64 {
419425 os .Exit (2 )
420426 }
421427
428+ var strRep string
429+
422430 first := strings .Split (fullversion , "." )
423431 if first [0 ] == "10" {
424432 log .Debug ("version 10 " )
425433 numericVersion = + numericVersion * 10
434+ strRep = fullversionparts [0 ]
426435 } else {
427436 log .Debug ("assuming version 9" )
428437 numericVersion , err = strconv .ParseFloat (fullversionparts [0 ]+ fullversionparts [1 ], 64 )
438+ strRep = fullversionparts [0 ] + "." + fullversionparts [1 ]
429439 }
430440
431441 log .Debugf ("parseMajorVersion is %f\n " , numericVersion )
432442
433- return numericVersion
443+ return numericVersion , strRep
434444
435445}
0 commit comments