Difference between revisions of "Slurm-web Installation"
Line 1: | Line 1: | ||
− | <div class="thumbnail img-thumbnail">http://wiki.sc3.uis.edu.co/images/a/a8/Logo_sc33.png</div> | + | <div class="thumbnail img-thumbnail"><img src="http://wiki.sc3.uis.edu.co/images/a/a8/Logo_sc33.png" alt="Logo_sc33.png" /></div> |
− | <p><code> | + | <p><code><span class="fck_mw_magic" _fck_mw_customtag="true" _fck_mw_tagname="NOTOC" _fck_mw_tagtype="c">_</span></code></p> |
− | <p>Back to | + | <p>Back to <a href="Job%20Scheduler%20Slurm">Job Scheduler Slurm</a></p> |
− | <p>& | + | <p> </p> |
− | <div class="btn btn-primary"><em class="fa | + | <div class="btn btn-primary"><em class="fa fa-long-arrow-left"> </em> <a href="Cursos">Cursos</a></div> |
− | <p>& | + | <p> </p> |
<div class="column clearfix"> | <div class="column clearfix"> | ||
<div class="col-md-14"> | <div class="col-md-14"> | ||
Line 27: | Line 27: | ||
<p>all python modules and javascript libraries ought to be installed via apt packages for the slurm-web installation to work</p> | <p>all python modules and javascript libraries ought to be installed via apt packages for the slurm-web installation to work</p> | ||
<h5><strong>Installing pre-requisites</strong></h5> | <h5><strong>Installing pre-requisites</strong></h5> | ||
− | <p>Some previous packages: {{Command|aptitude install apache2-dev}} {{Command|aptitude install libapache2-mod-wsgi}} {{Command|apt-get install debuild}}</p> | + | <p>Some previous packages: <span class="fck_mw_template">{{Command|aptitude install apache2-dev}}</span> <span class="fck_mw_template">{{Command|aptitude install libapache2-mod-wsgi}}</span> <span class="fck_mw_template">{{Command|apt-get install debuild}}</span></p> |
<h6><strong>Flask:</strong></h6> | <h6><strong>Flask:</strong></h6> | ||
− | <p>{{Command|aptitude install python-flask}} Test it by the procedure detailed in http://flask.pocoo.org/</p> | + | <p><span class="fck_mw_template">{{Command|aptitude install python-flask}}</span> Test it by the procedure detailed in <a href="http://flask.pocoo.org/" alt="http://flask.pocoo.org/" title="http://flask.pocoo.org/">http://flask.pocoo.org/</a></p> |
<h6><strong>ClusterShell:</strong></h6> | <h6><strong>ClusterShell:</strong></h6> | ||
− | <p>{{Command|aptitude install clustershell}} Check the project page for more info http://cea-hpc.github.io/clustershell/</p> | + | <p><span class="fck_mw_template">{{Command|aptitude install clustershell}}</span> Check the project page for more info <a href="http://cea-hpc.github.io/clustershell/" alt="http://cea-hpc.github.io/clustershell/" title="http://cea-hpc.github.io/clustershell/">http://cea-hpc.github.io/clustershell/</a></p> |
<h6><strong>PySlurm:</strong></h6> | <h6><strong>PySlurm:</strong></h6> | ||
<p>The slurm-web package require pyslurm to be provided by a package called python-pyslurm. In the debian release where this procedure was tested that package didn't exist, so it had to be provided by a dummy package.</p> | <p>The slurm-web package require pyslurm to be provided by a package called python-pyslurm. In the debian release where this procedure was tested that package didn't exist, so it had to be provided by a dummy package.</p> | ||
− | <p>First, install the real pyslurm using pip {{Command|pip install pyslurm}}</p> | + | <p>First, install the real pyslurm using pip <span class="fck_mw_template">{{Command|pip install pyslurm}}</span></p> |
− | <p>Test it using the examples shown in http://www.gingergeeks.co.uk/pyslurm/</p> | + | <p>Test it using the examples shown in <a href="http://www.gingergeeks.co.uk/pyslurm/" alt="http://www.gingergeeks.co.uk/pyslurm/" title="http://www.gingergeeks.co.uk/pyslurm/">http://www.gingergeeks.co.uk/pyslurm/</a></p> |
− | <p>Then create a dummy package using equivs. First, install equivs if your system doesn't have it: {{Command|aptitude install equivs}} then create a configuration file for our new package {{Command|equivs-control python-pyslurm}}.& | + | <p>Then create a dummy package using equivs. First, install equivs if your system doesn't have it: <span class="fck_mw_template">{{Command|aptitude install equivs}}</span> then create a configuration file for our new package <span class="fck_mw_template">{{Command|equivs-control python-pyslurm}}</span>.  Now, we should edit the configuration file for the package to provide python-pyslurm <a href="http://www.brain-dump.org/blog/entry/40/Creating_dummy_packages_to_fullfill_dependencies_in_Debian" alt="http://www.brain-dump.org/blog/entry/40/Creating_dummy_packages_to_fullfill_dependencies_in_Debian" title="http://www.brain-dump.org/blog/entry/40/Creating_dummy_packages_to_fullfill_dependencies_in_Debian">[1]</a>.  The package will provide nothing in reality, but the package management system will be fooled into thinking that the package is present. The actual functionality is going to be provided by the pyslurm pip package. The important options are presented below:</p> |
− | <p>{{File|nano python-pyslurm| | + | <p><span class="fck_mw_template">{{File|nano python-pyslurm|<br />Section: misc<br />Priority: optional<br />Standards-Version: 3.5.10<br /><br />Package: python-pyslurm<br />Provides: python-pyslurm<br />Architecture: all<br /><br />Description: Dummy package whichs only purpose is to provide pyslurm}}</span></p> |
− | <p>Now, build the package: {{Command|equivs-build python-pyslurm}}</p> | + | <p>Now, build the package: <span class="fck_mw_template">{{Command|equivs-build python-pyslurm}}</span></p> |
− | <p>And, install it: {{Command|dpkg -i python-pyslurm_1.0_all.deb}}</p> | + | <p>And, install it: <span class="fck_mw_template">{{Command|dpkg -i python-pyslurm_1.0_all.deb}}</span></p> |
<h6><strong>Bootstrap, jQuery y Float:</strong></h6> | <h6><strong>Bootstrap, jQuery y Float:</strong></h6> | ||
− | <p>{{Command|aptitude install libjs-bootstrap libjs-jquery-flot libjs-jquery-tablesorter}}</p> | + | <p><span class="fck_mw_template">{{Command|aptitude install libjs-bootstrap libjs-jquery-flot libjs-jquery-tablesorter}}</span></p> |
− | <p>Now, bootstrap must be activated using: {{Command|a2enconf javascript-common}}</p> | + | <p>Now, bootstrap must be activated using: <span class="fck_mw_template">{{Command|a2enconf javascript-common}}</span></p> |
− | <p>& | + | <p> </p> |
<h5><strong>Installation of the main package</strong></h5> | <h5><strong>Installation of the main package</strong></h5> | ||
− | <p>First, it is required to get the latest snapshot of slurm-web from github: {{Command|git clone https://github.com/edf-hpc/slurm-web.git}}. Then, build the package from the project directory: {{Command|debuild -us -uc}}</p> | + | <p>First, it is required to get the latest snapshot of slurm-web from github: <span class="fck_mw_template">{{Command|git clone https://github.com/edf-hpc/slurm-web.git}}</span>. Then, build the package from the project directory: <span class="fck_mw_template">{{Command|debuild -us -uc}}</span></p> |
− | <p>Finally, install using dpkg, first the REST api package then the dashboard: {{Command|dpkg -i slurm-web-restapi_1.1.3_amd64.deb}} {{Command|dpkg -i slurm-web-dashboard_1.1.3_amd64.deb}}</p> | + | <p>Finally, install using dpkg, first the REST api package then the dashboard: <span class="fck_mw_template">{{Command|dpkg -i slurm-web-restapi_1.1.3_amd64.deb}}</span> <span class="fck_mw_template">{{Command|dpkg -i slurm-web-dashboard_1.1.3_amd64.deb}}</span></p> |
− | <p>& | + | <p> </p> |
<h5><strong>Configuration and customisation</strong></h5> | <h5><strong>Configuration and customisation</strong></h5> | ||
− | <p>In /usr/share/slurm-web/ there is a folder called static.& | + | <p>In /usr/share/slurm-web/ there is a folder called static.  Put a custon logo there.  In /etc/slurm-web/ there is a file called racks.xml.  That file must be edited. The example for GUANE is presented below, but a more general version is shown in the oficial documentation of slurm-web <a href="http://edf-hpc.github.io/slurm-web/installation.html" alt="http://edf-hpc.github.io/slurm-web/installation.html" title="http://edf-hpc.github.io/slurm-web/installation.html">[2]</a></p> |
− | {{File|nano python-pyslurm| | + | <p><span class="fck_mw_template">{{File|nano python-pyslurm|fckLR<pre><?xml version="1.0" encoding="UTF-8"?> |
− | <pre><?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE rackmap SYSTEM "/usr/share/slurm-web/restapi/schema/dtd/racks.dtd"> | <!DOCTYPE rackmap SYSTEM "/usr/share/slurm-web/restapi/schema/dtd/racks.dtd"> | ||
<rackmap> | <rackmap> | ||
Line 79: | Line 78: | ||
</racks> | </racks> | ||
</rackmap> | </rackmap> | ||
− | </pre> | + | </pre>fckLR}}</span> |
− | }} | + | </p> |
− | <p>& | + | <p> </p> |
− | <p>& | + | <p> </p> |
<h5><strong>To do:</strong></h5> | <h5><strong>To do:</strong></h5> | ||
− | <p>Figure out a distribution independent way of installation.& | + | <p>Figure out a distribution independent way of installation.  Since it only uses javascript and python, it should be possible to install via "sources" and paths.</p> |
</div> | </div> | ||
</div> | </div> | ||
</div> | </div> |
Revision as of 16:13, 16 October 2015
_
Back to <a href="Job%20Scheduler%20Slurm">Job Scheduler Slurm</a>
First, let's review the pre-requisites:
- python
- pyslurm (python module)
- Flask (python module)
- clusterShell (python module)
- bootstrap (javascript library)
- jQuery
- Flot (jQuery extension for graph drawing)
all python modules and javascript libraries ought to be installed via apt packages for the slurm-web installation to work
Installing pre-requisites
Some previous packages:
Flask:
ClusterShell:
PySlurm:
The slurm-web package require pyslurm to be provided by a package called python-pyslurm. In the debian release where this procedure was tested that package didn't exist, so it had to be provided by a dummy package.
First, install the real pyslurm using pip
Test it using the examples shown in <a href="http://www.gingergeeks.co.uk/pyslurm/" alt="http://www.gingergeeks.co.uk/pyslurm/" title="http://www.gingergeeks.co.uk/pyslurm/">http://www.gingergeeks.co.uk/pyslurm/</a>
Then create a dummy package using equivs. First, install equivs if your system doesn't have it:
Now, build the package:
And, install it:
Bootstrap, jQuery y Float:
Now, bootstrap must be activated using:
Installation of the main package
First, it is required to get the latest snapshot of slurm-web from github:
Finally, install using dpkg, first the REST api package then the dashboard:
Configuration and customisation
In /usr/share/slurm-web/ there is a folder called static. Put a custon logo there. In /etc/slurm-web/ there is a file called racks.xml. That file must be edited. The example for GUANE is presented below, but a more general version is shown in the oficial documentation of slurm-web <a href="http://edf-hpc.github.io/slurm-web/installation.html" alt="http://edf-hpc.github.io/slurm-web/installation.html" title="http://edf-hpc.github.io/slurm-web/installation.html">[2]</a>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE rackmap SYSTEM "/usr/share/slurm-web/restapi/schema/dtd/racks.dtd"> <rackmap> <nodetypes> <nodetype id="psl390s-1" model="HP Proliant SL390s" height="4" width="0.5" /> <nodetype id="psl390s-2" model="HP Proliant SL390s" height="4" width="0.5" /> </nodetypes> <racks> <!-- Rack A1 --> <rack id="guane" posx="0"> <nodes> <nodeset id="guane[01-16]" type="psl390s-1" posx="0" posy="31" draw="down" /> </nodes> </rack> </racks> </rackmap>fckLR
To do:
Figure out a distribution independent way of installation. Since it only uses javascript and python, it should be possible to install via "sources" and paths.