Project

General

Profile

Sandbox dashboard » History » Version 1

Herve Caumont, 2013-06-19 18:05

1 1 Herve Caumont
h1. Understanding the Sandbox
2
3
{{>toc}}
4
5
h2. The Sandbox dashboard
6
7
The Sandbox dashboard is a Web User Interface exposing the Sandbox information and functionalities.
8
9
The Sandbox dashboard is accessible at the address:
10
11
<pre>
12
http://<sandbox address>/dashboard 
13
</pre>
14
15
The Sandbox dashboard main tabs are described below.
16
17
h3. Dashboard
18
19
The Sandbox dashboard dashboard tab contains information about the Sandbox itself:
20
* Sandbox Information:
21
** Name
22
** Type
23
** Virtual Machine ID
24
** Status
25
** Owner
26
* Sandbox Controls
27
** ...
28
* Security Information
29
** Get private key
30
* Network Information
31
** Host Name
32
** IP address
33
** Mac Address
34
35
h3. Application
36
37
The Application dashboard tab allows editing the Application Descriptor file as you would do it on a graphical XML editor (the editor features code completion).
38
39
The *Save* button will save the changes on the Application Descriptor file.
40
41
The *Reload" button will reload the Application Descriptor file e.g. if the Application Descriptor file has been edited in the Sandbox shell.
42
43
The *Deploy Service* packages the application to be deployed as a processing Service on the Web Portal (requires support from the Web Portal team).
44
45
The *Start Workflow Sample* triggers the execution of the workflow (it is equivalent to executing the ciop-simwf command from the Sandbox shell).
46
47
h3. Data
48
49
h3. Compute
50
51
The Compute dashboard tab show the Sandbox computing resources information and health:
52
* Sandbox total nodes
53
* Sandbox Service State
54
* CPU Usage
55
* Memory Usage
56
* Home Disk Usage
57
* Application Disk Usage
58
59
h3. Support
60
61
The Support dashboard tab allows submitting support issues and list the submitted issues.
62
63
The issues are managed on the Redmine support portal.
64
65
h2. The Sandbox filesystems
66
67
In the context of the application life-cycle in CIOP, the Sandbox has three filesystems (or directory):
68
* /home/<user> that we refer to as *HOME* 
69
* /application that we refer to as *APPLICATION*
70
* /share that we refer to as *SHARE*
71
72
h3. HOME directory
73
74
> A user's home directory is intended to contain that user's files; including text documents, music, pictures or videos, etc. It may also include their configuration files of preferred settings for any software they have used there and might have tailored to their liking: web browser bookmarks, favorite desktop wallpaper and themes, passwords to any external services accessed via a given software, etc. The user can install executable software in this directory, but it will only be available to users with permission to this directory. The home directory can be organized further with the use of sub-directories.
75
76
Source Wikipedia
77
78
As such, in CIOP, the *HOME* is used to store the user's files. It can be used to store source files (the compiled programs would then go *APPLICATION*). 
79
80
> At job or workflow execution time, CIOP uses a system user to execute the application. This system user cannot read files in *HOME*.  
81
82
> When the application is run on the CIOP Runtime Environment, the *HOME* directory is not available in any of the computing nodes. 
83
84
h3. APPLICATION filesystem
85
86
The *APPLICATION* filesystem contains all the files required to run the application.
87
88
The *APPLICATION* filesystem is available on the Sandbox as /application.
89
90
> Whenever an application wrapper script needs to use the *APPLICATION* value (/application) the variable $_CIOP_APPLICATION_PATH, example:
91
92
<pre>
93
export BEAM_HOME=$_CIOP_APPLICATION_PATH/common/beam-4.11
94
</pre>
95
96
The *APPLICATION* contains
97
* the Application Descriptor File, named _application.xml_ and described here: [[Application descriptor]]
98
* a folder for each job template
99
100
A *job template* folder contains:
101
* the streaming executable, a script that deals with the _stdin_ managed by CIOP (e.g. EO data URLs to be passed to ciop-copy). There isn't a defined naming convention although it is often called _run_.
102
103
> Tip: The streaming executable will read its inputs via stdin managed by the CIOP Hadoop Map Reduce streaming underlying layer 
104
105
* a set of folders such as:
106
** /application/<job template name>/bin standing for "binaries" and contains certain fundamental job utilities which are in part needed by the job wrapper script.
107
** /application/<job template name>/etc containing job-wide configuration files
108
** /application/<job template name>/lib containing the job libraries
109
** ...
110
111
> There aren't any particular rules for the folders in the job template folder
112
113
The *APPLICATION* of a workflow with two jobs can then be represented as
114
115
  /application/
116
 	application.xml
117
 	/job_template_1
118
    	run
119
 		/bin
120
 		/etc
121
 	/job_template_2
122
 		run
123
 		/bin
124
 		/lib
125
126
h3. SHARE filesystem
127
128
The *SHARE* filesystem is the Sandbox distributed filesystem mount point. It is a HDFS filesystem used to store the application's job outputs generated by the execution of ciop-simjob and/or ciop-simwf.
129
130
The *SHARE* filesystem is available on the Sandbox as /share and the HDFS distributed filesystem acces point is /tmp thus, on the Sandbox, /share/tmp is the root of the distributed filesysyem.
131
132
h4. SHARE for ciop-simjob
133
134
When the ciop-simjob is invoked to run a node of the workflow, the outputs are found in:
135
136
<pre>
137
/share/tmp/sandbox/<workflow name>/<node name>
138
</pre> 
139
140
A job can be executed several times but the results of a previous execution will be deleted.
141
142
> Tip: the workflow and node names are found in the Application Descriptor File, named _application.xml_ and described here: [[Application descriptor]]
143
144
> Tip: ciop-simjob -n will list the workflow node name(s), check the ciop-simjob reference page here: [[ciop-simjob]]
145
146
h4. SHARE for ciop-simwf
147
148
When the ciop-simwf is invoked to run the complete application workflow, the outputs are found in a dedicated folder under *SHARE*:
149
150
<pre>
151
/share/tmp/sandbox/run/<run identifier>/<node name>/data
152
</pre> 
153
154
Contrarly to ciop-simjob, ciop-simwf keeps all workflow execution runs. This feature allows comparing the results of different sets of parameters for example.
155
156
> Tip: check the [[Application descriptor]] page to define default parameter values and how to override these in the workflow