You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ke...@apache.org on 2013/02/18 23:52:35 UTC

[3/15] git commit: refs/heads/4.0 - first pass at fixing runbook for ACS4.0.x

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>