Installing and Configuring the Compute service (NOVA)
Configuring the Hypervisor (KVM)
- Install virtualizzation RPMs
# yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client bridge-utils
# yum groupinstall Virtualization "Virtualization Client" "Virtualization Platform" "Virtualization Tools"
# yum install openstack-utils memcached qpid-cpp-server openstack-nova dnsmasq-utils python-keystone-auth-token
- Pre-configured the network (di default viene su cosė).
# ifconfig virbr0
virbr0 Link encap:Ethernet HWaddr 52:54:00:54:65:A1
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:45 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:7585 (7.4 KiB)
- Configuration requirements with RHEL
- Ensure auth=no is set in
/etc/qpidd.conf
.
- use the openstack-config package to turn off force DHCP releases:
sudo openstack-config --set /etc/nova/nova.conf DEFAULT force_dhcp_release False
(Non viene mostrato nessun output ma modificato il file di configurazione.)
- If you intend to use guest images that don't have a single partition, then allow libguestfs to inspect the image so that files can be injected, by setting:
sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_inject_partition -1
(Non viene mostrato nessun output ma modificato il file di configurazione.)
Configuring OpenStack Compute
Da modificare due file:
[DEFAULT]
# LOG/STATE
logdir = /var/log/nova
verbose = True
state_path = /var/lib/nova
lock_path = /var/lib/nova/tmp
# AUTHENTICATION
auth_strategy = keystone
# SCHEDULER
#compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
# VOLUMES
volume_group = vg_vol01
#volume_name_template = volume-%08x
iscsi_helper = tgtadm
# DATABASE del Cloud Controller
sql_connection=mysql://nova:XXXXXX@131.154.101.242/nova
# COMPUTE
libvirt_type = kvm
connection_type = libvirt
#instance_name_template = instance-%08x
#api_paste_config=/etc/nova/api-paste.ini
#allow_resize_to_same_host=True
# APIS
#osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions
#ec2_dmz_host=192.168.206.130
#s3_host=192.168.206.130
# GLANCE
#image_service=nova.image.glance.GlanceImageService
#glance_api_servers=192.168.206.130:9292
# NETWORK
network_manager = nova.network.manager.FlatDHCPManager
force_dhcp_release = True
dhcpbridge_flagfile = /etc/nova/nova.conf
firewall_driver = nova.virt.libvirt.firewall.IptablesFirewallDriver
# Change my_ip to match each host
my_ip = 131.154.101.186
public_interface = eth0
#vlan_interface = eth0
flat_network_bridge = virbr0
flat_interface = eth0
fixed_range = 192.168.122.0/24
# NOVNC CONSOLE
#novncproxy_base_url=http://192.168.206.130:6080/vnc_auto.html
# Change vncserver_proxyclient_address and vncserver_listen to match each compute host
vncserver_listen = 131.154.101.186
vncserver_proxyclient_address = 131.154.101.186
# Qpid
qpid_hostname = stack-01.cnaf.infn.it
rpc_backend = nova.rpc.impl_qpid
# OTHER
dhcpbridge = /usr/bin/nova-dhcpbridge
injected_network_template = /usr/share/nova/interfaces.template
libvirt_xml_template = /usr/share/nova/libvirt.xml.template
libvirt_nonblocking = True
libvirt_inject_partition = -1
vpn_client_template = /usr/share/nova/client.ovpn.template
credentials_template = /usr/share/nova/novarc.template
root_helper = sudo nova-rootwrap
remove_unused_base_images = True
- verificare che in fondo a
/etc/nova/api-paste.ini
ci siano le seguenti configurazioni (la parte prima non si tocca, 131.154.101.242 č l'ip di keystone ).
[...]
[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
service_protocol = http
service_host = 131.154.101.242
service_port = 5000
auth_host = 131.154.101.242
auth_port = 35357
auth_protocol = http
auth_uri = http://131.154.101.242:5000/
admin_tenant_name = service
admin_user = nova
admin_password = XXXXXXX
- lanciare i seguenti comandi:
# for svc in api objectstore compute network volume scheduler cert; do echo openstack-nova-$svc; service openstack-nova-$svc stop ; chkconfig openstack-nova-$svc on; done
# nova-manage db sync
# for svc in api objectstore compute network volume scheduler cert; do echo openstack-nova-$svc; /etc/init.d/openstack-nova-$svc start ; done
- Sul Cloud controller, verificare lo stato dei NOVA compute (non vengono riportati di seguito alcuni WARNING):
# nova-manage service list
Binary Host Zone Status State Updated_At
nova-scheduler stack-03.cnaf.infn.it nova enabled :-) 2012-08-31 09:46:24
nova-compute stack-03.cnaf.infn.it nova enabled :-) 2012-08-31 09:46:26
nova-network stack-03.cnaf.infn.it nova enabled :-) 2012-08-31 09:46:25
nova-cert stack-03.cnaf.infn.it nova enabled :-) 2012-08-31 09:46:24
nova-volume stack-03.cnaf.infn.it nova enabled :-) 2012-08-31 09:46:24
--
PaoloVeronesi - 2012-08-30