Added Basic Install Training Guide
Added Network and Compute Node basic-install guide for Training Labs. Currently updated for installing OpenStack Havana, these installation gudies are meant for training labs but can be used as a replacement to basic-install guide. bp/training-manuals Change-Id: I114218447ce5e8ea4bbe7c0b21915d69b54b92bd
This commit is contained in:
parent
9a330eb0c2
commit
dfae2ddc63
@ -6,7 +6,7 @@
|
|||||||
<xi:include href="lab000-important-terms.xml"/>
|
<xi:include href="lab000-important-terms.xml"/>
|
||||||
<xi:include href="lab000-virtualbox-basics.xml"/>
|
<xi:include href="lab000-virtualbox-basics.xml"/>
|
||||||
<xi:include href="lab001-control-node.xml"/>
|
<xi:include href="lab001-control-node.xml"/>
|
||||||
<xi:include href="lab001-compute-node.xml"/>
|
|
||||||
<xi:include href="lab002-network-node.xml"/>
|
<xi:include href="lab002-network-node.xml"/>
|
||||||
<xi:include href="lab003-openstack-production.xml"/>
|
<xi:include href="lab003-compute-node.xml"/>
|
||||||
|
<xi:include href="lab004-openstack-production.xml"/>
|
||||||
</book>
|
</book>
|
||||||
|
@ -1,53 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
version="5.0"
|
|
||||||
xml:id="lab001-compute-node">
|
|
||||||
<title>Compute Node</title>
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold">Network Diagram :</emphasis></para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
<figure>
|
|
||||||
<title>Network Diagram</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject>
|
|
||||||
<imagedata fileref="figures/lab000-virtual-box/image03.png"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
<para><emphasis role="bold">Vboxnet0</emphasis>, <emphasis
|
|
||||||
role="bold">Vboxnet1</emphasis>, <emphasis role="bold"
|
|
||||||
>Vboxnet2</emphasis> - are virtual networks setup up by virtual
|
|
||||||
box with your host machine. This is the way your host can
|
|
||||||
communicate with the virtual machines. These networks are in turn
|
|
||||||
used by virtual box VM’s for OpenStack networks, so that
|
|
||||||
OpenStack’s services can communicate with each other.</para>
|
|
||||||
<para><guilabel>Compute Node</guilabel></para>
|
|
||||||
<para>Start your Controller Node the one you setup in previous
|
|
||||||
section.</para>
|
|
||||||
<para><emphasis role="bold">Preparing Ubuntu
|
|
||||||
13.04/12.04</emphasis></para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>After you install Ubuntu Server, go in sudo mode</para>
|
|
||||||
<para>
|
|
||||||
<programlisting>$sudo su</programlisting>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Add Grizzly repositories:</para>
|
|
||||||
<para><programlisting>#apt-get install ubuntu-cloud-keyring python-software-properties software-properties-common python-keyring
|
|
||||||
# echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly main >> /etc/apt/sources.list.d/grizzly.list</programlisting></para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Update your system:</para>
|
|
||||||
<para><programlisting>#apt-get update
|
|
||||||
#apt-get upgrade
|
|
||||||
#apt-get dist-upgrade</programlisting></para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<para>More Content To be Added soon.</para>
|
|
||||||
</chapter>
|
|
@ -1,9 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="lab002-network-node.xml">
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
version="5.0"
|
|
||||||
xml:id="lab002-network-node.xml">
|
|
||||||
<title>Network Node</title>
|
<title>Network Node</title>
|
||||||
<orderedlist>
|
<orderedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -18,36 +15,215 @@
|
|||||||
</imageobject>
|
</imageobject>
|
||||||
</mediaobject>
|
</mediaobject>
|
||||||
</figure>
|
</figure>
|
||||||
<para><emphasis role="bold">Vboxnet0</emphasis>, <emphasis
|
<para><emphasis role="bold">Vboxnet0</emphasis>, <emphasis role="bold">Vboxnet1</emphasis>,
|
||||||
role="bold">Vboxnet1</emphasis>, <emphasis role="bold"
|
<emphasis role="bold">Vboxnet2</emphasis> - are virtual networks setup up by virtual box with
|
||||||
>Vboxnet2</emphasis> - are virtual networks setup up by virtual
|
your host machine. This is the way your host can communicate with the virtual machines. These
|
||||||
box with your host machine. This is the way your host can
|
networks are in turn used by virtual box VM’s for OpenStack networks, so that OpenStack’s
|
||||||
communicate with the virtual machines. These networks are in turn
|
services can communicate with each other.</para>
|
||||||
used by virtual box VM’s for OpenStack networks, so that
|
|
||||||
OpenStack’s services can communicate with each other.</para>
|
|
||||||
<para><guilabel>Network Node</guilabel></para>
|
<para><guilabel>Network Node</guilabel></para>
|
||||||
<para>Start your Controller Node the one you setup in previous
|
<para>Start your Controller Node the one you setup in previous section.</para>
|
||||||
section.</para>
|
<para><emphasis role="bold">Preparing Ubuntu 12.04</emphasis></para>
|
||||||
<para><emphasis role="bold">Preparing Ubuntu
|
|
||||||
13.04/12.04</emphasis></para>
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>After you install Ubuntu Server, go in sudo mode</para>
|
<para>After you install Ubuntu Server, go in sudo mode</para>
|
||||||
<para>
|
<para>
|
||||||
<programlisting>$sudo su</programlisting>
|
<screen><prompt>$</prompt> <userinput>sudo su</userinput></screen>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Add Grizzly repositories:</para>
|
<para>Add Havana repositories:</para>
|
||||||
<para><programlisting>#apt-get install ubuntu-cloud-keyring python-software-properties software-properties-common python-keyring
|
<para>
|
||||||
# echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly main >> /etc/apt/sources.list.d/grizzly.list</programlisting></para>
|
<screen><prompt>#</prompt> <userinput>apt-get install ubuntu-cloud-keyring python-software-properties software-properties-common python-keyring</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/havana main >> /etc/apt/sources.list.d/havana.list</userinput></screen>
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Update your system:</para>
|
<para>Update your system:</para>
|
||||||
<para><programlisting>#apt-get update
|
<para>
|
||||||
#apt-get upgrade
|
<screen><prompt>#</prompt> <userinput>apt-get update</userinput></screen>
|
||||||
#apt-get dist-upgrade</programlisting></para>
|
<screen><prompt>#</prompt> <userinput>apt-get upgrade</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get dist-upgrade</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Install NTP and other services:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get install ntp vlan bridge-utils</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Configure NTP Server to Controller Node:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sed -i 's/server 0.ubuntu.pool.ntp.org/#server0.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sed -i 's/server 1.ubuntu.pool.ntp.org/#server1.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sed -i 's/server 2.ubuntu.pool.ntp.org/#server2.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sed -i 's/server 3.ubuntu.pool.ntp.org/#server3.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Enable IP Forwarding by adding the following to <filename>/etc/sysctl.conf</filename>:</para>
|
||||||
|
<para>
|
||||||
|
<programlisting>net.ipv4.ip_forward=1
|
||||||
|
net.ipv4.conf.all.rp_filter=0
|
||||||
|
net.ipv4.conf.default.rp_filter=0</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Run the following commands:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sysctl net.ipv4.ip_forward=1</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sysctl net.ipv4.conf.all.rp_filter=0</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sysctl net.ipv4.conf.default.rp_filter=0</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sysctl -p</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para><emphasis role="bold">OpenVSwitch</emphasis></para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Install OpenVSwitch Packages:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get install -y openvswitch-switch openvswitch-datapath-dkms</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Create the bridges:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>ovs-vsctl add-br br-int</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>ovs-vsctl add-br br-ex</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para><emphasis role="bold">Neutron</emphasis></para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Neutron:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get install neutron-server neutron-dhcp-agent neutron-plugin-openvswitch-agent neutron-l3-agent</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/neutron/api-paste.ini</filename>:</para>
|
||||||
|
<para>
|
||||||
|
<programlisting>[filter:authtoken]
|
||||||
|
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
|
||||||
|
auth_host = 10.10.10.51
|
||||||
|
auth_port = 35357
|
||||||
|
auth_protocol = http
|
||||||
|
admin_tenant_name = service
|
||||||
|
admin_user = neutron
|
||||||
|
admin_password = service_pass</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit
|
||||||
|
<filename>/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</filename>:</para>
|
||||||
|
<para>
|
||||||
|
<programlisting>#Under the database section
|
||||||
|
[DATABASE]
|
||||||
|
connection = mysql://neutronUser:neutronPass@10.10.10.51/neutron
|
||||||
|
#Under the OVS section
|
||||||
|
[OVS]
|
||||||
|
tenant_network_type = gre
|
||||||
|
tunnel_id_ranges = 1:1000
|
||||||
|
integration_bridge = br-int
|
||||||
|
tunnel_bridge = br-tun
|
||||||
|
local_ip = 10.10.10.51
|
||||||
|
enable_tunneling = True
|
||||||
|
tunnel_type = gre
|
||||||
|
[agent]
|
||||||
|
tunnel_types = gre
|
||||||
|
#Firewall driver for realizing quantum security group function
|
||||||
|
[SECURITYGROUP]
|
||||||
|
firewall_driver =
|
||||||
|
neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/neutron/metadata_agent.ini</filename>:</para>
|
||||||
|
<para>
|
||||||
|
<programlisting># The Neutron user information for accessing the Neutron API.
|
||||||
|
auth_url = http://10.10.10.51:35357/v2.0
|
||||||
|
auth_region = RegionOne
|
||||||
|
admin_tenant_name = service
|
||||||
|
admin_user = neutron
|
||||||
|
admin_password = service_pass
|
||||||
|
# IP address used by Nova metadata server
|
||||||
|
nova_metadata_ip = 10.10.10.51
|
||||||
|
# TCP Port used by Nova metadata server
|
||||||
|
nova_metadata_port = 8775
|
||||||
|
metadata_proxy_shared_secret = helloOpenStack</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/neutron/dhcp_agent.ini</filename>:</para>
|
||||||
|
<para>
|
||||||
|
<programlisting>interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/neutron/l3_agent.ini</filename>:</para>
|
||||||
|
<para>
|
||||||
|
<programlisting>[DEFAULT]
|
||||||
|
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
|
||||||
|
external_network_bridge = br-ex</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/neutron/neutron.conf</filename>:</para>
|
||||||
|
<para>
|
||||||
|
<programlisting>rabbit_host = 10.10.10.51
|
||||||
|
#And update the keystone_authtoken section
|
||||||
|
[keystone_authtoken]
|
||||||
|
auth_host = 10.10.10.51
|
||||||
|
auth_port = 35357
|
||||||
|
auth_protocol = http
|
||||||
|
admin_tenant_name = service
|
||||||
|
admin_user = neutron
|
||||||
|
admin_password = service_pass
|
||||||
|
signing_dir = /var/lib/neutron/keystone-signing
|
||||||
|
[database]
|
||||||
|
connection = mysql://neutronUser:neutronPass@10.10.10.51/neutron</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/sudoers.d/neutron_sudoers:</filename>:</para>
|
||||||
|
<para>
|
||||||
|
<programlisting>#Modify the neutron user
|
||||||
|
neutron ALL=NOPASSWD: ALL</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Restart Services:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>for i in neutron-dhcp-agent neutron-metadata-agent neutron-
|
||||||
|
plugin-agent neutron-l3-agent neutron-server; do service $i
|
||||||
|
restart; done</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit Network Interfaces file <filename>/etc/network/interfaces</filename>:</para>
|
||||||
|
<para>
|
||||||
|
<programlisting>auto eth2
|
||||||
|
iface eth2 inet manual
|
||||||
|
up ifconfig $IFACE 0.0.0.0 up
|
||||||
|
up ip link set $IFACE promisc on
|
||||||
|
down ip link set $IFACE promisc off
|
||||||
|
down ifconfig $IFACE down
|
||||||
|
|
||||||
|
auto br-ex
|
||||||
|
iface br-ex inet static
|
||||||
|
address 192.168.100.52
|
||||||
|
netmask 255.255.255.0
|
||||||
|
gateway 192.168.100.1
|
||||||
|
dns-nameservers 8.8.8.8</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Update your system:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>ovs-vsctl add-port br-ex eth2</userinput></screen>
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
<para>More Content To be Added soon.</para>
|
|
||||||
</chapter>
|
</chapter>
|
||||||
|
286
doc/training-guides/lab003-compute-node.xml
Normal file
286
doc/training-guides/lab003-compute-node.xml
Normal file
@ -0,0 +1,286 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
version="5.0"
|
||||||
|
xml:id="lab001-compute-node">
|
||||||
|
<title>Compute Node</title>
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis role="bold">Network Diagram :</emphasis></para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<figure>
|
||||||
|
<title>Network Diagram</title>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/lab000-virtual-box/image03.png"/>
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</figure>
|
||||||
|
<para><emphasis role="bold">Vboxnet0</emphasis>, <emphasis
|
||||||
|
role="bold">Vboxnet1</emphasis>, <emphasis role="bold"
|
||||||
|
>Vboxnet2</emphasis> - are virtual networks setup up by virtual
|
||||||
|
box with your host machine. This is the way your host can
|
||||||
|
communicate with the virtual machines. These networks are in turn
|
||||||
|
used by virtual box VM’s for OpenStack networks, so that
|
||||||
|
OpenStack’s services can communicate with each other.</para>
|
||||||
|
<para><guilabel>Compute Node</guilabel></para>
|
||||||
|
<para>Start your Controller Node the one you setup in previous
|
||||||
|
section.</para>
|
||||||
|
<para><emphasis role="bold">Preparing Ubuntu 12.04</emphasis></para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>After you install Ubuntu Server, go in sudo mode</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>sudo su</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Add Havana repositories:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get install ubuntu-cloud-keyring python-software-properties software-properties-common python-keyring</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/havana main >> /etc/apt/sources.list.d/havana.list</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Update your system:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get update</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get upgrade</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get dist-update</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Install NTP and other services:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get install ntp vlan bridge-utils</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Configure NTP Server to Controller Node:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sed -i 's/server 0.ubuntu.pool.ntp.org/#server0.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sed -i 's/server 1.ubuntu.pool.ntp.org/#server1.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sed -i 's/server 2.ubuntu.pool.ntp.org/#server2.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sed -i 's/server 3.ubuntu.pool.ntp.org/#server3.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Enable IP Forwarding by adding the following to <filename>/etc/sysctl.conf</filename></para>
|
||||||
|
<para>
|
||||||
|
<programlisting>net.ipv4.ip_forward=1
|
||||||
|
net.ipv4.conf.all.rp_filter=0
|
||||||
|
net.ipv4.conf.default.rp_filter=0</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Run the following commands:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sysctl net.ipv4.ip_forward=1</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sysctl net.ipv4.conf.all.rp_filter=0</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sysctl net.ipv4.conf.default.rp_filter=0</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>sysctl -p</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para><emphasis role="bold">KVM</emphasis></para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Install KVM:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get install -y kvm libvirt-bin pm-utils</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/libvirt/qemu.conf</filename></para>
|
||||||
|
<para><programlisting>cgroup_device_acl = [
|
||||||
|
"/dev/null", "/dev/full", "/dev/zero",
|
||||||
|
"/dev/random", "/dev/urandom",
|
||||||
|
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
|
||||||
|
"/dev/rtc", "/dev/hpet","/dev/net/tun"
|
||||||
|
]</programlisting></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Delete Default Virtual Bridge</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>virsh net-destroy default</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>virsh net-undefine default</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>To Enable Live Migration Edit <filename>/etc/libvirt/libvirtd.conf</filename></para>
|
||||||
|
<para><programlisting>listen_tls = 0
|
||||||
|
listen_tcp = 1
|
||||||
|
auth_tcp = "none"</programlisting></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/init/libvirt-bin.conf</filename></para>
|
||||||
|
<para><programlisting>env libvirtd_opts="-d -l"</programlisting></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/default/libvirt-bin</filename></para>
|
||||||
|
<para><programlisting>libvirtd_opts="-d -l"</programlisting></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Restart libvirt</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>service dbus restart</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>service libvirt-bin restart</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para><emphasis role="bold">Neutron and OVS</emphasis></para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Install OpenVSwitch</para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get install -y openvswitch-switch openvswitch-datapath-dkms</userinput></screen>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Create bridges:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>ovs-vsctl add-br br-int</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Neutron</para>
|
||||||
|
<para>Install the Neutron openvswitch agent:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get -y install neutron-plugin-openvswitch-agent</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</filename></para>
|
||||||
|
<para><programlisting>#Under the database section
|
||||||
|
[database]
|
||||||
|
connection = mysql://neutronUser:neutronPass@192.168.1.51/neutron
|
||||||
|
#Under the OVS section
|
||||||
|
[ovs]
|
||||||
|
tenant_network_type = gre
|
||||||
|
tunnel_id_ranges = 1:1000
|
||||||
|
integration_bridge = br-int
|
||||||
|
tunnel_bridge = br-tun
|
||||||
|
local_ip = 10.0.0.11
|
||||||
|
enable_tunneling = True
|
||||||
|
tunnel_type=gre
|
||||||
|
[agent]
|
||||||
|
tunnel_types = gre
|
||||||
|
#Firewall driver for realizing quantum security group function
|
||||||
|
[SECURITYGROUP]
|
||||||
|
firewall_driver =
|
||||||
|
neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver</programlisting></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/neutron/neutron.conf</filename></para>
|
||||||
|
<para><programlisting>rabbit_host = 192.168.1.51
|
||||||
|
#And update the keystone_authtoken section
|
||||||
|
[keystone_authtoken]
|
||||||
|
auth_host = 192.168.1.51
|
||||||
|
auth_port = 35357
|
||||||
|
auth_protocol = http
|
||||||
|
admin_tenant_name = service
|
||||||
|
admin_user = quantum
|
||||||
|
admin_password = service_pass
|
||||||
|
signing_dir = /var/lib/quantum/keystone-signing
|
||||||
|
[database]
|
||||||
|
connection = mysql://neutronUser:neutronPass@192.168.1.51/neutron</programlisting></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Restart all the services:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>service neutron-plugin-openvswitch-agent restart</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para><emphasis role="bold">Nova</emphasis></para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Install Nova</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>apt-get install nova-compute-kvm python-guestfs</userinput></screen>
|
||||||
|
<screen><prompt>#</prompt> <userinput>chmod 0644 /boot/vmlinuz*</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/nova/api-paste.ini</filename></para>
|
||||||
|
<para><programlisting>[filter:authtoken]
|
||||||
|
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
|
||||||
|
auth_host = 192.168.1.51
|
||||||
|
auth_port = 35357
|
||||||
|
auth_protocol = http
|
||||||
|
admin_tenant_name = service
|
||||||
|
admin_user = nova
|
||||||
|
admin_password = service_pass
|
||||||
|
signing_dirname = /tmp/keystone-signing-nova
|
||||||
|
# Workaround for https://bugs.launchpad.net/nova/+bug/1154809
|
||||||
|
auth_version = v2.0</programlisting></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/nova/nova-compute.conf</filename></para>
|
||||||
|
<para><programlisting>[DEFAULT]
|
||||||
|
libvirt_type=qemu
|
||||||
|
libvirt_ovs_bridge=br-int
|
||||||
|
libvirt_vif_type=ethernet
|
||||||
|
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
|
||||||
|
libvirt_use_virtio_for_bridges=True</programlisting></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Edit <filename>/etc/nova/nova.conf</filename></para>
|
||||||
|
<para><programlisting>[DEFAULT]
|
||||||
|
logdir=/var/log/nova
|
||||||
|
state_path=/var/lib/nova
|
||||||
|
lock_path=/run/lock/nova
|
||||||
|
verbose=True
|
||||||
|
api_paste_config=/etc/nova/api-paste.ini
|
||||||
|
compute_scheduler_driver=nova.scheduler.simple.SimpleScheduler
|
||||||
|
rabbit_host=192.168.1.51
|
||||||
|
nova_url=http://192.168.1.51:8774/v1.1/
|
||||||
|
sql_connection=mysql://novaUser:novaPass@192.168.1.51/nova
|
||||||
|
root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
|
||||||
|
# Auth
|
||||||
|
use_deprecated_auth=false
|
||||||
|
auth_strategy=keystone
|
||||||
|
# Imaging service
|
||||||
|
glance_api_servers=192.168.1.51:9292
|
||||||
|
image_service=nova.image.glance.GlanceImageService
|
||||||
|
# Vnc configuration
|
||||||
|
novnc_enabled=true
|
||||||
|
novncproxy_base_url=http://192.168.1.51:6080/vnc_auto.html
|
||||||
|
novncproxy_port=6080
|
||||||
|
vncserver_proxyclient_address=10.0.0.11
|
||||||
|
vncserver_listen=0.0.0.0
|
||||||
|
# Network settings
|
||||||
|
network_api_class=nova.network.neutronv2.api.API
|
||||||
|
neutron_url=http://192.168.1.51:9696
|
||||||
|
neutron_auth_strategy=keystone
|
||||||
|
neutron_admin_tenant_name=service
|
||||||
|
neutron_admin_username=neutron
|
||||||
|
neutron_admin_password=service_pass
|
||||||
|
neutron_admin_auth_url=http://192.168.1.51:35357/v2.0
|
||||||
|
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
|
||||||
|
linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver
|
||||||
|
#If you want Neutron + Nova Security groups
|
||||||
|
firewall_driver=nova.virt.firewall.NoopFirewallDriver
|
||||||
|
security_group_api=neutron
|
||||||
|
#If you want Nova Security groups only, comment the two lines above and uncomment line -1-.
|
||||||
|
#-1-firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
|
||||||
|
#Metadata
|
||||||
|
service_neutron_metadata_proxy = True
|
||||||
|
neutron_metadata_proxy_shared_secret = helloOpenStack
|
||||||
|
# Compute #
|
||||||
|
compute_driver=libvirt.LibvirtDriver
|
||||||
|
# Cinder #
|
||||||
|
volume_api_class=nova.volume.cinder.API
|
||||||
|
osapi_volume_listen_port=5900
|
||||||
|
cinder_catalog_info=volume:cinder:internalURL</programlisting></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Restart Nova Services</para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>cd /etc/init.d/; for i in $( ls nova-* ); do sudo service $i restart; done</userinput></screen>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>List Nova Services (Check for the Smiley Faces to know if the services are running):</para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>nova-manage service list</userinput></screen>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</chapter>
|
Loading…
x
Reference in New Issue
Block a user