stoney cloud: Upgrade
Contents
Overview
This guide explains, what you need to do during the installation of your Multi-Node Installation.
Prepare your stoney cloud installation for the update
<= 1.2.10.3
If you have a productive (releases) stoney cloud Installation, execute the following command:
echo 'PORTAGE_BINHOST="http://packages.stoney-cloud.org/stoney-cloud/releases/1.2/packages"' >> /etc/portage/make.conf
If you have a test (pre-releases) stoney cloud Installation instead, execute the following command:
echo 'PORTAGE_BINHOST="http://packages.stoney-cloud.org/stoney-cloud/pre-releases/1.2/packages"' >> /etc/portage/make.conf
IMPORTANT: Even a pre-release ISO may result in a stable installation, depending on when it was generated in the release cycle. Please verify by executing git branch
in /usr/portage
and /var/lib/layman/foss-cloud
whether this is the case, and switch to the testing branch if needed (that is: if the branch displayed does not contain the words pre
or testing
. If the branch is empty, that means you have a brand new installation without anything yet. In that case, directly check the configuration files /usr/portage/.git/config
and/or /var/lib/layman/foss-cloud/.git/config
to see which branch it would check out upon emerge --sync
and from where.).
>= 1.2.10.4
Execute the following command to register the binary package mirror (since for now there will be only pre-releases, but with better quality than FOSS-Cloud releases):
echo 'PORTAGE_BINHOST="http://packages.stoney-cloud.org/stoney-cloud/pre-releases/1.2/packages"' >> /etc/portage/make.conf # Disable the SYNC from rsync since newer portage versions otherwise won't accept a portage tree via git sed -i -e 's|^SYNC|#SYNC|' /etc/portage/make.conf
Update
Updating from 1.2.10.7 or earlier to 1.2.10.8_rc4 or newer
A complete rebuild of all packages was required, therefore the update guide is different:
emerge -eK world -va # sst-libvirt-hooks is not part of the stoney-cloud anymore since it requires further configuration # make sure that it still gets updated and not removed later, if you have it installed and enabled emerge -K app-emulation/sst-libvirt-hooks dispatch-conf # Switch runtime switchable options eselect python set python3.3 eselect php set cli php5.5 eselect php set apache2 php5.5 gcc-config x86_64-pc-linux-gnu-4.7.3
During the dispatch-conf the following may appear:
- /etc/libvirt/libvirt.conf: you may get the suggestion to remove almost all content. Quit dispatch-conf and do:
rm /etc/libvirt/._mrg*
and start dispatch-conf again. - /etc/libvirt/libvirt.conf: merge all whitespace/comment changes but make sure you don't overwrite the
listen_addr
- /etc/portage/make.conf: merge all changes beside the
PORTAGE_BINHOST
- /var/www/localhost/htdocs/vm-manager/vm_config.php: merge the versions, newly added lines and comments. Avoid changes on sstSourceHostName array
To make sure everything works, reboot and then cleanup:
emerge --depclean -va
- If the cleanup fails stating that
Locale-gettext
depends on some version of perl, reinstall that package manually once and try again:
emerge -1K Locale-gettext # same for autoconf-/automake-wrapper if host was used to build stuff: emerge -1K sys-devel/autoconf-wrapper sys-devel/automake-wrapper
- WARNING: this also removes the current kernel. If you want to play it safe, reboot first, then depclean, then reboot again
- Rebuilde separately installed perl modules and remove traces of the old perl version:
perl-cleaner --all -- -va rm -rf /usr/lib64/perl5/{vendor_perl,}/5.12.4
Regular Update
Makes sure, your local portage tree is updated:
emerge --sync
Now you can make sure, that you've got the current stoney cloud version installed:
emerge -KuDva virtual/foss-cloud
Local copy of remote index is up-to-date and will be used. These are the packages that would be merged, in order: Calculating dependencies... done! Total: 0 packages, Size of downloads: 0 kB * virtual/foss-cloud-1.2.10.4 Would you like to add these packages to your world favorites? [Yes/No] '''no'''
If you have updated you stoney cloud, you might want to sanely update your configuration files after emerging new packages (including updates):
dispatch-conf
Installing Software Examples
Per default, the stoney cloud expects you to install binary packages. So if you don't pass any special parameters to the emerge command, the binary package (if it exists) will be used.
Binary Package
Per default, the stoney cloud expects you to install binary packages, which can be seen with [binary R ] output.
emerge -va git
These are the packages that would be merged, in order: Calculating dependencies... done! [binary R ] dev-vcs/git-1.7.12.4 USE="blksha1 curl iconv nls pcre perl threads webdav -cgi -cvs -doc -emacs -gpg -gtk -highlight (-ppcsha1) -python -subversion {-test} -tk -xinetd" 5,295 kB Total: 1 package (1 reinstall, 1 binary), Size of downloads: 5,295 kB Would you like to merge these packages? [Yes/No] no Quitting.
Force Non-Binary Package
If you force a non-binary package, the output will be in the form of [ebuild R ].
FEATURES="-getbinpkg" emerge -va git
These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] app-arch/cpio-2.11 USE="nls" 995 kB [ebuild R ] dev-vcs/git-1.7.12.4 USE="blksha1 curl iconv nls pcre perl threads webdav -cgi -cvs -doc -emacs -gpg -gtk -highlight (-ppcsha1) -python -subversion {-test} -tk -xinetd" 4,523 kB Total: 2 packages (1 new, 1 reinstall), Size of downloads: 5,518 kB Would you like to merge these packages? [Yes/No]
No Binary Package Exists
The following example shows you a package with no existing binary package, therefore the package must be compiled on the fly, shown with [ebuild N ].
emerge -va htop
Local copy of remote index is up-to-date and will be used. These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] sys-process/htop-1.0.2 USE="unicode -openvz -vserver" 380 kB Total: 1 package (1 new), Size of downloads: 380 kB Would you like to merge these packages? [Yes/No]
Multi-Node Installation
Follow the Specialized Installation Guide.
Basic Testing Steps
Get your stoney cloud image:
version=1.2.10.7 # stoney cloud version cd /var/virtualization/iso-choosable/ wget http://packages.stoney-cloud.org/stoney-cloud/pre-releases/1.2/iso/foss-cloud-installer-${version}.iso chown apache:vm-storage foss-cloud-installer-${version}.iso chmod 644 foss-cloud-installer-${version}.iso
Get a Fedora ISO image:
cd /var/virtualization/iso-choosable/ wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/x86_64/iso/Fedora-20-x86_64-netinst.iso chown apache:vm-storage Fedora-20-x86_64-netinst.iso chmod 644 Fedora-20-x86_64-netinst.iso
Lernstick (Test):
cd /var/virtualization/iso-choosable/ wget http://www.imedias.ch/dateien/lernstick-testversion/lernstick_debian7_2013-12-12.iso chown apache:vm-storage lernstick_debian7_2013-12-12.iso chmod 644 lernstick_debian7_2013-12-12.iso
Get your debian image:
version=7.4.0 # debian version cd /var/virtualization/iso-choosable/ wget http://cdimage.debian.org/debian-cd/${version}/amd64/iso-cd/debian-${version}-amd64-netinst.iso chown apache:vm-storage debian-${version}-amd64-netinst.iso chmod 644 debian-${version}-amd64-netinst.iso
Get your ubuntu desktop image:
version=14.04 # ubuntu version cd /var/virtualization/iso-choosable/ wget http://mirror.switch.ch/ftp/mirror/ubuntu-cdimage/${version}/ubuntu-${version}-desktop-amd64.iso chown apache:vm-storage ubuntu-${version}-desktop-amd64.iso chmod 644 ubuntu-${version}-desktop-amd64.iso
Get your ubuntu server image:
version=14.04 # ubuntu version cd /var/virtualization/iso-choosable/ wget http://mirror.switch.ch/ftp/mirror/ubuntu-cdimage/${version}/ubuntu-${version}-server-amd64.iso chown apache:vm-storage ubuntu-${version}-server-amd64.iso chmod 644 ubuntu-${version}-server-amd64.iso
Set three network ranges under https://192.168.140.10/vm-manager/subnet/index.html
192.168.140.64 26 Template Range template
192.168.140.128 26 Persistent Range persistent
192.168.140.192 26 Dynamic Range dynamic
Add the three newly creates network ranges to the VM-Pools under https://192.168.140.10/vm-manager/vmPool/index.html
Create a Virtual Machine Profile under https://192.168.140.10/vm-manager/vmProfile/create.html
Create a Virtual Machine Template under https://192.168.140.10/vm-manager/vmTemplate/create.html and install a basic operating system.
Create a persistent Virtual Machine from the newly created Virtual Machine Template.
Known Issues
None.