From Fedora Project Wiki

Revision as of 16:16, 8 March 2012 by Markmc (talk | contribs)


Everything so far has been done on a single node. Here we add another (virtual) node for running VMs.

Let's assume the machine you've set up above is called 'controller' and the new machine is called 'node'.


Open the Qpid, MySQL, iSCSI and Nova API ports on controller:

$ controller> sudo lokkit -p 5672:tcp
$ controller> sudo lokkit -p 3306:tcp
$ controller> sudo lokkit -p 3260:tcp
$ controller> sudo lokkit -p 9292:tcp
$ controller> sudo service libvirtd reload

Configure the network with a physical bridge interface:

$ controller> sudo systemctl stop openstack-nova-network.service
$ controller> sudo ip link set testnetbr0 down
$ controller> sudo brctl delbr testnetbr0
$ controller> sudo kill -9 $(cat /var/lib/nova/networks/
$ controller> mysql -unova -pnova nova -e 'update networks set bridge_interface="em1" where label="admin"'
$ controller> sudo systemctl start openstack-nova-network.service

Make sure that ntp is enabled on both machines:

$> sudo yum install -y ntp
$> sudo systemctl start ntpd.service
$> sudo systemctl enable ntpd.service

On the compute node, follow the "Configure sudo", "Update your machine", "Enable the Qpid Broker", "Enable libvirt", "Optionally Load nbd" and "Put SELinux into Permissive Mode" instructions from the main page.

Configure nova so that node can find the services on controller:

$ node> echo ' controller' | sudo tee -a /etc/hosts
$ node> openstack-config-set /etc/nova/nova.conf DEFAULT qpid_hostname controller
$ node> openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@controller/nova
$ node> openstack-config-set /etc/nova/nova.conf DEFAULT glance_api_servers controller:9292
$ node> openstack-config-set /etc/nova/nova.conf DEFAULT iscsi_ip_prefix

Enable the compute service:

$ node> for svc in compute network; do sudo systemd start openstack-nova-${svc}.service ; done
$ node> for svc in compute network; do sudo systemd enable openstack-nova-${svc}.service ; done 

How to test

Now when the controller launches instances (see: QA:Testcase_launch_an_instance_on_OpenStack), they're started either on the controller or node.

Expected Results

Verify where instances are running with euca-describe-instances