[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