Merge "Updates compute node for Icehouse"

This commit is contained in:
Jenkins 2014-08-24 17:39:09 +00:00 committed by Gerrit Code Review
commit 349519ad14
2 changed files with 217 additions and 203 deletions

View File

@ -24,18 +24,90 @@
>https://docs.google.com/drawings/d/1GX3FXmkz3c_tUDpZXUVMpyIxicWuHs5fNsHvYNjwNNk/edit?usp=sharing</link></para>
<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
>Vboxnet2</emphasis> - are virtual networks set up up by VirtualBox
with your host machine. This is the way the host can
communicate with the virtual machines. These networks are in turn
used by virtual box VMs for OpenStack networks, so that
used by VirtualBox VMs for OpenStack networks, so that
OpenStacks services can communicate with each other.</para>
<para><guilabel>Compute Node</guilabel></para>
<para>Start your Controller Node (the one you setup in the previous
section).</para>
<para><emphasis role="bold">Preparing Ubuntu 12.04</emphasis></para>
<para><guilabel>Compute node</guilabel></para>
<para>Start the controller node which was set up in a previous section.</para>
<note>
<para>On reboot the node VM may lose internet and network
connectivity. Restart the networking service and use the
<command>ping</command> command to verify the network
connectivity for the given VM.</para>
</note>
<note>
<para>Take regular snapshots of the VirtualBox virtual machines after
each section. In case the VM is broken, you may revert back to the
snapshot to save time and effort.</para>
</note>
<para><guilabel>Controller node</guilabel></para>
<para>
Start the controller node which was set up in a previous section.
</para>
<para><emphasis role="bold">Preparing Ubuntu 14.04</emphasis></para>
<para><emphasis role="bold">Networking:</emphasis></para>
<para>Configure your network by editing the
<filename>/etc/network/interfaces</filename> file</para>
<itemizedlist>
<listitem>
<para>After you install Ubuntu Server, go in sudo mode</para>
<para>Open <filename>/etc/network/interfaces</filename> and edit the
file as mentioned:</para>
<programlisting>
# This file is for the OpenStack compute node for OpenStack training project.
# Note: Selection of the IP addresses is important.
# Any changes to the IP addresses may break OpenStack related services.
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface - VirtualBox NAT connection
# (VirtualBox Network Adapter 1)
auto eth0
iface eth0 inet dhcp
# VirtualBox vboxnet0 - OpenStack management network
# (VirtualBox Network Adapter 2)
auto eth1
iface eth1 inet static
address 10.10.10.53
netmask 255.255.255.0
# VirtualBox vboxnet2 - OpenStack VM data/communication network
# (VirtualBox Network Adapter 3)
auto eth2
iface eth2 inet static
address 10.20.20.53
netmask 255.255.255.0
</programlisting>
</listitem>
<listitem>
<para>After saving the interfaces file, restart the networking
service:</para>
<screen><prompt>#</prompt> <userinput>service networking restart</userinput></screen>
<screen><prompt>#</prompt> <userinput>ifconfig</userinput></screen>
</listitem>
<listitem>
<para>The expected network interface should match with the required IP
addresses as configured above.</para>
</listitem>
</itemizedlist>
<para><emphasis role="bold">SSH from host</emphasis></para>
<itemizedlist>
<listitem>
<para>To SSH into the compute node from the host machine, type the
command mentioned below.</para>
<screen><prompt>$</prompt> <userinput>ssh compute@10.10.10.51</userinput></screen>
<screen><prompt>$</prompt> <userinput>sudo su</userinput></screen>
</listitem>
</itemizedlist>
<para><emphasis role="bold">Preparing Ubuntu 14.04</emphasis></para>
<itemizedlist>
<listitem>
<para>After installing Ubuntu Server, switch to the root user</para>
<para>
<screen><prompt>$</prompt> <userinput>sudo su</userinput></screen>
</para>
@ -43,35 +115,44 @@
<listitem>
<para>Add Icehouse 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/icehouse main >> /etc/apt/sources.list.d/icehouse.list</userinput></screen>
<screen><prompt>#</prompt><userinput>apt-get install ubuntu-cloud-keyring python-software-properties software-properties-common python-keyring</userinput></screen>
<screen><prompt>#</prompt><userinput>add-apt-repository cloud-archive:icehouse</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>
<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-upgrade</userinput></screen>
</para>
</listitem>
<listitem>
<para>Install NTP and other services:</para>
<para>Restart the machine for the changes to apply</para>
<screen><prompt>#</prompt> <userinput>reboot</userinput></screen>
</listitem>
<listitem>
<para>Install vlan and bridge-utils packages:</para>
<screen><prompt>#</prompt> <userinput>apt-get install vlan bridge-utils</userinput></screen>
</listitem>
<listitem>
<para>Install NTP:</para>
<para>
<screen><prompt>#</prompt> <userinput>apt-get install ntp vlan bridge-utils</userinput></screen>
<screen><prompt>#</prompt> <userinput>apt-get install ntp</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>Configure NTP Server to controller node:</para>
<para>
<screen><prompt>#</prompt> <userinput>sed -i 's/server 0.ubuntu.pool.ntp.org/#server 0.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
<screen><prompt>#</prompt> <userinput>sed -i 's/server 1.ubuntu.pool.ntp.org/#server 1.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
<screen><prompt>#</prompt> <userinput>sed -i 's/server 2.ubuntu.pool.ntp.org/#server 2.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
<screen><prompt>#</prompt> <userinput>sed -i 's/server 3.ubuntu.pool.ntp.org/#server 3.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
<screen><prompt>#</prompt> <userinput>sed -i 's/server ntp.ubuntu.com/server 10.10.10.51/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
@ -87,202 +168,119 @@ net.ipv4.conf.default.rp_filter=0</programlisting>
<screen><prompt>#</prompt> <userinput>sysctl -p</userinput></screen>
</para>
</listitem>
</itemizedlist>
<para><emphasis role="bold">KVM</emphasis></para>
<itemizedlist>
</itemizedlist>
<para><emphasis role='bold'>Nova and 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>
<para>Install the Compute packages:</para>
<screen><prompt>#</prompt><userinput>apt-get install nova-compute-kvm python-guestfs</userinput></screen>
<screen><prompt>#</prompt><userinput>dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-$(uname -r)</userinput></screen>
</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 Open vSwitch</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 Open vSwitch 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
<para>Configure <filename>/etc/nova/nova.conf</filename></para>
<para><programlisting>[DEFAULT]
auth_strategy = keystone
rpc_backend = rabbit
rabbit_host = 10.10.10.51
my_ip = 10.10.10.53
vnc_enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = 10.10.10.53
novncproxy_base_url = http://10.10.10.51:6080/vnc_auto.html
glance_host = 10.10.10.51
network_api_class = nova.network.neutronv2.api.API
neutron_url = http://10.10.10.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://10.10.10.51:35357/v2.0
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
security_group_api = neutron
[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.53
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 = 10.10.10.51
#And update the keystone_authtoken section
# The SQLAlchemy connection string used to connect to the database
connection = mysql://novaUSER:novaPass@10.10.10.51/nova
[keystone_authtoken]
auth_host = 10.10.10.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.100.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_uri = http://10.10.10.51:5000
auth_host = 10.10.10.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>
admin_password = service_pass</programlisting></para>
</listitem>
<listitem>
<para>Edit <filename>/etc/nova/nova-compute.conf</filename></para>
<para>Edit <filename>/etc/nova/nova-compute.conf</filename></para>
<para><programlisting>[libvirt]
virt_type = qemu</programlisting></para>
</listitem>
<listitem>
<para>Restart Nova Compute Service</para>
<screen><prompt>#</prompt><userinput>service nova-compute restart</userinput></screen>
</listitem>
</itemizedlist>
<para><emphasis role="bold">Neutron and OVS</emphasis></para>
<itemizedlist>
<listitem>
<para>Install Open vSwitch</para>
<screen><prompt>#</prompt> <userinput>apt-get install -y neutron-common neutron-plugin-ml2 neutron-plugin-openvswitch-agent</userinput></screen>
</listitem>
<listitem>
<para>Edit <filename>/etc/neutron/plugins/ml2/ml2_conf.ini</filename></para>
<para><programlisting>[ml2]
type_drivers = gre
tenant_network_types = gre
mechanism_drivers = openvswitch
[ml2_type_gre]
tunnel_id_ranges = 1:1000
[ovs]
local_ip = 10.20.20.53
tunnel_type = gre
enable_tunneling = True
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
enable_security_group = True</programlisting></para>
</listitem>
<listitem>
<para>Edit <filename>/etc/neutron/neutron.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>
auth_strategy = keystone
rpc_backend = neutron.openstack.common.rpc.impl_kombu
rabbit_host = 10.10.10.51
rabbit_password = RABBIT_PASS
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True
[keystone_authtoken]
...
auth_uri = http://10.10.10.51:5000
auth_host = 10.10.10.51
auth_protocol = http
auth_port = 35357
admin_tenant_name = service
admin_user = neutron
admin_password = service_pass</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=10.10.10.51
nova_url=http://10.10.10.51:8774/v1.1/
sql_connection=mysql://novaUser:novaPass@10.10.10.51/nova
root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
# Auth
use_deprecated_auth=false
auth_strategy=keystone
# Imaging service
glance_api_servers=10.10.10.51:9292
image_service=nova.image.glance.GlanceImageService
# Vnc configuration
novnc_enabled=true
novncproxy_base_url=http://10.10.10.51:6080/vnc_auto.html
novncproxy_port=6080
vncserver_proxyclient_address=10.10.10.53
vncserver_listen=0.0.0.0
# Network settings
network_api_class=nova.network.neutronv2.api.API
neutron_url=http://10.10.10.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://10.10.10.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>
<para>Restart all the services:</para>
<para>
<screen><prompt>#</prompt> <userinput>service openvswitch-switch restart</userinput></screen>
</para>
</listitem>
<listitem>
<para>Restart nova services</para>
<screen><prompt>#</prompt> <userinput>cd /etc/init.d/; for i in $( ls nova-* ); do service $i restart; done</userinput></screen>
<para>Add the integration bridge</para>
<screen><prompt>#</prompt><userinput>ovs-vsctl add-br br-int</userinput></screen>
</listitem>
<listitem>
<para><emphasis role="bold">Nova</emphasis></para>
<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>

View File

@ -140,7 +140,23 @@ netmask 255.255.255.0
<screen>
<prompt>#</prompt> <userinput>reboot</userinput>
</screen>
<para><emphasis role="bold">My SQL</emphasis></para>
<para>Install vlan and bridge-utils packages:</para>
<para>
<screen><prompt>#</prompt> <userinput>apt-get install vlan bridge-utils</userinput></screen>
</para>
<para>Install NTP:</para>
<para>
<screen><prompt>#</prompt> <userinput>apt-get install ntp</userinput></screen>
</para>
<para>Configure NTP Server to controller node:</para>
<para>
<screen><prompt>#</prompt> <userinput>sed -i 's/server 0.ubuntu.pool.ntp.org/#server 0.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
<screen><prompt>#</prompt> <userinput>sed -i 's/server 1.ubuntu.pool.ntp.org/#server 1.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
<screen><prompt>#</prompt> <userinput>sed -i 's/server 2.ubuntu.pool.ntp.org/#server 2.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
<screen><prompt>#</prompt> <userinput>sed -i 's/server 3.ubuntu.pool.ntp.org/#server 3.ubuntu.pool.ntp.org/g' /etc/ntp.conf</userinput></screen>
<screen><prompt>#</prompt> <userinput>sed -i 's/server ntp.ubuntu.com/server 10.10.10.51/g'/etc/ntp.conf</userinput></screen>
</para>
<para><emphasis role="bold">MySQL</emphasis></para>
<itemizedlist>
<listitem>
<para>Install MySQL:</para>