Setup scripts for SLES11 #84

wants to merge 36 commits into


None yet
7 participants

hsiliev commented Jul 18, 2011

Scripts for automatic installation of Cloud Foundry on SLES11: - downloads and packages the different parts of the CloudFoundry - installs common necessary files for all of the CloudFoundry parts(Should be executed on every machine in case of a distributed setup!). - installs the router component - installs the cloud controller and health monitor components - installs the dea component - installs various services currently supported by CloudFoundry

Note: After the installation of the common parts it is advisable to logout and login again.
Note: All installation files have own help messages when executed without parameters.

The scripts perform distributed setup and add proxy settings where needed. They are for SLES11 only and contain no OS detection code since we consider the detection of apps like yum, zipper unreliable - SLES can also have yum for instance.


This comment has been minimized.

Show comment Hide comment

ghost Aug 9, 2011

In order for the mysql2 gem to be installed (this is required by several test cases), on each cloud controller machine the 'libmysqldev' package should be installed.

ghost commented Aug 9, 2011

In order for the mysql2 gem to be installed (this is required by several test cases), on each cloud controller machine the 'libmysqldev' package should be installed.

@hsiliev hsiliev closed this Aug 9, 2011

@hsiliev hsiliev reopened this Aug 12, 2011

Tal Garfinkel and others added some commits Jun 8, 2011

nginx proxy support for uploading/downloading files.
Change-Id: Iab9d86e0d102915d3f29dabe764bd4332747769a
remove uploaded file after it has been packaged up -- eliminates reso…
…urce leak.

Change-Id: Ie27bd3ae0015bd3ad045414dc14bf060190ec2c7
cleanup up temporary directory at startup to prevent persistent resou…
…rce leaks.

Change-Id: I95af33ddeec7961d3670b1563b574b887c58e75a
Syncing java submodule with vcap-java's master branch
Change-Id: Ia2f8802f7b5e1736ae1d196ca6cfaee2f2ca9de9
added error logging for cloud errors and locking errors so we
get a stack trace when these occur.

Change-Id: Ibf99944804234ed6134d195971e70b98cd3d7dcb
fixed small merge bug.
Change-Id: I40a7dab19828ca58028499e936304f2370ac5374
-added support for forcing droplet fetch over http.
-minor style fix in dea.

Change-Id: I512303687ae2254bc515f5996d1cc33d1ecbef69
disable nginx front end for cloud_controller by default.
Change-Id: I183b3f045a32d52c4e484e75987ec8b02ff90bac
Fix router/dea unit tests
Change-Id: I475d1f46a53a0a6a301a756d4a4867e664e6a9f4
lock ruby 1.9.2 at p180
Change-Id: I1c01e90e443c3d5bf051a370d0e0db936292bcfd
changed to note VM memory requirements
Change-Id: I91565d7e3c0a6ea9ab53007ac3146156857b5060
Install PostgreSQL as a service.
Change-Id: I4ee9bf9fcb994702ab47abb428a62633db0e6c7c
-support for downloading logfiles from dea using X-Acel redirect so n…

 does all the work.
-fix for dea so that file viewer returns a proper error if a file
doesn't exist instead of just dropping the connection.

Change-Id: I4db50bf7cf0c0adf8cb30ef8f5943e5eb742bf80
Chef scripts to deploy cloud foundry
This is part 1 of what I think will be a 3 part change. This change adds the
basic chef recipes to deploy cloudfoundry on a single host. The major change is
to install ruby1.8 and ruby1.9 into a configurable directory. As a result I
added a wrapper script to invoke vcap start that sets up the ruby paths
appropriately before starting indivdual components. Note, these changes do not
download the vcap repo (I will add that in a later change).

Most of the chef recipes were downloaded from the opscode website. Some of them
have been modified to meet our requirements.

1.  run dev_setup/bin/vcap_dev_setup to install all the components required
by cloud foundry
2.  run dev_setup/bin/vcap_dev {start, stop, restart} to start cloud foundry

Testing: Installed a base Ubuntu image, ran bvts on cloud foundry installed
using these new scripts.

Change-Id: I22cf25131ae8f8ab725408521a44401578eceedd
Add utility classes.
This adds two classes: one for gathering process stats, and another
for both chaining command execution and capturing stderr.

Test plan:
- Unit tests

Change-Id: Iec73cf8731798e0b0b91cf3efaa4b3dfed2f1cd6
Rewrite chef recipes from scratch.
Remove the stock recipes downloaded from opscode website. These were all
written from scratch.

Testing Done: BVT tests

Change-Id: Ibf2cc130e1c80941173ceba3dd4d5574b20d7c14
micro cloud foundry fix for cloud controller
cloud_controller and dea can't use the same uid base,
as they run on the same system

Change-Id: Icc42369a3d42f834169c2bfa29abc25dad851364
bump services submodule ptr
Change-Id: If637c4fd054ac4e4d3d92aab461d51e4cbbb1b09
Fix license headers
Change-Id: I0d0ff721fc180bc0650c65964557a435638f8c89
More license fixes
Change-Id: I74502d897bce163486755662a39fc3ce733030f5
replaced fast_uuid that uses rand with secure_uuid that uses

Change-Id: Ic248cec9908accdd289b4172d2219ba6105056ee
improved debugging for app change/update
Change-Id: Icf17191eb86d49f738a332133d36de6f8b2c2071
Make staging a blocking operation.
The callers of app_manager#stage were written back before
the cc was made async.  The callers assumed that the call to
the stager was a blocking operation and start making other
state modifications to the app immediately after calls
to app_manger#stage.  This leads to races and the hm usually
needs to get involved to fix things up, especially given
that vmc jumps in and restarts apps after doing a service

Change-Id: Idd987b79b8d897a857912f764791af2219564b58
Fix log file truncation bug in bin/vcap
bin/vcap redirects stdout/stderr to a log file in /tmp/vcap-run if no log
file is specified in a given component config. This file is not opened in append-mode,
which causes attempts to truncate the temporary log file to fail. Fix this
by opening the file in append-mode and immediately truncating it, thus preserving the
original semantics.

Test plan:

Started vcap locally, truncated a temporary log file, made sure that the
correct size was reflected.

Change-Id: I5c07db56fb9801c08e6fab6ef2d15068fd3cf826
ensure things still work if nginx: section not present in

Change-Id: I81d96a44ed431a8b8ad661f966c0aa3156a7bf00
Added logging for user auth failures
Change-Id: Ibd3fd37138a3868d30396866e53b76bb286e4a54
Stager component skeleton
This includes a basic gem skeleton that contains all of the staging code from the CC.
Apart from some minor modifications to get this working without Rails, the code is unchanged.

Test plan:

- Supplied unit tests pass

Change-Id: I65d55c686bed1f8d3301c91cd74ed857f3fd3aba
Refactor stager tests
- Fix the warning for multiple definitions of AUTOSTAGING_JAR
- Move the embedded startup scripts into the fixture directory (lays the groundwork for fully staged droplets)
- General code cleanup

Test plan:
- Unit tests still pass

Change-Id: I00c8e6246608abc905f4add093592ab887154469
Add helper class for loading/validating config files
This adds a tiny utility class that leverages json_schema to declaratively validate and load
config files. Over time, I'm imagining that we'll migrate all components over to this. Also,
reorganize the common spec directory to be more in line with other spec dirs (functional, unit, fixtures sub directories).

Test plan:
- Ran unit tests

Change-Id: Ib828c1d0ec4edb92c6f2ebe91ab68c36255ef148
Templates for CF config files. Also change deployment config from jso…
…n to yml.

Added template files for all cf components including services.
Add comments to the deployment yaml config file. Cleanup some of the scripts.

Change-Id: I9209749ab9ca50a2bd894189c571e1b4c33bc77b
Fix require order bug in DEA tests.
Test plan:
- Ran tests

Change-Id: Ie1594996842e27571c4bc478bb5733e091da5288
advance tests submodule ptr
Change-Id: I6f4916cafb6e0041e941e334b8883b1ac29dcaac
Moved java submodule forward
Change-Id: If33e5c9865e3fd79546642c26754b0414691dc87
advance tests submodule ptr
Change-Id: I716aefa2264def94e785f8dd60ac6db57f7809c4

@hsiliev hsiliev closed this Aug 12, 2011

@hsiliev hsiliev reopened this Aug 12, 2011

@hsiliev hsiliev closed this Aug 12, 2011

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment