From: Yasin Date: Tue, 16 Sep 2014 13:46:27 +0000 (+0200) Subject: manual delegation doc added to the portal X-Git-Tag: myslice-1.2~1^2~31 X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=commitdiff_plain;h=13da78a3a067fa976585ce56b85362df82211a61 manual delegation doc added to the portal --- diff --git a/portal/manualdelegationview.py b/portal/manualdelegationview.py new file mode 100644 index 00000000..3560a92e --- /dev/null +++ b/portal/manualdelegationview.py @@ -0,0 +1,23 @@ +# this somehow is not used anymore - should it not be ? +from django.core.context_processors import csrf +from django.http import HttpResponseRedirect +from django.contrib.auth import authenticate, login, logout +from django.template import RequestContext +from django.shortcuts import render_to_response +from django.shortcuts import render + +from unfold.loginrequired import FreeAccessView + +from manifoldapi.manifoldresult import ManifoldResult +from ui.topmenu import topmenu_items, the_user +from myslice.configengine import ConfigEngine + +from myslice.theme import ThemeView + +class ManualDelegationView (FreeAccessView, ThemeView): + template_name = 'manual-delegation.html' + + def get (self, request, state=None): + + return render_to_response(self.template, { 'theme' : self.theme }, context_instance=RequestContext(request)) + diff --git a/portal/templates/manual-delegation.html b/portal/templates/manual-delegation.html new file mode 100644 index 00000000..fe9b1bb5 --- /dev/null +++ b/portal/templates/manual-delegation.html @@ -0,0 +1,103 @@ +{% extends "layout.html" %} + +{% block content %} + +
+
+

Manual Delegation

+

Install SFA

+ +

+ In order to delegate your credentials to the OneLab portal, you need to install SFA tools.
+

+

+ Requirement: python 2.7 +

+

For Mac and Linux

+

+ $ sudo easy_install pip
+ $ sudo pip install sfa +

+

For Windows

+

+ $ python get-pip.py
+ $ pip install sfa +

+ +

+ To get more information about pip, please visit: https://pip.pypa.io/en/latest/installing.html +

+

+ More details about SFA is available at the following address: + Installing SFA +

+ +

Configuring SFA

+ +

+ Once SFA tools are successfully installed, you need to configure the SFA client aka SFI +

+

+ $ mkdir ~/.sfi
+ $ cd ~/.sfi
+ $ cp ~/.ssh/id_rsa ~/.sfi/user-hrn.pkey +

+ +

+ Here, 'user-hrn' is your SFA hrn. If e.g., your OneLab account email is mohammed-yasin.rahman at upmc.fr, then your user-hrn is 'onelab.upmc.mohammed-yasin_rahman'.

+

+ In this example, a user-hrn is built using the root authority i.e, 'onelab' followed by a '.' then the sub authority i.e., 'upmc' + followed by a '.' and then the last fragment in the hrn is made of the local part of your email adress i.e., 'mohammed-yasin_rahman' + (with dots replaced with underscores). +

+ +

+ Next, you will setup your ~/.sfi/sfi_config. The following represents the sfi_config file for a OneLab user: +

+ +

+ [sfi]
+ auth = onelab.upmc
+ user = onelab.upmc.mohammed-yasin_rahman
+ registry = http://portal.onelab.eu:12345/
+ sm = http://sfa3.planet-lab.eu:12346/
+
+ [sface] +

+ +

+ Here again, 'user' is your user-hrn, and 'auth' is the authority that you belong to, in most cases you should just drop the last part of your hrn. +

+

+ Add the the following to sfi_config for delegating credentials to OneLab portal: +

+

+ [myslice]
+
+ backend = http://portal.onelab.eu:7080
+ delegate = onelab.myslice
+ platform = myslice
+ username = [OneLab portal's username] e.g., mohammed-yasin.rahman@lip6.fr +

+

+ Test the SFA layer: +

+

+ $ sfi.py version +

+

+ And finally delegate your credentials to the portal +

+

+ $ sfi.py myslice +

+

+ The complete tutorial is available at the following address: + http://trac.myslice.info/wiki/InstallSfa +

+ +
+ +
+{% endblock %} + diff --git a/portal/urls.py b/portal/urls.py index 8bcdaf24..907267c4 100644 --- a/portal/urls.py +++ b/portal/urls.py @@ -44,6 +44,7 @@ from portal.validationview import ValidatePendingView #from portal.experimentview import ExperimentView from portal.termsview import TermsView from portal.univbrisview import UnivbrisView +from portal.manualdelegationview import ManualDelegationView from portal.servicedirectory import ServiceDirectoryView @@ -94,6 +95,7 @@ urlpatterns = patterns('', # Slice request url(r'^slice_request/?$', SliceRequestView.as_view(), name='slice_request'), url(r'^terms/?$', TermsView.as_view(), name='terms'), + url(r'^manual_delegation/?$', ManualDelegationView.as_view(), name='manual_delegation'), # Validate pending requests url(r'^validate/?$', ValidatePendingView.as_view()), # http://stackoverflow.com/questions/2360179/django-urls-how-to-pass-a-list-of-items-via-clean-urls