Clarify prereqs
diff --git a/README.md b/README.md
index 701416d..aeb7669 100644
--- a/README.md
+++ b/README.md
@@ -4,12 +4,23 @@
 single "head node" and connected by an isolated private network. [Juju](http://www.ubuntu.com/cloud/tools/juju) is used
 to install and configure the OpenStack services.
 
+## Prerequisites
+
+* *Set up control machine:* The install playbooks in this repository are designed to be run on a
+  separate control machine (e.g., a laptop).
+  * Install a recent version of Ansible (Ansible 1.9.x on Mac OS X or Ubuntu should work).
+  * Be able to login to all of the cluster servers from the control machine using SSH.
+* *Set up servers:* One server in the cluster will be the "head" node, running the OpenStack
+  services.  The rest will be "compute" nodes.  
+ * Install Ubuntu 14.04 LTS on all servers.
+ * The user account used to login from the control machine must have *sudo* access.
+ * Each server should have a single active NIC (preferably eth0) with connectivity to the
+   Internet.
+
 ## How to use it
 
-The playbook is designed to be run on a separate control machine that has a recent version of Ansible installed (e.g., a laptop).
-Here are the basic steps for installing a new OpenCloud cluster named 'foo':
+Once the prerequisites are satisfied, here are the basic steps for installing a new OpenCloud cluster named 'foo':
 
-* Install Ubuntu 14.04 LTS on the head and compute nodes.
 * Create *foo-setup.yml* and *foo-compute.yml* files using *cloudlab-setup.yml* and *cloudlab-compute.yml* as templates.  Create a *foo-hosts* file with the DNS names of your nodes based on *cloudlab-hosts*.
 * If you are **not** installing on CloudLab, edit *group_vars/all*.  Change *cloudlab: true* to *cloudlab: false*.
 * If you are installing a cluster for inclusion in the **public OpenCloud**, change *mgmt_net_prefix* in *foo-setup.yml* to be unique across all OpenCloud clusters.