From: Tomas Sedovic <[email protected]>
---
README | 186 +++++++++++++++++++++++-----------------------------------------
1 files changed, 67 insertions(+), 119 deletions(-)
diff --git a/README b/README
index 28b36ad..96fafde 100644
--- a/README
+++ b/README
@@ -1,8 +1,10 @@
Getting the sources
-------------------
+
The Deltacloud project consists of two parts: **Core** and **Aggregator**. Core
gives you the API and drivers to various cloud providers. It also provides a
-client to the API so that you can see it in action.
+commandline client to the API so that you can see it in action and a library
+for writing your own clients.
Aggregator is a web frontend to the API.
@@ -24,162 +26,108 @@ or download them to your computer:
Note that the development of the **docs** and **aggregator** takes place on the
`next` branch, which contains the latest version of the code.
-To get the stable version, omit the `--branch next` part.
+If you `git` doesn't support the `--branch` option, do this instead:
+ $ git clone git://git.fedorahosted.org/git/deltacloud/aggregator.git/
+ $ cd aggregator
+ $ git checkout -t -b next origin/next
-Installing packages
--------------------
-In order to make the Deltacloud components work, you'll need to
-install at least the following packages (on Fedora 12; your distro's
-packages may vary):
+To get the stable version, don't switch to the `next` branch at all.
+Required packages
+-----------------
+In order to make the Deltacloud components work, you'll need to
+have the following packages installed (on Fedora 12; the names may vary on
+your distro):
+
+ ruby
+ ruby-devel
+ gcc-c++
+ libxml2-devel
+ libxslt-devel
rubygem-rails
- rubygem-daemons
rubygem-gettext_rails
rubygem-sqlite3-ruby
- rubygem-haml
- rubygem-sinatra
- rubygem-thin
-
-Some packages are not in Fedora yet and you have to install them using
-[rubygems](http://rubygems.org/):
-
- # gem install compass
- # gem install authlogic
-
-If you want to develop using PostgreSQL database instead of the default SQLite,
-install these, too:
-
- ruby-postgres
- postgresql
- postgresql-server
-
-You will also need **deltacloud-client** gem. You can either install the
packaged version:
-
- # gem install deltacloud-client
-
-or build it yourself from the **core** repository:
-
- $ cd core/client
- $ gem build deltacloud-client.gemspec
- $ sudo gem install deltacloud-client-<version>.gem
-
-
-Database
---------
-For development purposes we're using [SQLite] database which is much easier to
-set up.
-
-However, we _strongly_ suggest using a more suitable replacement (such as
-[PostgreSQL]) in production.
-
-[SQLite]: http://www.sqlite.org/
-[PostgreSQL]: http://www.postgresql.org/
-
-If you want to set up PostgreSQL, read the following section. SQLite users may
-skip it and continue with "Setting up the drivers".
-
-
-PostgreSQL database setup
--------------------------
-Once you have the proper packages installed you have to setup the
-postgresql database. As root:
- # /sbin/service postgresql initdb
- # /sbin/service postgresql start
- # su - postgres
- # psql
- postgres=# CREATE USER dcloud WITH PASSWORD 'v23zj59an' CREATEDB;
- postgres=# \q
- exit
+**Note:** we recommend using Rails version 2.3.4 or 2.3.5 (default in
+Fedora 12). Older or newer versions may not be compatible at the moment.
-Now you need to edit the pg_hba.conf file
-(`/var/lib/pgsql/data/pg_hba.conf` on Fedora 12):
+Installing the Deltacloud Core
+------------------------------
- local all all trust
- host all all 127.0.0.1 255.255.255.255 trust
- host all all ::1/128 trust
-
-If you are running on Fedora 12 *only*, to make rake
-succeed you need to append the following to
-`/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/connection_adapters/postgresql_adapter.rb`:
-
- def PGconn.quote_ident(name)
- %("#{name}")
- end
-
-(see <http://github.com/mneumann/postgres-pr/issues/unreads#issue/1>)
-
-
-Setting up the drivers
-----------------------
-For testing purposes we'll start with the mock driver. Use of the
-rest of the drivers should be similar, although may require some
-additional gems be installed.
-
-The easiest way to solve the gem dependencies is to build the deltacloud-core
-gem:
+First, you need to install the server that will give you the Deltacloud API:
$ cd path/to/deltacloud/core/server
$ rake package
$ sudo gem install pkg/deltacloud-core-<version>.gem
-To start the server, run the `delacloudd` script:
+Then install the client library:
- $ cd path/to/deltacloud/core/server/bin
- $ ./deltacloudd -i mock
+ $ cd path/to/deltacloud/core/client
+ $ rake package
+ $ sudo gem install deltacloud-client-<version>.gem
-This will run the Deltacloud Core server on port 3001.
+Once you have the client installed, run the following command:
+ $ rake fixtures
Setting up the Aggregator
--------------------------
-Now we need to setup the Aggregator. As your user who will run the Aggregator:
+------------------------------------
-### With SQLite ###
+The easiest way to get Deltacloud up and running is to use [SQLite] as the
+database backend:
- $ cd path/to/deltacloud/aggregator/src/config
- $ cp database.sqlite database.yml
+ $ cd aggregator/src
+ $ cp config/database.sqlite config/database.yml
**Note:** you can update the paths in the "database.yml" file to change the
location of the *.sqlite3 database files.
- $ rake db:create:all
- $ rake db:migrate
- $ cd <wherever you put it>/db
+[SQlite]: http://sqlite.org/
-You should see the "development.sqlite3" file there. Make sure it is owned by
-the user who will run the Aggregator. The directory where the database files
-are stored must be also writable by this user.
+This command installs all the missing ruby gems:
-### With PostgreSQL ###
+ # rake gems:install
+
+And this sets the database up:
- $ cd path/to/deltacloud/aggregator/src
- $ cp database.pg database.yml
$ rake db:create:all
$ rake db:migrate
- $ rake db:test:prepare
-If all went well here, then the database should be ready for you
-to start up the Aggregator.
+Tying it all together
+---------------------
-You can now run the UI:
+**Note:** some distributions don't add the directory with the gem executables
in
+your PATH environment. If that is the case, add the directory manually:
- $ ./script/server
+ $ export PATH=$PATH:/var/lib/gems/<version>/bin
-Which will start up the Aggregator on port 3000.
+Run the Core server with the mock driver:
+ $ deltacloudd -i mock
-Checking out the UI
--------------------
-Now that you have all of the components running, you should be able to point
-your web browser at <http://localhost:3000> and see the Aggregator page.
+Now if you go to <http://localhost:3001/> you should be able to see a page
+documenting the API. If you add the ".xml" extension to any page, you will see
+the API in action.
+
+The mock driver simulates the API behavior without making you to connect
+to a real cloud provider. For a guide to connecting Deltacloud to a provider,
+go to the [Drivers section of the Documentation][drivers].
-To be able to use it properly, you will need to create a user. You can do it on
-the Aggregator website. Users created this way have limited privileges,
however.
-We recommend setting up one user as an administrator of the site.
+[drivers]: ./drivers.html
-This is how you turn an existing user into an admin:
+Make sure that the `src/db` and `src/log` directories are owned by the user
+who will be running the Aggregator.
+
+Run the Aggregator:
$ cd path/to/deltacloud/aggregator/src
+ $ ./script/server
+
+In your web browser go to <http://localhost:3000> and create a new user.
+
+To experience the full functionality, you should have one user with admin
+privileges. Run the following command in your `deltacloud/aggregator/src`
+directory (put the name of your Aggregator user in the brackets):
+
$ rake dc:site_admin[aggregator_username]
--
1.6.6.1
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel