first pass at fixing runbook for ACS4.0.x
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/73c6a854 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/73c6a854 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/73c6a854 Branch: refs/heads/4.0 Commit: 73c6a854e1de022f1c1e9173fe38064464d78327 Parents: 85455f6 Author: David Nalley <da...@gnsa.us> Authored: Tue Jan 29 00:17:06 2013 -0500 Committer: David Nalley <da...@gnsa.us> Committed: Mon Feb 18 17:53:42 2013 -0500 ---------------------------------------------------------------------- docs/runbook/en-US/Book_Info.xml | 2 +- docs/runbook/en-US/Environment.xml | 36 +++++++-- docs/runbook/en-US/Management.xml | 37 ++------- docs/runbook/en-US/Overview.xml | 17 +--- docs/runbook/en-US/Revision_History.xml | 9 ++ docs/runbook/en-US/config.xml | 2 +- docs/runbook/en-US/kvm.xml | 103 ++++++++++++++++++------- 7 files changed, 127 insertions(+), 79 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/73c6a854/docs/runbook/en-US/Book_Info.xml ---------------------------------------------------------------------- diff --git a/docs/runbook/en-US/Book_Info.xml b/docs/runbook/en-US/Book_Info.xml index ec59144..5d2014b 100644 --- a/docs/runbook/en-US/Book_Info.xml +++ b/docs/runbook/en-US/Book_Info.xml @@ -27,7 +27,7 @@ <title>Runbook</title> <subtitle>Prescriptive instructions for deploying Apache CloudStack</subtitle> <productname>Apache CloudStack</productname> - <productnumber>3.0.2</productnumber> + <productnumber>4.0.1</productnumber> <edition>0</edition> <pubsnumber>0</pubsnumber> <abstract> http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/73c6a854/docs/runbook/en-US/Environment.xml ---------------------------------------------------------------------- diff --git a/docs/runbook/en-US/Environment.xml b/docs/runbook/en-US/Environment.xml index 781e05d..4172e03 100644 --- a/docs/runbook/en-US/Environment.xml +++ b/docs/runbook/en-US/Environment.xml @@ -32,7 +32,7 @@ <section id="sect-Runbook-Environment-operatingsys"> <title>Operating System</title> <para> - Using the CentOS 6.2 x86_64 minimal install ISO, you'll need to install CentOS + Using the CentOS 6.3 x86_64 minimal install ISO, you'll need to install CentOS on your hardware. The defaults will generally be acceptable for this installation. </para> <para> @@ -163,6 +163,30 @@ SELINUXTYPE=targeted <screen><prompt># </prompt><userinput><command>chkconfig</command> ntpd on</userinput></screen> <screen><prompt># </prompt><userinput><command>service</command> ntpd start</userinput></screen> </section> + <section id="sect-Runbook-Environment-operatingsys-repoconfig"> + <title>Configuring the CloudStack Package Repository</title> + <para> + We need to configure the machine to use a CloudStack package repository. + <important> + <title>The below repository is not an official Apache CloudStack project repository</title> + <para> + The Apache CloudStack official releases are source code. As such there are no + 'official' binaries available. The full installation guide describes how to take + the source release and generate RPMs and and yum repository. This guide attempts + to keep things as simple as possible, and thus we are using one of the + community-provided yum repositories. + </para> + </important> + </para> + <para>To add the CloudStack repository, create <filename>/etc/yum.repos.d/cloudstack.repo</filename> and insert the following information.</para> + <programlisting> +[cloudstack] +name=cloudstack +baseurl=http://cloudstack.apt-get.eu/rhel/4.0/ +enabled=1 +gpgcheck=0 + </programlisting> + </section> </section> <section id="sect-Runbook-Environment-nfs"> <title>NFS</title> @@ -224,12 +248,10 @@ STATD_OUTGOING_PORT=2020 <para>We now need to configure nfs service to start on boot and actually start it on the host by executing the following commands:</para> <screen> - <prompt># </prompt><userinput><command>service</command> rpcbind start</userinput> - <prompt># </prompt><userinput><command>service</command> nfs start</userinput> - <prompt># </prompt><userinput><command>chkconfig</command> rpcbind on</userinput> - <prompt># </prompt><userinput><command>chkconfig</command> nfs on</userinput> +<prompt># </prompt><userinput><command>service</command> rpcbind start</userinput> +<prompt># </prompt><userinput><command>service</command> nfs start</userinput> +<prompt># </prompt><userinput><command>chkconfig</command> rpcbind on</userinput> +<prompt># </prompt><userinput><command>chkconfig</command> nfs on</userinput> </screen> </section> - - </chapter> http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/73c6a854/docs/runbook/en-US/Management.xml ---------------------------------------------------------------------- diff --git a/docs/runbook/en-US/Management.xml b/docs/runbook/en-US/Management.xml index 0df2bf1..f954561 100644 --- a/docs/runbook/en-US/Management.xml +++ b/docs/runbook/en-US/Management.xml @@ -54,45 +54,26 @@ binlog-format = 'ROW' Now that <application>MySQL</application> is properly configured we can start it and configure it to start on boot as follows: <screen> - <prompt># </prompt><userinput><command>service</command> mysqld start</userinput> - <prompt># </prompt><userinput><command>chkconfig</command> mysqld on</userinput> +<prompt># </prompt><userinput><command>service</command> mysqld start</userinput> +<prompt># </prompt><userinput><command>chkconfig</command> mysqld on</userinput> </screen> </para> </section> - <section id="sect-Runbook-Management-extraction"> - <title>Extraction</title> - <para> - The next step is to extract the contents of the CloudStack tarball - (mentioned in <xref linkend="sect-Runbook-Overview-prereqs" />) you - downloaded previously. To extract the contents of this tarball use - the following command: - </para> - <screen> - <prompt># </prompt><userinput><command>tar</command> -xzvf CloudStack-oss-3.0.2-1-rhel6.2.tar.gz</userinput> - </screen> - <para> For the next few sections you'll need to <command>cd</command> into the first level that was just created. - </para> - </section> <section id="sect-Runbook-Management-installation"> <title>Installation</title> - <para>Now that you are in the directory created by extracting the tarball, it's now time to install. We'll run - <filename>./install.sh</filename> and choose option <option>M</option>. This will install the management server - and necessary dependencies. + <para>We are now going to install the management server. We do that by executing the following command: + <screen><prompt># </prompt><userinput><command>yum</command> -y install cloud-client</userinput></screen> </para> <para>With the application itself installed we can now setup the database, we'll do that with the following command and options: </para> - <screen> - <prompt># </prompt><userinput><command>cloud-setup-databases</command> cloud:<replaceable>password</replaceable>@localhost --deploy-as=root</userinput> - </screen> + <screen><prompt># </prompt><userinput><command>cloud-setup-databases</command> cloud:<replaceable>password</replaceable>@localhost --deploy-as=root</userinput></screen> <para>When this process is finished, you should see a message like "CloudStack has successfully initialized the database." </para> <para>Now that the database has been created, we can take the final step in setting up the management server by issuing the following command:</para> - <screen> - <prompt># </prompt><userinput><command>cloud-setup-mangament</command></userinput> - </screen> + <screen><prompt># </prompt><userinput><command>cloud-setup-mangament</command></userinput></screen> </section> <section id="sect-Runbook-Management-templatesetup"> <title>System Template Setup</title> @@ -107,16 +88,14 @@ binlog-format = 'ROW' storage share that we setup earlier, so we'll need to mount that share with the <command>mount</command> command run on the management server: </para> - <screen> - <prompt># </prompt><userinput><command>mount</command> -t nfs <replaceable>172.16.10.</replaceable>2:/secondary /mnt/secondary</userinput> + <screen><prompt># </prompt><userinput><command>mount</command> -t nfs <replaceable>172.16.10.</replaceable>2:/secondary /mnt/secondary</userinput> </screen> <para> Now we need to download the system VM template and deploy that to the share we just mounted. The management server includes a script to properly manipulate the system VMs images. </para> - <screen> - <prompt># </prompt><userinput><command>/usr/lib64/cloud/agent/scripts/storage/secondary/cloud-install-sys-tmplt</command> -m /mnt/secondary -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F</userinput> + <screen><prompt># </prompt><userinput><command>/usr/lib64/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary</command> -m /mnt/secondary -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F</userinput> </screen> <para> That concludes our setup of the management server. We still need to http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/73c6a854/docs/runbook/en-US/Overview.xml ---------------------------------------------------------------------- diff --git a/docs/runbook/en-US/Overview.xml b/docs/runbook/en-US/Overview.xml index f69798f..d686bf4 100644 --- a/docs/runbook/en-US/Overview.xml +++ b/docs/runbook/en-US/Overview.xml @@ -36,7 +36,7 @@ <title>What exactly are we building?</title> <para> This runbook will focus on building a CloudStack cloud using KVM with - CentOS 6.2 with NFS storage on a flat layer-2 network utilizing + CentOS 6.3 with NFS storage on a flat layer-2 network utilizing layer-3 network isolation (aka Security Groups), and doing it all on a single piece of hardware. </para> @@ -74,23 +74,16 @@ <listitem> <para> The - <ulink url="http://mirrors.kernel.org/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-minimal.iso"> - CentOS 6.2 x86_64 minimal install CD + <ulink url="http://mirrors.kernel.org/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-minimal.iso"> + CentOS 6.3 x86_64 minimal install CD </ulink> </para> </listitem> <listitem> <para> A /24 network with the gateway being at xxx.xxx.xxx.1, no DHCP should be on this network and - none of the computers running CloudStack may have a dynamic address. - </para> - </listitem> - <listitem> - <para> - Copy of - <ulink url="http://sourceforge.net/projects/cloudstack/files/CloudStack%20Acton/3.0.2/CloudStack-oss-3.0.2-1-rhel6.2.tar.gz/download"> - CloudStack 3.0.2 for RHEL and CentOS 6.2 - </ulink> + none of the computers running CloudStack will have a dynamic address. Again this is done for + the sake of simplicity. </para> </listitem> </orderedlist> http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/73c6a854/docs/runbook/en-US/Revision_History.xml ---------------------------------------------------------------------- diff --git a/docs/runbook/en-US/Revision_History.xml b/docs/runbook/en-US/Revision_History.xml index 4aecafd..78340ea 100644 --- a/docs/runbook/en-US/Revision_History.xml +++ b/docs/runbook/en-US/Revision_History.xml @@ -28,6 +28,15 @@ <simpara> <revhistory> <revision> + <revnumber>1</revnumber> + <date>Fri Feb 1 2013</date> + <revdescription> + <simplelist> + <member>Updating for Apache CloudStack 4.0.1</member> + </simplelist> + </revdescription> + </revision> + <revision> <revnumber>0-0</revnumber> <date>Mon Jun 25 2012</date> <revdescription> http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/73c6a854/docs/runbook/en-US/config.xml ---------------------------------------------------------------------- diff --git a/docs/runbook/en-US/config.xml b/docs/runbook/en-US/config.xml index 90c3495..da9b1ca 100644 --- a/docs/runbook/en-US/config.xml +++ b/docs/runbook/en-US/config.xml @@ -142,7 +142,7 @@ </para> <section id="Runbook-config-cluster-pristorage"> <title>Primary Storage</title> - <para>With you cluster now setup - you should be prompted for primary storage information. Choose NFS as the storage type and then enter the following values in the fields: + <para>With your cluster now setup - you should be prompted for primary storage information. Choose NFS as the storage type and then enter the following values in the fields: <orderedlist> <listitem> <para>Name - We'll use 'Primary1'</para> http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/73c6a854/docs/runbook/en-US/kvm.xml ---------------------------------------------------------------------- diff --git a/docs/runbook/en-US/kvm.xml b/docs/runbook/en-US/kvm.xml index 0311949..f6b61c2 100644 --- a/docs/runbook/en-US/kvm.xml +++ b/docs/runbook/en-US/kvm.xml @@ -59,6 +59,11 @@ <xref linkend="sect-Runbook-Environment-operatingsys-ntp" /> </para> </listitem> + <listitem> + <para> + <xref linkend="sect-Runbook-Environment-operatingsys-repoconfig" /> + </para> + </listitem> </orderedlist> </para> <para> @@ -66,37 +71,77 @@ any additional hosts will need for you to complete the above steps. </para> </section> - + <section id="sect-Runbook-KVM-Installation"> <title>Installation</title> - <para> - You'll need to ensure that you are in the directory that was created when - we extracted the the tarball. - <xref linkend="sect-Runbook-Management-extraction" /> - </para> - <para> - You'll be running <filename>./install.sh</filename> again and this time - choosing <option>A</option> which will install the software necessary for - managing a KVM node. - </para> - </section> - <section id="sect-Runbook-KVM-Configuration"> - <title>KVM Configuration</title> - <para> - KVM configuration is relatively simple at only a single item. We need to - edit the QEMU VNC configuration. This is done by editing - <filename>/etc/libvirt/qemu.conf</filename> and ensuring the following - line is present and uncommented. - <screen>vnc_listen=0.0.0.0</screen> - </para> - <para> - You can now just restart the libvirt daemon by issuing the following command: - <screen><prompt># </prompt><userinput><command>service</command> libvirt restart</userinput></screen> - </para> - <para> - That concludes our installation and configuration of KVM, and we'll now move to using the CloudStack UI - for the actual configuration of our cloud. - </para> + <para>Installation of the KVM agent is trivial with just a single command, but afterwards we'll need to configure a few things.</para> + <screen><prompt># </prompt><userinput><command>yum</command> -y install cloud-agent</userinput></screen> + <section id="sect-Runbook-KVM-Configuration"> + <title>KVM Configuration</title> + <para>We have two different parts of KVM to configure, libvirt, and QEMU.</para> + <section id="sect-Runbook-KVM-Configuration-qemu"> + <title>QEMU Configuration</title> + <para> + KVM configuration is relatively simple at only a single item. We need to + edit the QEMU VNC configuration. This is done by editing + <filename>/etc/libvirt/qemu.conf</filename> and ensuring the following + line is present and uncommented. + <screen>vnc_listen=0.0.0.0</screen> + </para> + <para> + You can now just restart the libvirt daemon by issuing the following command: + <screen><prompt># </prompt><userinput><command>service</command> libvirt restart</userinput></screen> + </para> + </section> + <section id="sect-Runbook-KVM-Configuration-libvirt"> + <title>Libvirt Configuration</title> + <para> + CloudStack uses libvirt for managing virtual machines. Therefore it + is vital that libvirt is configured correctly. Libvirt is a dependency + of cloud-agent and should already be installed. + </para> + <orderedlist> + <listitem> + <para>In order to have live migration working libvirt has to listen + for unsecured TCP connections. We also need to turn off libvirts + attempt to use Multicast DNS advertising. Both of these settings + are in <filename>/etc/libvirt/libvirtd.conf</filename> + </para> + <para>Set the following paramaters:</para> + <programlisting>listen_tls = 0</programlisting> + <programlisting>listen_tcp = 1</programlisting> + <programlisting>tcp_port = 16059</programlisting> + <programlisting>auth_tcp = "none"</programlisting> + <programlisting>mdns_adv = 0</programlisting> + </listitem> + <listitem> + <para>Turning on "listen_tcp" in libvirtd.conf is not enough, we have to change the parameters as well:</para> + <para>On RHEL or CentOS modify <filename>/etc/sysconfig/libvirtd</filename>:</para> + <para>Uncomment the following line:</para> + <programlisting>#LIBVIRTD_ARGS="--listen"</programlisting> + <para>On Ubuntu: modify <filename>/etc/init/libvirt-bin.conf</filename></para> + <para>Change the following line (at the end of the file):</para> + <programlisting>exec /usr/sbin/libvirtd -d</programlisting> + <para>to (just add -l)</para> + <programlisting>exec /usr/sbin/libvirtd -d -l</programlisting> + </listitem> + <listitem> + <para>Restart libvirt</para> + <para>In RHEL or CentOS:</para> + <programlisting><command>$ service libvirtd restart</command></programlisting> + <para>In Ubuntu:</para> + <programlisting><command>$ service libvirt-bin restart</command></programlisting> + </listitem> + </orderedlist> + </section> + <section id="sect-Runbook-KVM-Configuration-finish"> + <title>KVM configuration complete</title> + <para> + That concludes our installation and configuration of KVM, and we'll now move to using the CloudStack UI + for the actual configuration of our cloud. + </para> + </section> + </section> </section> </chapter>