1
0
mirror of https://github.com/rancher/os.git synced 2025-08-08 10:08:04 +00:00

Merge pull request #1743 from rancher/v0.8.x

fix downgrade from 0.8/0.9 to 0.7, and back again
This commit is contained in:
Sven Dowideit 2017-04-01 21:52:32 +10:00 committed by GitHub
commit 1356e609b3
3 changed files with 18 additions and 5 deletions

View File

@ -838,10 +838,22 @@ func upgradeBootloader(device, baseName, bootDir, diskType string) error {
return err return err
} }
backupSyslinuxDir := filepath.Join(baseName, bootDir+"syslinux_backup") backupSyslinuxDir := filepath.Join(baseName, bootDir+"syslinux_backup")
if _, err := os.Stat(backupSyslinuxDir); !os.IsNotExist(err) {
backupSyslinuxLdlinuxSys := filepath.Join(backupSyslinuxDir, "ldlinux.sys")
if _, err := os.Stat(backupSyslinuxLdlinuxSys); !os.IsNotExist(err) {
//need a privileged container that can chattr -i ldlinux.sys
cmd := exec.Command("chattr", "-i", backupSyslinuxLdlinuxSys)
if err := cmd.Run(); err != nil {
log.Errorf("%s", err)
return err
}
}
if err := os.RemoveAll(backupSyslinuxDir); err != nil { if err := os.RemoveAll(backupSyslinuxDir); err != nil {
log.Errorf("RemoveAll (%s): %s", backupSyslinuxDir, err) log.Errorf("RemoveAll (%s): %s", backupSyslinuxDir, err)
return err return err
} }
}
if err := os.Rename(grubDir, grubBackup); err != nil { if err := os.Rename(grubDir, grubBackup); err != nil {
log.Errorf("Rename(%s): %s", grubDir, err) log.Errorf("Rename(%s): %s", grubDir, err)

View File

@ -201,7 +201,7 @@ func osVersion(c *cli.Context) error {
func startUpgradeContainer(image string, stage, force, reboot, kexec bool, upgradeConsole bool, kernelArgs string) error { func startUpgradeContainer(image string, stage, force, reboot, kexec bool, upgradeConsole bool, kernelArgs string) error {
command := []string{ command := []string{
"-t", "upgrade", "-t", "rancher-upgrade",
"-r", config.Version, "-r", config.Version,
} }

View File

@ -8,7 +8,8 @@ ENV KERNEL_VERSION=${KERNEL_VERSION}
# not installed atm udev, grub2, kexe-tools # not installed atm udev, grub2, kexe-tools
# parted: partprobe, e2fsprogs: mkfs.ext4, syslinux: extlinux&syslinux # parted: partprobe, e2fsprogs: mkfs.ext4, syslinux: extlinux&syslinux
RUN apk --no-cache add syslinux parted e2fsprogs util-linux # e2fsprogs-extra: chattr
RUN apk --no-cache add syslinux parted e2fsprogs e2fsprogs-extra util-linux
COPY conf /scripts/ COPY conf /scripts/
COPY ./build/ros /bin/ COPY ./build/ros /bin/