rubbos installation guide
[bottlenecks.git] / docs / bottlenecks_brahmaputra_docs / userguide / rubbos / rubbos_installation.rst
1 =====================================
2 Bottlenecks Rubbos Installation Guide
3 =====================================
4
5
6 Rubbos Introduction
7 ====================
8 framework description
9 to test what?
10
11 Preinstall Packages
12 ====================
13 There is a need to install some packages before running the rubbos,
14 gcc, gettext, g++, libaio1, libaio-dev, make and git are necessary.
15 When the rubbos runs on the OPNFV community continuous integration(CI)
16 system, the required packages are installed automately as shown in the
17 code repository, which is /utils/infra_setup/vm_dev_setup/packages.conf,
18 besides, the packages can be encapsulated in the images initially.
19 If someone wants to use rubbos locally, he/she has to install them by
20 hand, such as in ubuntu 14.04,
21
22 .. code-block:: bash
23
24     apt-get update
25     apt-get install gettext
26
27 How does Rubbos Integrate into Installers
28 =========================================
29 1.Community CI System
30
31 Rubbos has been successfully integrated into fuel and compass with NOSDN scenario
32 in OPNFV community CI system.
33
34 Heat is used to create 9 instances, which is shown in
35 /utils/infra_setup/heat_template/HOT_create_instance.sh, the 9 instances are used
36 for installing Apache, Tomcat, Mysql, Control, Benchmark and 4 Clients. The tools,
37 such as rubbos, sysstat, oprofile, etc, are installed in these instances to perform
38 the test, the test results are stored in the Benchmark instance initially, then they
39 are copied to the Rubbos_result instance, finally, the test results are transferred to
40 the community dashboard.
41
42 There's a need to store our pakages as large as M bytes or G bytes size, such as
43 the images, jdk, apache-ant, apache-tomcat, etc, the OPNFV community storage system,
44 Google Cloud Storage, is used, the pakages can be downloaded from
45 https://artifacts.opnfv.org/bottlenecks/rubbos.
46
47 2.Local Deployment
48
49 If someone wants to run the rubbos in his own environment, he/she can keep to the following steps,
50
51 2.1 Start up instances by using heat, nova or libvert. In Openstack Environemnt,
52 the heat script can refer /utils/infra_setup/heat_template/HOT_create_instance.sh,
53 if the openstack doesn't support heat module,
54 the script /utils/infra_setup/create_instance.sh can be used.
55 Without Openstack, there's a way to set up instances by using libvert, the scripts are shown under
56 the directory /utils/rubbos_dev_env_setup.
57
58 The image can be downloaded from the community cloud storage
59
60 .. code-block:: bash
61
62     curl --connect-timeout 10 -o bottlenecks-trusty-server.img
63          http://artifacts.opnfv.org/bottlenecks/rubbos/bottlenecks-trusty-server.img
64
65 2.2 Ssh into the control node and clone the bottlenecks codes to the root directory.
66
67 .. code-block:: bash
68
69     git clone https://git.opnfv.org/bottlenecks /bottlenecks
70
71 2.3 Download the packages and decompress them into the proper directory.
72
73 .. code-block:: bash
74
75     curl --connect-timeout 10 -o app_tools.tar.gz
76          http://artifacts.opnfv.org/bottlenecks/rubbos/app_tools.tar.gz
77     curl --connect-timeout 10 -o rubbosMulini6.tar.gz
78          http://artifacts.opnfv.org/bottlenecks/rubbos/rubbosMulini6.tar.gz
79
80 .. code-block:: bash
81
82     tar zxf app_tools.tar.gz -C /bottlenecks/rubbos
83     tar zxf rubbosMulini6.tar.gz -C /bottlenecks/rubbos/rubbos_scripts
84
85 2.4 Ssh into the Control node and run the script
86
87 .. code-block:: bash
88
89     source /bottlenecks/rubbos/rubbos_scripts/1-1-1/scripts/run.sh
90
91 2.5 Check the test results under the directory /bottlenecks/rubbos/rubbos_results in
92 Control node. The results are stored in the format of xml,
93 move them to the brower chrome, then you can see the results.
94
95 Test Result Description
96 =======================
97 In OPNFV community, the result is shown in the following format
98
99 ::
100
101    [{'client': 200, 'throughput': 27},
102     {'client': 700, 'throughput': 102},
103     {'client': 1200, 'throughput': 177},
104     {'client': 1700, 'throughput': 252},
105     {'client': 2200, 'throughput': 323},
106     {'client': 2700, 'throughput': 399},
107     {'client': 3200, 'throughput': 473}]
108
109 The results are transferred to the community database and a map is drawed on the dashboard.
110 Along with the growth of the number of the client, the throughput grows at first, then meets
111 up with a point of inflexion, which is caused by the bottlenecks of the measured system.