Add support for running multiple n-cpus for performance testing

When using the fake VIRT_DRIVER, we can launch an arbitrary number of
instances, the next step for performance testing is running an arbitrary
number of n-cpus. This can be done with the following settings in your localrc

 VIRT_DRIVER=fake
 NUMBER_FAKE_NOVA_COMPUTE=50

This can be used for things like measuring load from n-cpu's periodic tasks.

Change-Id: I40e0f05374e2c10c48ea6b8816ef6e7609b3dc80
diff --git a/lib/nova b/lib/nova
index 7a5ff1f..9c38498 100644
--- a/lib/nova
+++ b/lib/nova
@@ -722,6 +722,11 @@
         # The group **$LIBVIRT_GROUP** is added to the current user in this script.
         # Use 'sg' to execute nova-compute as a member of the **$LIBVIRT_GROUP** group.
         screen_it n-cpu "cd $NOVA_DIR && sg $LIBVIRT_GROUP '$NOVA_BIN_DIR/nova-compute --config-file $NOVA_CONF_BOTTOM'"
+    elif [[ "$VIRT_DRIVER" = 'fake' ]]; then
+       for i in `seq 1 $NUMBER_FAKE_NOVA_COMPUTE`
+       do
+           screen_it n-cpu "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-compute --config-file $NOVA_CONF_BOTTOM"
+       done
     else
         screen_it n-cpu "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-compute --config-file $NOVA_CONF_BOTTOM"
     fi
diff --git a/stackrc b/stackrc
index 36171cc..8d9c1f2 100644
--- a/stackrc
+++ b/stackrc
@@ -187,6 +187,9 @@
             LIBVIRT_GROUP=libvirtd
         fi
         ;;
+    fake)
+        NUMBER_FAKE_NOVA_COMPUTE=${NUMBER_FAKE_NOVA_COMPUTE:-1}
+        ;;
     xenserver)
         # Xen config common to nova and neutron
         XENAPI_USER=${XENAPI_USER:-"root"}