path: root/docs
diff options
authorMatthewLi <>2016-01-19 22:37:37 -0500
committerMatthewLi <>2016-01-19 22:38:22 -0500
commitc4d0a8aec1c3b883ac875e538dccde25f477c142 (patch)
tree15b1136208b28ac1f72cec67a7975ff2740809f3 /docs
parent194ae04e266f63512a8f041f6bfd0dc330cd81af (diff)
rubbos installation guide
JIRA: BOTTLENECK-40 Change-Id: I32884dac57210a6479c845dfa6937d3edc7443fb Signed-off-by: MatthewLi <>
Diffstat (limited to 'docs')
1 files changed, 94 insertions, 6 deletions
diff --git a/docs/bottlenecks_brahmaputra_docs/userguide/rubbos/rubbos_installation.rst b/docs/bottlenecks_brahmaputra_docs/userguide/rubbos/rubbos_installation.rst
index 0d4284a..d4edb2e 100644
--- a/docs/bottlenecks_brahmaputra_docs/userguide/rubbos/rubbos_installation.rst
+++ b/docs/bottlenecks_brahmaputra_docs/userguide/rubbos/rubbos_installation.rst
@@ -10,14 +10,102 @@ to test what?
Preinstall Packages
-such as gettext
+There is a need to install some packages before running the rubbos,
+gcc, gettext, g++, libaio1, libaio-dev, make and git are necessary.
+When the rubbos runs on the OPNFV community continuous integration(CI)
+system, the required packages are installed automately as shown in the
+code repository, which is /utils/infra_setup/vm_dev_setup/packages.conf,
+besides, the packages can be encapsulated in the images initially.
+If someone wants to use rubbos locally, he/she has to install them by
+hand, such as in ubuntu 14.04,
+.. code-block:: bash
-How is Rubbos Integrated into Installers
-======================================== CI system
+ apt-get update
+ apt-get install gettext
+How does Rubbos Integrate into Installers
+1.Community CI System
+Rubbos has been successfully integrated into fuel and compass with NOSDN scenario
+in OPNFV community CI system.
+Heat is used to create 9 instances, which is shown in
+/utils/infra_setup/heat_template/, the 9 instances are used
+for installing Apache, Tomcat, Mysql, Control, Benchmark and 4 Clients. The tools,
+such as rubbos, sysstat, oprofile, etc, are installed in these instances to perform
+the test, the test results are stored in the Benchmark instance initially, then they
+are copied to the Rubbos_result instance, finally, the test results are transferred to
+the community dashboard.
+There's a need to store our pakages as large as M bytes or G bytes size, such as
+the images, jdk, apache-ant, apache-tomcat, etc, the OPNFV community storage system,
+Google Cloud Storage, is used, the pakages can be downloaded from
+2.Local Deployment
+If someone wants to run the rubbos in his own environment, he/she can keep to the following steps,
+2.1 Start up instances by using heat, nova or libvert. In Openstack Environemnt,
+the heat script can refer /utils/infra_setup/heat_template/,
+if the openstack doesn't support heat module,
+the script /utils/infra_setup/ can be used.
+Without Openstack, there's a way to set up instances by using libvert, the scripts are shown under
+the directory /utils/rubbos_dev_env_setup.
+The image can be downloaded from the community cloud storage
+.. code-block:: bash
+ curl --connect-timeout 10 -o bottlenecks-trusty-server.img
+2.2 Ssh into the control node and clone the bottlenecks codes to the root directory.
+.. code-block:: bash
+ git clone /bottlenecks
+2.3 Download the packages and decompress them into the proper directory.
+.. code-block:: bash
+ curl --connect-timeout 10 -o app_tools.tar.gz
+ curl --connect-timeout 10 -o rubbosMulini6.tar.gz
+.. code-block:: bash
+ tar zxf app_tools.tar.gz -C /bottlenecks/rubbos
+ tar zxf rubbosMulini6.tar.gz -C /bottlenecks/rubbos/rubbos_scripts
+2.4 Ssh into the Control node and run the script
+.. code-block:: bash
+ source /bottlenecks/rubbos/rubbos_scripts/1-1-1/scripts/
+2.5 Check the test results under the directory /bottlenecks/rubbos/rubbos_results in
+Control node. The results are stored in the format of xml,
+move them to the brower chrome, then you can see the results.
Test Result Description
-throughput, bottlenecks point description
+In OPNFV community, the result is shown in the following format
+ [{'client': 200, 'throughput': 27},
+ {'client': 700, 'throughput': 102},
+ {'client': 1200, 'throughput': 177},
+ {'client': 1700, 'throughput': 252},
+ {'client': 2200, 'throughput': 323},
+ {'client': 2700, 'throughput': 399},
+ {'client': 3200, 'throughput': 473}]
+The results are transferred to the community database and a map is drawed on the dashboard.
+Along with the growth of the number of the client, the throughput grows at first, then meets
+up with a point of inflexion, which is caused by the bottlenecks of the measured system.