Skip to content

Commit 340fe5b

Browse files
author
Jeff McCormick
committed
fix upgrade related things
1 parent 82b305d commit 340fe5b

File tree

1 file changed

+22
-12
lines changed

1 file changed

+22
-12
lines changed

pgo/cmd/upgrade.go

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)