Commit de05dc1b authored by Paschalis Korosoglou's avatar Paschalis Korosoglou
Browse files

Merge pull request #267 from gouzouni625/central-vm-changes

Changes of the Documentation and Instructions
parents 8373e5e0 b8ee5f78
## Description
When deploying a new Central ~okeanos LoD Service VM, you need to provide a certificate from a
trusted authority. Before running Ansible, you should place the `SSL Certificate File`,
`SSL Certificate Key File` and `SSL Certificate Chain File` inside this directory. You should also
change the names of these file as follows:
SSL Certificate File: `snf-XXXXXX.vm.okeanos.grnet.gr.crt`
SSL Certificate Key File: `snf-XXXXXX.vm.okeanos.grnet.gr.key`
SSL Certificate Chain File: `DigiCertCA.crt`
When deploying a new Central ~okeanos LoD Service VM, you need to provide a certificate from a trusted authority.
Before running Ansible, you should place the SSL Certificate File, SSL Certificate Key File and SSL Certificate Chain File
inside roles/central-vm/files/ directory. You should also change the values of the respective variables inside
roles/central-vm/vars/main.yml to the names of the provided files.
......@@ -36,6 +36,11 @@
<Directory /var/www/okeanos-LoD/central_service/app/frontend/dist/>
Order deny,allow
Allow from all
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</Directory>
SetEnvIf Origin "https://({{ ansible_default_ipv4.address }})$" AccessControlAllowOrigin=$0
......
import Ember from "ember";
export default Ember.Helper.helper(function([curPath, path]) {
if (curPath.indexOf(path) === -1) {
return "";
}
else {
return "active treeview";
}
export default Ember.Helper.helper(function([currentPath, mode]) {
var pathRoot = currentPath.split(".")[0];
if(pathRoot === mode){
return "active treeview";
}
return "";
});
......@@ -6,8 +6,25 @@ var Router = Ember.Router.extend({
});
Router.map(function () {
this.route('lambda-instance');
this.route('lambda-application');
this.route('lambda-instance', function() {});
this.route('lambda-application', function() {});
this.route('faqs', function() {
this.route('lambda-instance', function() {
this.route('create');
this.route('start-stop');
this.route('kafka-topics');
this.route('find-master-node-hostname');
});
this.route('lambda-application', function() {
this.route('create');
this.route('run');
this.route('observe-running');
this.route('check-running');
this.route('view-results');
this.route('export-data');
});
});
});
export default Router;
......@@ -6,7 +6,7 @@
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><b>λ</b></span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"> <img src="assets/img/okeanos-ico.png" alt="Okeanos" style="margin-bottom:5px;margin-right: 3px;"><b>λambda</b>
<span class="logo-lg"> <img src="assets/img/main_header/okeanos-ico.png" alt="Okeanos" style="margin-bottom:5px;margin-right: 3px;"><b>λambda</b>
</span>
</a>
<!-- Header Navbar: style can be found in header.less -->
......@@ -26,7 +26,7 @@
<!-- sidebar menu: : style can be found in sidebar.less -->
<ul class="sidebar-menu">
<li class="header">MAIN NAVIGATION</li>
<li class={{active-treeview currentPath 'dashboard'}}>
<li class={{active-treeview currentPath 'index'}}>
{{#link-to 'index'}}
<i class="fa fa-dashboard"></i> <span>Home</span>
{{/link-to}}
......@@ -41,6 +41,11 @@
<i class="fa fa-th"></i> <span>Lambda Application</span>
{{/link-to}}
</li>
<li class={{active-treeview currentPath 'faqs'}}>
{{#link-to 'faqs'}}
<i class="fa fa-question"></i> <span>FAQ</span>
{{/link-to}}
</li>
</ul>
</section>
<!-- /.sidebar -->
......@@ -57,16 +62,16 @@
<footer class="main-footer">
<div class="row">
<div class="col-md-12">
<a href="http://europa.eu/" target="_blank" title="European Union"><img src="assets/img/european_union.png" alt="European Union" width="130"></a>
<a href="http://www.digitalplan.gov.gr/portal/" target="_blank" title="Digital Greece"><img src="assets/img/digitalgreece.png" alt="Digital Greece" width="160"></a>
<a href="http://www.espa.gr/en/Pages/Default.aspx" target="_blank" title="NSRF"><img src="assets/img/NSRF.png" alt="NSRF" width="70"></a>
<a href="http://europa.eu/" target="_blank" title="European Union"><img src="assets/img/footer/european_union.png" alt="European Union" width="130"></a>
<a href="http://www.digitalplan.gov.gr/portal/" target="_blank" title="Digital Greece"><img src="assets/img/footer/digitalgreece.png" alt="Digital Greece" width="160"></a>
<a href="http://www.espa.gr/en/Pages/Default.aspx" target="_blank" title="NSRF"><img src="assets/img/footer/NSRF.png" alt="NSRF" width="70"></a>
</div>
</div>
<div class="row">
<div class="col-md-12">
The project is co-financed by Greece and the European Union.
<div class="pull-right ">
<a href="http://okeanos.grnet.gr/" target="_blank" title="Okeanos Project"><img src="assets/img/okeanos_logo_powered_by.svg" alt="Okeanos" width="130"></a>
<a href="http://okeanos.grnet.gr/" target="_blank" title="Okeanos Project"><img src="assets/img/footer/okeanos_logo_powered_by.svg" alt="Okeanos" width="130"></a>
</div>
</div>
</div>
......
<div class="row">
<div class="col-xs-12">
<div class="box box-warning">
<div class="box-header with-border">
<h3 class="box-title">Questions and answers about Lambda Applications</h3>
<div class="box-tools pull-right">
<button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
<button class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button>
</div>
</div><!-- /.box-header -->
<div class="box-body no-padding">
<div class="row">
<div class="col-md-12">
<div class="pad"> You may find information about how to deploy, run and manage your Lambda Applications
</div>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.box-body -->
</div><!--box box-primary-->
</div><!--col-xs-12-->
</div><!--row -->
<div class="row" >
<div class="col-md-4">
<!-- DIRECT CHAT DANGER -->
<div class="box box-success ">
<div class="box-header with-border">
<h3 class="box-title">
<span class="label label-warning"><i class="fa fa-th"></i></span>
How to create my own Application</h3>
</div><!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!-- Conversations are loaded here -->
Follow the steps described in this section to create your own Application
</div><!--col-->
</div><!--row-->
<div class="row">
<div class="col-md-3 pull-right">
{{#link-to 'faqs.lambda-application.create'}}
<i class="btn-sm btn-success ">More</i>
{{/link-to}}
</div><!--col-->
</div><!--row-->
</div><!--class="box-body"-->
</div> <!--box-->
</div><!--col-md-3 -->
<div class="col-md-4">
<!-- DIRECT CHAT DANGER -->
<div class="box box-success ">
<div class="box-header with-border">
<h3 class="box-title">
<span class="label label-warning"><i class="fa fa-th"></i></span>
How to run my Application</h3>
</div><!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!-- Conversations are loaded here -->
Follow the steps described in this section to run your own Application
</div><!--col-->
</div><!--row-->
<div class="row">
<div class="col-md-3 pull-right">
{{#link-to 'faqs.lambda-application.run'}}
<i class="btn-sm btn-success ">More</i>
{{/link-to}}
</div><!--col-->
</div><!--row-->
</div><!--class="box-body"-->
</div> <!--box-->
</div><!--col-md-3 -->
<div class="col-md-4">
<!-- DIRECT CHAT DANGER -->
<div class="box box-success ">
<div class="box-header with-border">
<h3 class="box-title">
<span class="label label-warning"><i class="fa fa-th"></i></span>
How to observe my running Application</h3>
</div><!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!-- Conversations are loaded here -->
Follow the steps described in this section to observe your running Application
</div><!--col-->
</div><!--row-->
<div class="row">
<div class="col-md-3 pull-right">
{{#link-to 'faqs.lambda-application.observe-running'}}
<i class="btn-sm btn-success ">More</i>
{{/link-to}}
</div><!--col-->
</div><!--row-->
</div><!--class="box-body"-->
</div> <!--box-->
</div><!--col-md-3 -->
</div> <!--row-->
<div class="row" >
<div class="col-md-4">
<!-- DIRECT CHAT DANGER -->
<div class="box box-success ">
<div class="box-header with-border">
<h3 class="box-title">
<span class="label label-warning"><i class="fa fa-th"></i></span>
How to view the results on my Application</h3>
</div><!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!-- Conversations are loaded here -->
Follow the steps described in this section to view the results of your Application
</div><!--col-->
</div><!--row-->
<div class="row">
<div class="col-md-3 pull-right">
{{#link-to 'faqs.lambda-application.view-results'}}
<i class="btn-sm btn-success ">More</i>
{{/link-to}}
</div><!--col-->
</div><!--row-->
</div><!--class="box-body"-->
</div> <!--box-->
</div><!--col-md-3 -->
<div class="col-md-4">
<!-- DIRECT CHAT DANGER -->
<div class="box box-success ">
<div class="box-header with-border">
<h3 class="box-title">
<span class="label label-warning"><i class="fa fa-th"></i></span>
How to export my master dataset</h3>
</div><!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!-- Conversations are loaded here -->
Follow the steps described in this section to export your master dataset
</div><!--col-->
</div><!--row-->
<div class="row">
<div class="col-md-3 pull-right">
{{#link-to 'faqs.lambda-application.export-data'}}
<i class="btn-sm btn-success ">More</i>
{{/link-to}}
</div><!--col-->
</div><!--row-->
</div><!--class="box-body"-->
</div> <!--box-->
</div><!--col-md-3 -->
<div class="col-md-4">
<!-- DIRECT CHAT DANGER -->
<div class="box box-success ">
<div class="box-header with-border">
<h3 class="box-title">
<span class="label label-warning"><i class="fa fa-th"></i></span>
How to check if my Application is running</h3>
</div><!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!-- Conversations are loaded here -->
Follow the steps described in this section to check if your Application is running
</div><!--col-->
</div><!--row-->
<div class="row">
<div class="col-md-3 pull-right">
{{#link-to 'faqs.lambda-application.check-running'}}
<i class="btn-sm btn-success ">More</i>
{{/link-to}}
</div><!--col-->
</div><!--row-->
</div><!--class="box-body"-->
</div> <!--box-->
</div><!--col-md-3 -->
</div> <!--row-->
<div class="row">
<div class="col-xs-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Questions and answers about Lambda Instances</h3>
<div class="box-tools pull-right">
<button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
<button class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button>
</div>
</div><!-- /.box-header -->
<div class="box-body no-padding">
<div class="row">
<div class="col-md-12">
<div class="pad"> You may find information about how to deploy, run and manage your Lambda Instances
</div>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.box-body -->
</div><!--box box-primary-->
</div><!--col-xs-12-->
</div><!--row -->
<div class="row" >
<div class="col-md-4">
<!-- DIRECT CHAT DANGER -->
<div class="box box-success ">
<div class="box-header with-border">
<h3 class="box-title">
<span class="label label-primary"><i class="fa fa-laptop"></i></span>
How to create my Lambda Instance</h3>
</div><!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!-- Conversations are loaded here -->
Follow the steps described in this section to create your Lambda Instance
</div><!--col-->
</div><!--row-->
<div class="row">
<div class="col-md-3 pull-right">
{{#link-to 'faqs.lambda-instance.create'}}
<i class="btn-sm btn-success ">More</i>
{{/link-to}}
</div><!--col-->
</div><!--row-->
</div><!--class="box-body"-->
</div> <!--box-->
</div><!--col-md-3 -->
<div class="col-md-4">
<!-- DIRECT CHAT DANGER -->
<div class="box box-success ">
<div class="box-header with-border">
<h3 class="box-title">
<span class="label label-primary"><i class="fa fa-laptop"></i></span>
How to start/stop my Lambda Instance</h3>
</div><!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!-- Conversations are loaded here -->
Follow the steps described in this section to start/stop your Lambda Instance
</div><!--col-->
</div><!--row-->
<div class="row">
<div class="col-md-3 pull-right">
{{#link-to 'faqs.lambda-instance.start-stop'}}
<i class="btn-sm btn-success ">More</i>
{{/link-to}}
</div><!--col-->
</div><!--row-->
</div><!--class="box-body"-->
</div> <!--box-->
</div><!--col-md-3 -->
<div class="col-md-4">
<!-- DIRECT CHAT DANGER -->
<div class="box box-success ">
<div class="box-header with-border">
<h3 class="box-title">
<span class="label label-primary"><i class="fa fa-laptop"></i></span>
What are Kafka topics and how do I use them</h3>
</div><!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!-- Conversations are loaded here -->
Follow the steps described in this section to learn more about the Kafka topics
</div><!--col-->
</div><!--row-->
<div class="row">
<div class="col-md-3 pull-right">
{{#link-to 'faqs.lambda-instance.kafka-topics'}}
<i class="btn-sm btn-success ">More</i>
{{/link-to}}
</div><!--col-->
</div><!--row-->
</div><!--class="box-body"-->
</div> <!--box-->
</div><!--col-md-3 -->
</div> <!--row-->
<div class="row" >
<div class="col-md-4">
<!-- DIRECT CHAT DANGER -->
<div class="box box-success ">
<div class="box-header with-border">
<h3 class="box-title">
<span class="label label-primary"><i class="fa fa-laptop"></i></span>
How to find the hostname of the Master Node</h3>
</div><!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!-- Conversations are loaded here -->
Follow the steps described in this section to find the hostname of the Master Node of a Lambda Instance
</div><!--col-->
</div><!--row-->
<div class="row">
<div class="col-md-3 pull-right">
{{#link-to 'faqs.lambda-instance.find-master-node-hostname'}}
<i class="btn-sm btn-success ">More</i>
{{/link-to}}
</div><!--col-->
</div><!--row-->
</div><!--class="box-body"-->
</div> <!--box-->
</div><!--col-md-3 -->
</div> <!--row-->
<h3>Lambda Instance Creation</h3>
<p>This guide assumes you already have a LoD service VM up and running. If not, please read {{#link-to 'index'}}this{{/link-to}} guide on how to create a LoD service VM. You can create a Lambda Instance through the control panel of the LoD service VM. The images below will guide you step by step in the creation of your Lambda Instance.</p>
<div class="row margin-bottom">
<div class="col-sm-6">
<div class="row margin-bottom">
<div class="col-sm-3">
<a href="#" data-toggle="modal" data-target="#LoginPage">
<img class="img-responsive" src="assets/img/faqs/login-sm.png" alt="Photo" >
</a>
<p class="text-center">Step 1</p>
</div>
<div class="col-sm-1 text-center">
<span class="fa fa-arrow-right"></span>
</div>
<div class="col-sm-3">
<a href="#" data-toggle="modal" data-target="#createStep2">
<img class="img-responsive" src="assets/img/faqs/lambda-instance/create-sm.png" alt="Photo">
</a>
<p class="text-center">Step 2</p>
</div>
<div class="col-sm-1 text-center">
<span class="fa fa-arrow-right"></span>
</div>
<div class="col-sm-3">
<a href="#" data-toggle="modal" data-target="#createStep3">
<img class="img-responsive" src="assets/img/faqs/lambda-instance/create/step3-sm.png" alt="Photo">
</a>
<p class="text-center">Step 3</p>
</div>
</div>
<div class="row ">
<div class="col-sm-12 col-md-offset-9">
<span class="fa fa-arrow-down"></span>
</div>
</div>
<div class="row ">
<div class="col-sm-3 col-md-offset-4">
<a href="#" data-toggle="modal" data-target="#createStep5">
<img class="img-responsive" src="assets/img/faqs/lambda-instance/create/step5-sm.png" alt="Photo" >
</a>
<p class="text-center">Step 5</p>
</div>
<div class="col-sm-1 text-center">
<span class="fa fa-arrow-left"></span>
</div>
<div class="col-sm-3">
<a href="#" data-toggle="modal" data-target="#createStep4">
<img class="img-responsive" src="assets/img/faqs/lambda-instance/create/step4-sm.png" alt="Photo" >
</a>
<p class="text-center">Step 4</p>
</div>
</div>
</div>
</div><!-- /.col -->
<div class="row">
<div class="col-md-12">
<ol>
<li>Log into the LoD service VM dashboard using your ~okeanos token (you can find your ~okeanos token <a href="https://accounts.okeanos.grnet.gr/ui/api_access">here</a>)</li>
<li>On the sidebar, select "Instances"</li>
<li>On the main window click the button "Create New Instance"</li>
<li>Fill in your new Lambda Instance details in the form provided and click "Submit" when ready (all fields marked with * are mandatory)</li>
<li>Notice the status of your new Lambda Instance while it is being deployed and configured</li>
</ol>
<p><strong>At the end your Lambda Instance will be ready to use.</strong></p>
<p>If something goes wrong you will be informed with an appropriate error message.</p>
<p>You should be able to see the new VMs that have been utilized for the Lambda on Demand Service <a href="https://cyclades.okeanos.grnet.gr/ui/">on the Cyclades web interface on ~okeanos.</a></p>
</div>
</div>
<!-- MODALS START -->
<!-- modal login -->
<div class="modal fade" id="LoginPage" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Step 1</h4>
</div>
<div class="modal-body">
<img class="img-responsive" src="assets/img/faqs/login.png" alt="Photo" >
</div>
<div class="modal-footer">
Log into the LoD service VM dashboard using your ~okeanos token
</div>
</div>
</div>
</div>
<!-- modal login end-->
<!-- modal step2-->
<div class="modal fade" id="createStep2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Step 2</h4>
</div>
<div class="modal-body">
<img class="img-responsive" src="assets/img/faqs/create.png" alt="Photo" >
</div>
<div class="modal-footer">
On the sidebar, select "Instances"
</div>
</div> <!--<div class="modal-content">-->
</div><!--<div class="modal-dialog"-->
</div><!--<div class="modal fade" -->
<!--- modal step3 -->
<div class="modal fade" id="createStep3" tabindex="-1" role="dialog" aria-labelledby="createStep3">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="createStep3">Step 3</h4>
</div>