From 145c10ec3f88fb27350f0843231714e49276d0ac Mon Sep 17 00:00:00 2001 From: Joe Brockmeier Date: Sun, 23 Jun 2013 13:17:31 -0500 Subject: [PATCH 1/9] CLOUDSTACK-2679: Install docs could point to more accurate XenServer download page --- docs/en-US/citrix-xenserver-installation.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/en-US/citrix-xenserver-installation.xml b/docs/en-US/citrix-xenserver-installation.xml index a5118d751d4..9ea632accca 100644 --- a/docs/en-US/citrix-xenserver-installation.xml +++ b/docs/en-US/citrix-xenserver-installation.xml @@ -103,7 +103,10 @@ >https://www.citrix.com/English/ss/downloads/, download the appropriate version of XenServer for your &PRODUCT; version (see ). Install it using the Citrix XenServer - Installation Guide. + Installation Guide. + Older Versions of XenServer + Note that you can download the most recent release of XenServer without having a Citrix account. If you wish to download older versions, you will need to create an account and look through the download archives. + After installation, perform the following configuration steps, which are described in From 2e06da552c9561c0ec8612d47b39e66b78bf1cb3 Mon Sep 17 00:00:00 2001 From: Sebastien Goasguen Date: Wed, 17 Apr 2013 12:24:52 -0400 Subject: [PATCH 2/9] CLOUDSTACK-1999: Fix cloud/cloudstack due to new packaging --- docs/en-US/about-password-encryption.xml | 2 +- docs/en-US/management-server-install-db-external.xml | 2 +- docs/en-US/management-server-install-db-local.xml | 4 ++-- docs/en-US/management-server-install-multi-node.xml | 4 ++-- docs/en-US/region-add.xml | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/en-US/about-password-encryption.xml b/docs/en-US/about-password-encryption.xml index 6c11c579ed2..a13ff60fc95 100644 --- a/docs/en-US/about-password-encryption.xml +++ b/docs/en-US/about-password-encryption.xml @@ -60,6 +60,6 @@ over a known port. The encryption type, database secret key, and Management Server secret key are set during &PRODUCT; installation. They are all parameters to the &PRODUCT; database setup script - (cloud-setup-databases). The default values are file, password, and password. It is, of course, + (cloudstack-setup-databases). The default values are file, password, and password. It is, of course, highly recommended that you change these to more secure keys. diff --git a/docs/en-US/management-server-install-db-external.xml b/docs/en-US/management-server-install-db-external.xml index a28dee56934..29507209fbf 100644 --- a/docs/en-US/management-server-install-db-external.xml +++ b/docs/en-US/management-server-install-db-external.xml @@ -132,7 +132,7 @@ bind-address = 0.0.0.0 server node IP. If not specified, the local IP address will be used. - cloud-setup-databases cloud:<dbpassword>@<ip address mysql server> \ + cloudstack-setup-databases cloud:<dbpassword>@<ip address mysql server> \ --deploy-as=root:<password> \ -e <encryption_type> \ -m <management_server_key> \ diff --git a/docs/en-US/management-server-install-db-local.xml b/docs/en-US/management-server-install-db-local.xml index 310327fcc75..ff5ab60b91f 100644 --- a/docs/en-US/management-server-install-db-local.xml +++ b/docs/en-US/management-server-install-db-local.xml @@ -135,7 +135,7 @@ binlog-format = 'ROW' server node IP. If not specified, the local IP address will be used. - cloud-setup-databases cloud:<dbpassword>@localhost \ + cloudstack-setup-databases cloud:<dbpassword>@localhost \ --deploy-as=root:<password> \ -e <encryption_type> \ -m <management_server_key> \ @@ -160,7 +160,7 @@ binlog-format = 'ROW' Now that the database is set up, you can finish configuring the OS for the Management Server. This command will set up iptables, sudoers, and start the Management Server. - # cloud-setup-management + # cloudstack-setup-management You should see the message “&PRODUCT; Management Server setup is done.” diff --git a/docs/en-US/management-server-install-multi-node.xml b/docs/en-US/management-server-install-multi-node.xml index 21cf28fc719..ae925bf8447 100644 --- a/docs/en-US/management-server-install-multi-node.xml +++ b/docs/en-US/management-server-install-multi-node.xml @@ -53,12 +53,12 @@ linkend="sect-source-buildrpm"/> or as Configure the database client. Note the absence of the --deploy-as argument in this case. (For more details about the arguments to this command, see .) - # cloud-setup-databases cloud:dbpassword@dbhost -e encryption_type -m management_server_key -k database_key -i management_server_ip + # cloudstack-setup-databases cloud:dbpassword@dbhost -e encryption_type -m management_server_key -k database_key -i management_server_ip Configure the OS and start the Management Server: - # cloud-setup-management + # cloudstack-setup-management The Management Server on this node should now be running. diff --git a/docs/en-US/region-add.xml b/docs/en-US/region-add.xml index 960777c0a2e..802e462ce16 100644 --- a/docs/en-US/region-add.xml +++ b/docs/en-US/region-add.xml @@ -45,7 +45,7 @@ the additional command-line flag -r <region_id> to set a region ID for the new region. The default region is automatically assigned a region ID of 1, so your first additional region might be region 2. - cloud-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id> + cloudstack-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id> By the end of the installation procedure, the Management Server should have been started. Be sure that the Management Server installation was successful and complete. Add region 2 to region 1. Use the API command addRegion. (For information about how to make an API call, see the Developer's Guide.) @@ -82,7 +82,7 @@ However, you must repeat certain steps additional times for each additional region: Install &PRODUCT; in each additional region. Set the region ID for each region during the database setup step. - cloud-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id> + cloudstack-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id> Once the Management Server is running, add your new region to all existing regions by repeatedly calling the API command addRegion. For example, if you were adding region 3: @@ -125,4 +125,4 @@ http://<IP_of_region_3_Management_Server>:8080/client/api?command=addRegio http://<IP_of_region_2_Management_Server>:8080/client/api?command=removeRegion&id=3&apiKey=miVr6X7u6bN_sdahOBpjNejPgEsT35eXq-jB8CG20YI3yaxXcgpyuaIRmFI_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D - \ No newline at end of file + From 2a8297bee5417a76fbe87dd0361dbfecdeb76022 Mon Sep 17 00:00:00 2001 From: Joe Brockmeier Date: Sun, 23 Jun 2013 14:05:19 -0500 Subject: [PATCH 3/9] Adding instructions for restarting MySQL on Debian/Ubuntu systems, since the name of the service differs. Found during Hack Day. --- docs/en-US/database-replication.xml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/en-US/database-replication.xml b/docs/en-US/database-replication.xml index bb144579ddf..8ca80713732 100644 --- a/docs/en-US/database-replication.xml +++ b/docs/en-US/database-replication.xml @@ -37,10 +37,14 @@ server_id=1 The server_id must be unique with respect to other servers. The recommended way to achieve this is to give the master an ID of 1 and each slave a sequential number greater than 1, so that the servers are numbered 1, 2, 3, etc. - Restart the MySQL service: + Restart the MySQL service. On RHEL/CentOS systems, use: # service mysqld restart + On Debian/Ubuntu systems, use: + +# service mysql restart + Create a replication account on the master and give it privileges. We will use the "cloud-repl" user with the password "password". This assumes that master and slave run on the 172.16.1.0/24 network. @@ -90,10 +94,14 @@ innodb_lock_wait_timeout=600 - Restart MySQL. + Restart MySQL. Use "mysqld" on RHEL/CentOS systems: # service mysqld restart + On Ubuntu/Debian systems use "mysql." + +# service mysql restart + Instruct the slave to connect to and replicate from the master. Replace the IP address, password, log file, and position with the values you have used in the previous steps. From 84ecc11841c73bc5442d00f68f00334e11cba7f6 Mon Sep 17 00:00:00 2001 From: Joe Brockmeier Date: Sun, 23 Jun 2013 14:14:19 -0500 Subject: [PATCH 4/9] Removing a redundant step (stop service twice in upgrade 4.0 to 4.1). Hack Day. --- docs/en-US/Release_Notes.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/docs/en-US/Release_Notes.xml b/docs/en-US/Release_Notes.xml index 8843f4c2e20..4a27cd22579 100644 --- a/docs/en-US/Release_Notes.xml +++ b/docs/en-US/Release_Notes.xml @@ -4641,11 +4641,6 @@ under the License. You'll be prompted for your password. # mysqldump -u root -p cloud > cloudstack-backup.sql - - Whether you're upgrading a Red Hat/CentOS based system or Ubuntu based system, - you're going to need to stop the CloudStack management server before proceeding. - # service cloud-management stop - If you have made changes to /etc/cloud/management/components.xml, you'll need to carry these From 0015ac8bd32a1b7042427811e8e3f8fb33a8e5e8 Mon Sep 17 00:00:00 2001 From: Joe Brockmeier Date: Sun, 23 Jun 2013 16:17:42 -0500 Subject: [PATCH 5/9] More edits to release notes. --- docs/en-US/Release_Notes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en-US/Release_Notes.xml b/docs/en-US/Release_Notes.xml index 4a27cd22579..a4fcd471692 100644 --- a/docs/en-US/Release_Notes.xml +++ b/docs/en-US/Release_Notes.xml @@ -5593,7 +5593,7 @@ service cloudstack-agent start $ sudo apt-get install cloudstack-management - You will need to manually install the cloudstack-agent + On KVM hosts, you will need to manually install the cloudstack-agent package: $ sudo apt-get install cloudstack-agent During the installation of cloudstack-agent, APT will copy @@ -5616,7 +5616,7 @@ service cloudstack-agent start service cloud-agent stop killall jsvc service cloudstack-agent start - + During the upgrade, log4j-cloud.xml was simply copied over, From bdfce2bc7e349949112876fa21c55b4bd7d6248a Mon Sep 17 00:00:00 2001 From: Hiroaki KAWAI Date: Mon, 24 Jun 2013 11:09:09 +0900 Subject: [PATCH 6/9] Remove unused code The files xt_CHECKSUM.ko, iptables_1.4.8-3local1checksum1_i386 and xe-guest-utilities_5.6.0-595_i386 does not exist in the repo now. --- patches/systemvm/debian/buildsystemvm.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/patches/systemvm/debian/buildsystemvm.sh b/patches/systemvm/debian/buildsystemvm.sh index 5134f89e7c1..d8a6da7c1a2 100755 --- a/patches/systemvm/debian/buildsystemvm.sh +++ b/patches/systemvm/debian/buildsystemvm.sh @@ -477,9 +477,9 @@ scriptdir=$(dirname $PWD/$0) rm -rf /tmp/systemvm mkdir -p /tmp/systemvm -cp ./xt_CHECKSUM.ko /tmp/systemvm -cp ./iptables_1.4.8-3local1checksum1_i386.deb /tmp/systemvm -cp ./xe-guest-utilities_5.6.0-595_i386.deb /tmp/systemvm +#cp ./xt_CHECKSUM.ko /tmp/systemvm +#cp ./iptables_1.4.8-3local1checksum1_i386.deb /tmp/systemvm +#cp ./xe-guest-utilities_5.6.0-595_i386.deb /tmp/systemvm rm -f $IMAGELOC begin=$(date +%s) From 3123fe6bbad5c9e216f52c7fa882db4c2b6b5d91 Mon Sep 17 00:00:00 2001 From: Hiroaki KAWAI Date: Mon, 24 Jun 2013 11:14:16 +0900 Subject: [PATCH 7/9] Add iptables-persistent service in guest OS. cloud-passwd-srvr depends on iptables-persistent. --- patches/systemvm/debian/buildsystemvm.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/patches/systemvm/debian/buildsystemvm.sh b/patches/systemvm/debian/buildsystemvm.sh index d8a6da7c1a2..dac785c7009 100755 --- a/patches/systemvm/debian/buildsystemvm.sh +++ b/patches/systemvm/debian/buildsystemvm.sh @@ -409,7 +409,9 @@ services() { chroot . chkconfig xl2tpd off chroot . chkconfig --add cloud-early-config chroot . chkconfig cloud-early-config on - chroot . chkconfig --add cloud-passwd-srvr + chroot . chkconfig --add iptables-persistent + chroot . chkconfig iptables-persistent off + chroot . chkconfig --force --add cloud-passwd-srvr chroot . chkconfig cloud-passwd-srvr off chroot . chkconfig --add cloud chroot . chkconfig cloud off From 009da930580fba039b4b8a7532a8a6809d00ed02 Mon Sep 17 00:00:00 2001 From: Hiroaki KAWAI Date: Mon, 24 Jun 2013 11:16:40 +0900 Subject: [PATCH 8/9] upgrade debian systemvm to wheezy New kvm libvirt requres virtio-console (/dev/vport*), so upgrading debian guest base OS to wheezy. --- patches/systemvm/debian/buildsystemvm.sh | 27 +++++++++++------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/patches/systemvm/debian/buildsystemvm.sh b/patches/systemvm/debian/buildsystemvm.sh index dac785c7009..c2fe34449f8 100755 --- a/patches/systemvm/debian/buildsystemvm.sh +++ b/patches/systemvm/debian/buildsystemvm.sh @@ -50,8 +50,8 @@ baseimage() { mount -o loop,offset=$offset $IMAGELOC $MOUNTPOINT - #debootstrap --variant=minbase --keyring=/usr/share/keyrings/debian-archive-keyring.gpg squeeze $MOUNTPOINT http://${APT_PROXY}${DEBIAN_MIRROR} - debootstrap --variant=minbase --arch=i386 squeeze $MOUNTPOINT http://${APT_PROXY}${DEBIAN_MIRROR} + #debootstrap --variant=minbase --keyring=/usr/share/keyrings/debian-archive-keyring.gpg wheezy $MOUNTPOINT http://${APT_PROXY}${DEBIAN_MIRROR} + debootstrap --variant=minbase --arch=i386 wheezy $MOUNTPOINT http://${APT_PROXY}${DEBIAN_MIRROR} } @@ -63,11 +63,14 @@ EOF fi cat > etc/apt/sources.list << EOF -deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free -deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free +deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free +deb-src http://ftp.us.debian.org/debian/ wheezy main contrib non-free -deb http://security.debian.org/ squeeze/updates main -deb-src http://security.debian.org/ squeeze/updates main +deb http://security.debian.org/ wheezy/updates main +deb-src http://security.debian.org/ wheezy/updates main + +deb http://ftp.us.debian.org/debian/ wheezy-backports main +deb-src http://ftp.us.debian.org/debian/ wheezy-backports main EOF cat >> etc/apt/apt.conf << EOF @@ -347,7 +350,7 @@ packages() { export DEBIAN_FRONTEND DEBIAN_PRIORITY DEBCONF_DB_OVERRIDE #basic stuff - chroot . apt-get --no-install-recommends -q -y --force-yes install rsyslog logrotate cron chkconfig insserv net-tools ifupdown vim-tiny netbase iptables openssh-server grub-legacy e2fsprogs dhcp3-client dnsmasq tcpdump socat wget python bzip2 sed gawk diff grep gzip less tar telnet ftp rsync traceroute psmisc lsof procps monit inetutils-ping iputils-arping httping dnsutils zip unzip ethtool uuid file iproute acpid iptables-persistent virt-what sudo + chroot . apt-get --no-install-recommends -q -y --force-yes install rsyslog logrotate cron chkconfig insserv net-tools ifupdown vim-tiny netbase iptables openssh-server grub-legacy e2fsprogs dhcp3-client dnsmasq tcpdump socat wget python bzip2 sed gawk diffutils grep gzip less tar telnet ftp rsync traceroute psmisc lsof procps monit inetutils-ping iputils-arping httping dnsutils zip unzip ethtool uuid file iproute acpid iptables-persistent virt-what sudo #fix hostname in openssh-server generated keys sed -i "s/root@\(.*\)$/root@systemvm/g" etc/ssh/ssh_host_*.pub @@ -373,14 +376,8 @@ packages() { #ipcalc chroot . apt-get --no-install-recommends -q -y --force-yes install ipcalc - echo "***** getting sun jre 6*********" - chroot . echo 'sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true - sun-java6-jre shared/accepted-sun-dlj-v1-1 boolean true - sun-java6-jre sun-java6-jre/stopthread boolean true - sun-java6-jre sun-java6-jre/jcepolicy note - sun-java6-bin shared/present-sun-dlj-v1-1 note - sun-java6-jre shared/present-sun-dlj-v1-1 note ' | chroot . debconf-set-selections - chroot . apt-get --no-install-recommends -q -y install sun-java6-jre + echo "***** getting jre 7 *********" + chroot . apt-get --no-install-recommends -q -y install openjdk-7-jre-headless } From 5c4578ef26adcc51e059963144174c955ba5542b Mon Sep 17 00:00:00 2001 From: Hiroaki KAWAI Date: Mon, 24 Jun 2013 11:24:42 +0900 Subject: [PATCH 9/9] cloud-early-config: add device file existence check If device file was not found, then it should be logged. --- patches/systemvm/debian/config/etc/init.d/cloud-early-config | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/patches/systemvm/debian/config/etc/init.d/cloud-early-config b/patches/systemvm/debian/config/etc/init.d/cloud-early-config index b215271bfef..f93c39d81e8 100755 --- a/patches/systemvm/debian/config/etc/init.d/cloud-early-config +++ b/patches/systemvm/debian/config/etc/init.d/cloud-early-config @@ -112,6 +112,9 @@ get_boot_params() { sed -i "s/%/ /g" /var/cache/cloud/cmdline ;; kvm) + if [ ! -e /dev/vport0p1 ]; then + log_it "/dev/vport0p1 not loaded, perhaps guest kernel is too old." && exit 2 + fi while read line; do if [[ $line == cmdline:* ]]; then cmd=${line//cmdline:/} @@ -133,7 +136,7 @@ get_boot_params() { mount -t ntfs /dev/sdb1 $EXTRA_MOUNT cp -f $EXTRA_MOUNT/cmdline /var/cache/cloud/cmdline umount $EXTRA_MOUNT - ;; + ;; esac }