[PATCH conductor 1/1] README.md now has steps for a developer to get started using bundler.

Crag Wolfe cwolfe at redhat.com
Wed Jul 25 16:58:26 UTC 2012


README.md now has steps for a developer to get started using bundler.
Removed README.creole in favor of README.md.
Gemfile.lock now specifies compass version 0.11.7, otherwise
"bundle exec compass compile" breaks.
---
 README.creole    |   18 -------
 README.md        |  132 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/Gemfile.lock |    4 +-
 3 files changed, 134 insertions(+), 20 deletions(-)
 delete mode 100644 README.creole
 create mode 100644 README.md

diff --git a/README.creole b/README.creole
deleted file mode 100644
index 8c60c96..0000000
--- a/README.creole
+++ /dev/null
@@ -1,18 +0,0 @@
-= Aeolus Conductor =
-Aeolus Conductor is the web front-end to the [[https://www.aeolusproject.org/|Aeolus Project]], a software suite which aims to free users from cloud lock-in by providing a single, consistent set of tools to build and manage organized groups of virtual machines across clouds.
-
-== Installation ==
-Conductor has a number of dependencies. They are best outlined [[https://www.aeolusproject.org/get_it.html|here]] for now, which includes instructions for setting up and using our [[http://repos.fedorapeople.org/repos/aeolus/conductor/|yum repos]].
-
-== Developers ==
-Developers may find the [[https://www.aeolusproject.org/developers.html|Documentation for Developers]] page helpful.
-
-== Documentation ==
-* [[https://www.aeolusproject.org/about.html|Project Overview]], and a [[https://www.aeolusproject.org/projects.html|Project List]] with explanations.
-* [[https://www.aeolusproject.org/redmine/projects/aeolus/wiki/|Aeolus Project wiki]] (which could use a little cleanup)
-* [[https://www.aeolusproject.org/redmine/rb/master_backlogs/aeolus|Sprint backlog]]
-* [[https://www.aeolusproject.org/use_it.html|Using Aeolus Conductor]]
-
-== Contact ==
-Team members can be found in #aeolus on [[http://freenode.net/using_the_network.shtml|Freenode]]. We also make heavy use of the [[https://fedorahosted.org/mailman/listinfo/aeolus-devel|aeolus-devel@lists.fedorahosted.org]] mailing list. (You may also find the [[https://fedorahosted.org/pipermail/aeolus-devel/|aeolus-devel list archives]] helpful.) Don't be shy!
-
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..b55d8b7
--- /dev/null
+++ b/README.md
@@ -0,0 +1,132 @@
+Aeolus Conductor
+================
+
+About
+-----
+Aeolus Conductor is a Ruby-based web framework for cloud management.  It
+is one component of the [Aeolus Project](http://www.aeolusproject.org/).
+
+For a chart of how Conductor fits with the other components, see:
+[Aeolus Components](https://www.aeolusproject.org/redmine/projects/aeolus/wiki/Aeolus_Components) 
+
+Just Want To Try It Out?
+------------------------
+
+If your goal is just to try it out, start here:
+[Get It](https://www.aeolusproject.org/get_it.html)
+
+Otherwise, if you are a developer that wants to set up a development
+enviornment for Conductor using the latest upstream code, this
+document is for you.
+
+Setting Up a Development Environment Using Bundler
+--------------------------------------------------
+
+All the ruby gems that we rely on for development we grab locally in
+our working directory via Bundler.  Therefore, the only ruby gems that
+must already be installed gem and bundler.
+
+### System Prerequisites ###
+
+There are a few things that need to be done as root or a sudo-enabled
+user before we check out the Conductor repository and fire up the
+development server.
+
+We rely on the system to provide some development libraries, ruby and a
+database.  Specifically for RHEL 6 or Fedora Core 16 or 17, we can grab these
+dependencies (assuming our database of choice is postgres) with:
+
+  yum install -y postgresql-server postgresql postgresql-devel ruby
+    ruby-devel ruby-rdoc git libxml2 libxml2-devel libxslt
+    libxslt-devel gcc gcc-c++
+
+This set of requirements are not unusual and should look familiar to
+the experienced Ruby developer.
+
+We will need an aeolus system user, so if necessary execute a couple
+of shell commands like "useradd aeolus" and "passwd aeolus".
+  
+Setting up postgres can be a bit of a nuisance for the unitiated; here
+are some shell commands that are known to work for RHEL6 or FC16/17:
+
+  # For RHEL6, comment in:
+  # service postgresql initdb
+  # Otherwise for FC16 or 17:
+  # postgresql-setup initdb
+  
+  echo 'local all all trust' > /var/lib/pgsql/data/pg_hba.conf
+  echo 'host all all 127.0.0.1/32 trust' >> /var/lib/pgsql/data/pg_hba.conf
+  echo 'host all all ::1/128 trust' >> /var/lib/pgsql/data/pg_hba.conf
+  
+  chown postgres.postgres /var/lib/pgsql/data/pg_hba.conf
+  chmod go-rw /var/lib/pgsql/data/pg_hba.conf
+  
+  # For RHEL6, comment in:
+  # service postgresql start
+  # Otherwise for FC16 or FC17:
+  # systemctl start postgresql.service
+  
+  su - postgres -c "psql -c \"CREATE USER aeolus WITH PASSWORD 'v23zj59an';\""
+  su - postgres -c "psql -c \"alter user aeolus CREATEDB;\""
+
+Make sure that you have gem and bundler installed.  The version of gem
+installed shouldn't matter much, but you may just want to grab the
+latest stable version of gem and install it manually, for instance:
+
+  mkdir -p gem-install
+  cd gem-install
+  wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz
+  tar -xzf rubygems-1.8.24.tgz
+  cd rubygems*
+  ruby setup.rb
+  
+  # install bundler
+  gem install bundler
+
+### Setting Up a Development Workspace ###
+
+The following sample shell commands check out the Conductor code to a
+directory named "w1/conductor."  Gems pulled down by bundler live in
+"/w1/gem".
+
+It is highly recommended to execute these commands as the aeolus user,
+as some of the postgres setup executed below assumes this is the case.
+
+  export here=`pwd`
+  export WORKDIR="$here/w1"
+  mkdir -p $WORKDIR
+  cd $WORKDIR
+  git clone git://github.com/aeolusproject/conductor.git
+  cd $WORKDIR/conductor
+  git submodule init
+  git submodule update
+
+  # where the gems bundle pulls down will live:
+  mkdir -p $WORKDIR/bundler
+
+  # pull down the gem dependencies
+  cd $WORKDIR/conductor/src
+  export USE_BUNDLER=yes
+  bundle install --path $WORKDIR/bundler
+
+  # In this example, we use postgres.
+  cp $WORKDIR/conductor/src/config/database.pg \
+   $WORKDIR/conductor/src/config/database.yml
+
+  # create db schema
+  bundle exec rake -v db:create:all
+  # answer yes to command below
+  bundle exec rake -v dc:setup
+  
+  # Precompile some needed stylesheets.
+  bundle exec compass compile
+
+  # Start the server
+  bundle exec rails server
+
+That's it!  With the last line below, your development server should
+be listening on port 3000.
+
+Contact
+-------
+Team members can be found in #aeolus on [[http://freenode.net/using_the_network.shtml|Freenode]]. We also make heavy use of the [[https://fedorahosted.org/mailman/listinfo/aeolus-devel|aeolus-devel@lists.fedorahosted.org]] mailing list. (You may also find the [[https://fedorahosted.org/pipermail/aeolus-devel/|aeolus-devel list archives]] helpful.) Don't be shy!
diff --git a/src/Gemfile.lock b/src/Gemfile.lock
index df278d9..d1e225c 100644
--- a/src/Gemfile.lock
+++ b/src/Gemfile.lock
@@ -46,7 +46,7 @@ GEM
     childprocess (0.3.2)
       ffi (~> 1.0.6)
     chunky_png (1.2.5)
-    compass (0.12.2)
+    compass (0.11.7)
       chunky_png (~> 1.2)
       fssm (>= 0.2.7)
       sass (~> 3.1)
@@ -192,7 +192,7 @@ PLATFORMS
 DEPENDENCIES
   aeolus-image (>= 0.4.0)
   capybara
-  compass
+  compass (~> 0.11.7)
   compass-960-plugin
   cucumber
   cucumber-rails
-- 
1.7.1




More information about the aeolus-devel mailing list