Difference between revisions of "stoney cloud: Upgrade"
[unchecked revision] | [checked revision] |
(→Update) |
(→Basic Testing Steps) |
||
(21 intermediate revisions by 3 users not shown) | |||
Line 36: | Line 36: | ||
<source lang='bash'> | <source lang='bash'> | ||
+ | emerge --sync | ||
+ | |||
emerge -eK world -va | emerge -eK world -va | ||
Line 63: | Line 65: | ||
</source> | </source> | ||
− | * If the cleanup fails stating that <code>Locale-gettext</code> depends on some version of perl, reinstall that package manually once and try again: | + | * If the cleanup fails stating that <code>Locale-gettext</code> and <code>dev-libs/boost</code> depends on some version of perl, reinstall that package manually once and try again: |
<source lang='bash'> | <source lang='bash'> | ||
− | emerge - | + | emerge -1Kva dev-libs/boost Locale-gettext |
# same for autoconf-/automake-wrapper if host was used to build stuff: | # same for autoconf-/automake-wrapper if host was used to build stuff: | ||
Line 77: | Line 79: | ||
</source> | </source> | ||
+ | ==== Emulator ==== | ||
+ | * u=devices,sstVirtualMachine=*,ou=virtual machines,ou=virtualization,ou=services,o=stepping-stone,c=ch | ||
+ | |||
+ | Change | ||
+ | <pre> | ||
+ | sstEmulator: /usr/bin/qemu-kvm | ||
+ | </pre> | ||
+ | to | ||
+ | <pre> | ||
+ | sstEmulator: /usr/bin/qemu-system-x86_64 | ||
+ | </pre> | ||
+ | |||
+ | ==== Source Port ==== | ||
+ | * sstDisk=vda,ou=devices,sstVirtualMachine=*,ou=virtual machines,ou=virtualization,ou=services,dc=stoney-cloud,dc=org | ||
+ | * sstDisk=vdb,ou=devices,sstVirtualMachine=*,ou=virtual machines,ou=virtualization,ou=services,dc=stoney-cloud,dc=org | ||
+ | |||
+ | Add | ||
+ | <pre> | ||
+ | sstSourcePort: 24007 | ||
+ | </pre> | ||
+ | |||
+ | ==== Firewall / Subversion ==== | ||
+ | If you are using our firewall scripts (libvirt-hooks based), you'll also have to upgrade subversion (on all the stoney cloud nodes): | ||
+ | <source lang='bash'> | ||
+ | cd /usr/local/scripts/netfilter/local/chains/vms | ||
+ | svn upgrade | ||
+ | cd /usr/local/scripts/netfilter/local/chains/$(hostname -s) | ||
+ | svn upgrade | ||
+ | </source> | ||
=== Regular Update === | === Regular Update === | ||
Line 168: | Line 199: | ||
chown apache:vm-storage foss-cloud-installer-${version}.iso | chown apache:vm-storage foss-cloud-installer-${version}.iso | ||
chmod 644 foss-cloud-installer-${version}.iso | chmod 644 foss-cloud-installer-${version}.iso | ||
+ | </source> | ||
+ | |||
+ | Get the [http://www.sysresccd.org/SystemRescueCd_Homepage SystemRescueCd] ISO: | ||
+ | <source lang='bash'> | ||
+ | version=4.5.1 # SystemRescueCd version | ||
+ | sha256="4fda2fce55a46c7b258fba10c88a4a337821c8b801a8cd3c344cc223a9c4436d" # SHA256 checksum of the ISO | ||
+ | isoFile="systemrescuecd-x86-${version}.iso" | ||
+ | |||
+ | cd /var/virtualization/iso-choosable/ | ||
+ | |||
+ | wget http://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/${version}/${isoFile} | ||
+ | |||
+ | # Check that the file was downloaded correctly | ||
+ | echo "${sha256} ${isoFile}" | sha256sum -c - | ||
+ | |||
+ | chown apache:vm-storage ${isoFile} | ||
+ | chmod 644 ${isoFile} | ||
</source> | </source> | ||
Get a Fedora ISO image: | Get a Fedora ISO image: | ||
<source lang='bash'> | <source lang='bash'> | ||
+ | version=21 # Fedora version | ||
+ | |||
cd /var/virtualization/iso-choosable/ | cd /var/virtualization/iso-choosable/ | ||
− | wget http:// | + | wget http://mirror.switch.ch/ftp/mirror/fedora/linux/releases/${version}/Server/x86_64/iso/Fedora-Server-netinst-x86_64-${version}.iso |
− | chown apache:vm-storage Fedora- | + | chown apache:vm-storage Fedora-Server-netinst-x86_64-${version}.iso |
− | chmod 644 Fedora- | + | chmod 644 Fedora-Server-netinst-x86_64-${version}.iso |
</source> | </source> | ||
Line 188: | Line 238: | ||
Get your debian image: | Get your debian image: | ||
<source lang='bash'> | <source lang='bash'> | ||
− | version= | + | version=8.0.0 # Debian version |
cd /var/virtualization/iso-choosable/ | cd /var/virtualization/iso-choosable/ | ||
Line 205: | Line 255: | ||
chmod 644 ubuntu-${version}-desktop-amd64.iso | chmod 644 ubuntu-${version}-desktop-amd64.iso | ||
</source> | </source> | ||
− | |||
Get your ubuntu server image: | Get your ubuntu server image: | ||
Line 216: | Line 265: | ||
chmod 644 ubuntu-${version}-server-amd64.iso | chmod 644 ubuntu-${version}-server-amd64.iso | ||
</source> | </source> | ||
+ | |||
+ | Get a Windows 2012 Server R2 ISO image: | ||
+ | <source lang='bash'> | ||
+ | cd /var/virtualization/iso-choosable/ | ||
+ | wget http://care.dlservice.microsoft.com/dl/download/6/2/A/62A76ABB-9990-4EFC-A4FE-C7D698DAEB96/9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_SERVER_EVAL_EN-US-IR3_SSS_X64FREE_EN-US_DV9.ISO -O windows_server_2012_r2_64bit_en.iso | ||
+ | chown apache:vm-storage windows_server_2012_r2_64bit_en.iso | ||
+ | chmod 644 windows_server_2012_r2_64bit_en.iso | ||
+ | </source> | ||
+ | |||
+ | If you need the newest Windows Drivers ISO image, visit https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/ | ||
Set three network ranges under https://192.168.140.10/vm-manager/subnet/index.html | Set three network ranges under https://192.168.140.10/vm-manager/subnet/index.html |
Latest revision as of 10:03, 11 August 2017
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 --sync 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
anddev-libs/boost
depends on some version of perl, reinstall that package manually once and try again:
emerge -1Kva dev-libs/boost 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
Emulator
- u=devices,sstVirtualMachine=*,ou=virtual machines,ou=virtualization,ou=services,o=stepping-stone,c=ch
Change
sstEmulator: /usr/bin/qemu-kvm
to
sstEmulator: /usr/bin/qemu-system-x86_64
Source Port
- sstDisk=vda,ou=devices,sstVirtualMachine=*,ou=virtual machines,ou=virtualization,ou=services,dc=stoney-cloud,dc=org
- sstDisk=vdb,ou=devices,sstVirtualMachine=*,ou=virtual machines,ou=virtualization,ou=services,dc=stoney-cloud,dc=org
Add
sstSourcePort: 24007
Firewall / Subversion
If you are using our firewall scripts (libvirt-hooks based), you'll also have to upgrade subversion (on all the stoney cloud nodes):
cd /usr/local/scripts/netfilter/local/chains/vms svn upgrade cd /usr/local/scripts/netfilter/local/chains/$(hostname -s) svn upgrade
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 the SystemRescueCd ISO:
version=4.5.1 # SystemRescueCd version sha256="4fda2fce55a46c7b258fba10c88a4a337821c8b801a8cd3c344cc223a9c4436d" # SHA256 checksum of the ISO isoFile="systemrescuecd-x86-${version}.iso" cd /var/virtualization/iso-choosable/ wget http://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/${version}/${isoFile} # Check that the file was downloaded correctly echo "${sha256} ${isoFile}" | sha256sum -c - chown apache:vm-storage ${isoFile} chmod 644 ${isoFile}
Get a Fedora ISO image:
version=21 # Fedora version cd /var/virtualization/iso-choosable/ wget http://mirror.switch.ch/ftp/mirror/fedora/linux/releases/${version}/Server/x86_64/iso/Fedora-Server-netinst-x86_64-${version}.iso chown apache:vm-storage Fedora-Server-netinst-x86_64-${version}.iso chmod 644 Fedora-Server-netinst-x86_64-${version}.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=8.0.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
Get a Windows 2012 Server R2 ISO image:
cd /var/virtualization/iso-choosable/ wget http://care.dlservice.microsoft.com/dl/download/6/2/A/62A76ABB-9990-4EFC-A4FE-C7D698DAEB96/9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_SERVER_EVAL_EN-US-IR3_SSS_X64FREE_EN-US_DV9.ISO -O windows_server_2012_r2_64bit_en.iso chown apache:vm-storage windows_server_2012_r2_64bit_en.iso chmod 644 windows_server_2012_r2_64bit_en.iso
If you need the newest Windows Drivers ISO image, visit https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/
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.